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:

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 admin@example.com
   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 admin@example.com 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.

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!