Tiny Tiny RSS is an open-source web-based news feed reader that allows you to read RSS/Atom feeds on your own server. In this tutorial, we will learn how to install Tiny Tiny RSS on Elementary OS Latest.
Before installing Tiny Tiny RSS, let's update the system to ensure that we have the latest software installed.
sudo apt update
sudo apt upgrade
To install Tiny Tiny RSS, we need to first install some required packages. Run the following command to install them:
sudo apt install nginx mariadb-server php php-mysql php-curl php-gd php-json php-mbstring php-xml php-zip
During the installation, you will be prompted to create a root password for the MariaDB. Please remember the password as we will need it later.
To install Tiny Tiny RSS, we need to first create a new database and user. Run the following command to log in to the MariaDB:
sudo mysql -u root -p
Enter the root password that you have previously created.
Now create a new database and user for Tiny Tiny RSS.
CREATE DATABASE ttrss;
GRANT ALL PRIVILEGES ON ttrss.* TO 'ttrssuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
Remember to change 'password' to a strong password.
Create a new directory that will contain the Tiny Tiny RSS installation files.
sudo mkdir /var/www/ttrss
cd /var/www/ttrss
Download the latest version of Tiny Tiny RSS from their official website.
sudo wget https://git.tt-rss.org/fox/tt-rss/archive/master.zip
Unzip the downloaded file.
sudo unzip master.zip
Rename the extracted folder to 'html'.
sudo mv tt-rss-master html
Set the file permissions.
sudo chown -R www-data:www-data /var/www/ttrss/html
sudo chmod -R 755 /var/www/ttrss/html
We need to create a new Nginx server block for Tiny Tiny RSS. Run the following command to create a new file:
sudo nano /etc/nginx/sites-available/ttrss.conf
Copy the following Nginx configuration and paste it into the file.
server {
listen 80;
listen [::]:80;
root /var/www/ttrss/html;
index index.php index.html index.htm;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
Remember to replace 'example.com' with your own domain name.
Save and close the file.
Enable the new server block by creating a symlink.
sudo ln -s /etc/nginx/sites-available/ttrss.conf /etc/nginx/sites-enabled/
Test the configuration and restart Nginx.
sudo nginx -t
sudo systemctl restart nginx
We need to configure Tiny Tiny RSS to use the database that we have created earlier. Run the following command to open the configuration file.
sudo nano /var/www/ttrss/html/config.php
Find the following lines:
define('DB_TYPE', "pgsql");
define('DB_HOST', "localhost");
define('DB_USER', "fox");
define('DB_NAME', "fox");
define('DB_PASS', "password");
Change them to the following:
define('DB_TYPE', "mysql");
define('DB_HOST', "localhost");
define('DB_USER', "ttrssuser");
define('DB_NAME', "ttrss");
define('DB_PASS', "password");
Remember to change 'password' to the password that you have created earlier.
Save and close the file.
Open your browser and go to your domain name. You should see the Tiny Tiny RSS login page.
Log in with the default username and password:
Remember to change the default password after logging in.
Congratulations! You have successfully installed Tiny Tiny RSS on Elementary OS Latest.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!