Tiny Tiny RSS is a web-based news feed aggregator that can be installed on your own server. Clear Linux is a lightweight distribution that is optimized for performance. In this tutorial, we will guide you through the steps of installing Tiny Tiny RSS on Clear Linux Latest.
To complete this tutorial, you will need the following:
Before you start the installation, it is recommended to update the system packages to the latest version by running the following command:
sudo swupd update
Tiny Tiny RSS requires a web server to run. We will be using Nginx in this tutorial. Enter the following command to install Nginx:
sudo swupd bundle-add nginx
After installing Nginx, we will configure it to serve the Tiny Tiny RSS files. Open the Nginx configuration file at /etc/nginx/nginx.conf
with your preferred text editor.
sudo nano /etc/nginx/nginx.conf
In this file, find the http {
block and add the following lines of code inside it to create a new server block that will serve Tiny Tiny RSS:
server {
listen 80;
server_name myserver.com;
root /var/www/tt-rss;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Make sure to replace myserver.com
with your server's domain name or IP address. Save and close the file.
Restart the Nginx service for the changes to take effect:
sudo systemctl restart nginx
Tiny Tiny RSS is written in PHP, so we need to install PHP and its required extensions. Run the following command to install PHP and its extensions:
sudo swupd bundle-add php-basic php-fpm php-mysqli php-mbstring php-curl php-dom php-json php-openssl php-pdo
Tiny Tiny RSS requires a database to store feeds and user preferences. We will be using MariaDB in this tutorial. Run the following command to install MariaDB:
sudo swupd bundle-add mariadb
After installation, start the MariaDB service with the following command:
sudo systemctl start mariadb
Run the following command to run the MySQL Secure Installation script to enhance the security of your MariaDB installation:
sudo mysql_secure_installation
Follow the prompts to set up your root user password, remove anonymous users, disallow remote root login, and remove test databases.
After installing and securing MariaDB, we need to create a database and user for Tiny Tiny RSS to use. Log into the MariaDB database server with the following command:
sudo mysql -u root -p
Enter your root user password when prompted.
Create a new database for Tiny Tiny RSS by running the following command in the MariaDB shell:
CREATE DATABASE ttrssdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Create a new user that will have access to the database by running the following command:
CREATE USER 'ttrssuser'@'localhost' IDENTIFIED BY 'your_password';
Grant the user all privileges on the database by running the following command:
GRANT ALL PRIVILEGES ON ttrssdb.* TO 'ttrssuser'@'localhost';
Exit the MariaDB shell by running the following command:
exit
We can now proceed to download and install Tiny Tiny RSS. Run the following command to create a directory in the web root directory for Tiny Tiny RSS:
sudo mkdir /var/www/tt-rss
Change the ownership and file permissions of the directory to the Nginx user:
sudo chown -R nginx:nginx /var/www/tt-rss
sudo chmod -R 755 /var/www/tt-rss
Change to the /tmp
directory and download the latest version of Tiny Tiny RSS with the following command:
cd /tmp
curl -LO https://git.tt-rss.org/fox/tt-rss/archive/refs/tags/21.06.tar.gz
Extract the downloaded archive to the tt-rss
directory we created earlier with the following command:
tar -zxvf 21.06.tar.gz --strip-components=1 -C /var/www/tt-rss
Change to the tt-rss
directory and copy the configuration file:
cd /var/www/tt-rss
cp config.php-dist config.php
Edit the config.php
file and set the following variables with the database name and user credentials you created earlier:
define('DB_NAME', 'ttrssdb');
define('DB_USER', 'ttrssuser');
define('DB_PASS', 'your_password');
Save and close the file.
We need to configure PHP-FPM to work with Nginx. Open the PHP-FPM configuration file at /etc/php-fpm.d/www.conf
with your preferred text editor.
sudo nano /etc/php-fpm.d/www.conf
Change the user
and group
settings to nginx
:
user = nginx
group = nginx
Change the listen
parameter to point to the Unix socket file in the following line:
listen = /run/php-fpm.sock
Uncomment the following lines by removing the semicolon at the beginning of the line:
;listen.owner = nobody
;listen.group = nobody
Save and close the file.
Restart the PHP-FPM service for the changes to take effect:
sudo systemctl restart php-fpm
Finally, we can access Tiny Tiny RSS by visiting your server's domain name or IP address in a web browser. For example, http://myserver.com
. You will be prompted to create an admin user and configure Tiny Tiny RSS to your preferences.
Congratulations, you have successfully installed Tiny Tiny RSS on Clear Linux 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!