How to Install FreshRSS on Ubuntu Server Latest

In this tutorial, we will show you how to install FreshRSS on Ubuntu Server latest using the command-line interface.

Prerequisites

Before proceeding with the installation, make sure you have the following prerequisites:

  • Ubuntu Server latest version installed.
  • Access to the command-line interface with sudo privileges.

Step 1: Update system packages

Before installing any software, it's always a good practice to update the system packages to their latest version:

sudo apt update
sudo apt upgrade

Step 2: Install required packages

FreshRSS requires some dependencies to work correctly. We'll install them first:

sudo apt-get install apache2 mariadb-server php php-curl php-dom php-gd php-json php-mbstring php-mysqli php-xml php-zip -y

Step 3: Install FreshRSS

Now, let's download the latest version of FreshRSS from its official website. Before downloading, navigate to /var/www directory:

cd /var/www/

Then use wget command to download the FreshRSS package.

sudo wget https://github.com/FreshRSS/FreshRSS/releases/latest/download/FreshRSS-Portable.tar.gz

After downloading, extract the downloaded file using the following command:

sudo tar -xzf FreshRSS-Portable.tar.gz

Once extracted, use the mv command to change the directory name for easier access:

sudo mv FreshRSS-Portable freshrss

Step 4: Configure the database

FreshRSS needs a database to function correctly. Before proceeding, we need to log in to MySQL using sudo mysql. Once we login, create the database for FreshRSS using the following commands:

CREATE DATABASE freshrss;
CREATE USER 'freshrss'@'localhost' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

The password can be changed to whatever you prefer.

Step 5: Configure FreshRSS

Navigate to the FreshRSS directory using the following command:

cd /var/www/freshrss

Copy .env.dist file to .env file:

sudo cp .env.dist .env

Edit the .env file to match your setup:

sudo nano .env

Modify lines that look like:

DB_HOST=localhost
DB_PORT=3306
DB_NAME=freshrss
DB_USER=freshrss
DB_PASS=password

Replace password with the password you set in step 4.

Finally, run the following command to set the correct permissions:

sudo chown -R www-data:www-data /var/www/freshrss

Step 6: Configure Apache

Create an Apache VirtualHost configuration file for FreshRSS using the following command:

sudo nano /etc/apache2/sites-available/freshrss.conf

Add the following lines to the file:

<VirtualHost *:80> 
   ServerAdmin [email protected]
   DocumentRoot /var/www/freshrss
   ServerName example.com
   ServerAlias www.example.com
   <Directory /var/www/freshrss/>
       Options FollowSymLinks
       AllowOverride All
       Require all granted
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/freshrss_error.log
   CustomLog ${APACHE_LOG_DIR}/freshrss_access.log combined
</VirtualHost>

Replace [email protected] and example.com with your own email address and domain name.

Enable the new VirtualHost configuration:

sudo a2ensite freshrss.conf

Disable the default Apache configuration:

sudo a2dissite 000-default.conf

Restart Apache for the changes to take effect:

sudo systemctl restart apache2

Step 7: Access FreshRSS

You can now access FreshRSS using a web browser by navigating to the following URL:

http://example.com

Replace example.com with your own domain name.

Conclusion

You have successfully installed FreshRSS on Ubuntu Server latest. You can now use FreshRSS to read and manage RSS feeds.