How to Install Tiny Tiny RSS on Arch Linux

Tiny Tiny RSS is a free and open-source news feed aggregator and reader. It is a web-based application that allows users to read and organize their RSS feeds in one place. In this tutorial, we will guide you through the installation process of Tiny Tiny RSS on Arch Linux.

Prerequisites

Before you start, make sure your system is up-to-date using the following command:

sudo pacman -Syu

Step 1 - Install Apache and PHP

Tiny Tiny RSS runs on Apache and PHP. To install Apache and PHP, run the following command:

sudo pacman -S apache php php-apache

Step 2 - Install MariaDB

Tiny Tiny RSS uses a database to store the feed data. You can use any database that PHP supports, but for this tutorial, we will be using MariaDB.

To install MariaDB, run the following command:

sudo pacman -S mariadb

Step 3 - Configure MariaDB

After installing MariaDB, you need to configure it. To start the MariaDB service, run the following command:

sudo systemctl start mariadb

Then, run the following command to secure your MariaDB installation:

sudo mysql_secure_installation

Follow the on-screen instructions to set a root password, remove anonymous users, disallow root login remotely, and remove the test database.

After securing MariaDB, you need to create a new database and user for Tiny Tiny RSS. Run the following commands to create a new database, user and grant privileges:

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE tt_rss_db;
MariaDB [(none)]> CREATE USER 'tt_rss_user'@'localhost' IDENTIFIED BY 'your_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON tt_rss_db.* TO 'tt_rss_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Replace your_password with a strong password.

Step 4 - Install Tiny Tiny RSS

To install Tiny Tiny RSS, you need to clone its Git repository. To do that, run the following command:

sudo pacman -S git
cd /var/www/html
sudo git clone https://git.tt-rss.org/fox/tt-rss.git

After cloning the repository, create a new configuration file by copying the sample configuration file:

cd tt-rss/
cp config.php-dist config.php

Next, edit the configuration file:

sudo nano 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', "fox");

And replace them with:

define('DB_TYPE', "mysql");
define('DB_HOST', "localhost");
define('DB_USER', "tt_rss_user");
define('DB_NAME', "tt_rss_db");
define('DB_PASS', "your_password");

Save and close the file.

Step 5 - Configure Apache

To configure Apache, create a new virtual host configuration file for Tiny Tiny RSS:

sudo nano /etc/httpd/conf/extra/tt-rss.conf

Add the following lines to the file:

Alias /tt-rss /var/www/html/tt-rss/
<Directory /var/www/html/tt-rss>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

Save and close the file.

Next, enable the Apache rewrite module and restart the Apache service:

sudo sed -i 's,#LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so,LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so,g' /etc/httpd/conf/httpd.conf
sudo systemctl restart httpd

Step 6 - Access Tiny Tiny RSS

Open your web browser and go to http://localhost/tt-rss/. You should see the Tiny Tiny RSS login page. Enter the default login credentials:

After logging in, it is recommended to change the admin password and configure the application according to your preferences.

Congratulations, you have now successfully installed Tiny Tiny RSS on Arch Linux.

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!