How to Install LeedRSS on POP! OS

Leed is a self-hosted RSS reader software, designed to be simple and lightweight. This tutorial will guide you through the process of installing LeedRSS on the latest version of POP! OS.

Prerequisites

Before starting the installation process, make sure you have the following requirements:

If you have all the prerequisites, let's start the installation process.

Step 1 - Download the LeedRSS Files

First, we need to download the LeedRSS files from GitHub. You can use either the git clone command or download the ZIP file directly from GitHub.

To use the git clone method, open your terminal and run the following command:

git clone https://github.com/LeedRSS/Leed.git /var/www/leed

This will clone the LeedRSS repository to the /var/www/leed directory.

Alternatively, you can download the LeedRSS ZIP file from the GitHub repository and extract it to the /var/www/leed directory.

sudo unzip /path/to/leed.zip -d /var/www/leed/

Step 2 - Install PHP Dependencies

LeedRSS is built on the PHP programming language, so we need to install the necessary PHP dependencies to run the software.

sudo apt update
sudo apt install php-fpm php-mbstring php-dom php-curl php-gd php-xml

Step 3 - Configure Nginx Server Block

Now that we have installed the necessary PHP dependencies, we need to configure Nginx to serve our LeedRSS installation.

First, create a new Nginx server block configuration file by running the following command:

sudo nano /etc/nginx/sites-available/leed

Add the following content to the file:

server {
    listen 80;
    server_name your_domain.com;
    root /var/www/leed;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~* \.(jpg|jpeg|png|gif|bmp|ico|svg|tif|tiff|css|js)$ {
        expires 365d;
    }
}

Replace your_domain.com with your domain name or server IP address.

Then, save and close the file.

Next, create a symbolic link to the newly created server block configuration file by running the following command:

sudo ln -s /etc/nginx/sites-available/leed /etc/nginx/sites-enabled/

Finally, test the Nginx configuration and restart the Nginx service:

sudo nginx -t
sudo systemctl restart nginx

Step 4 - Install and Configure MySQL Database

LeedRSS requires a MySQL database to store the user data. So we need to install and set up a MySQL database.

First, install MySQL by running the following command:

sudo apt install mysql-server

Then, run the MySQL secure installation script:

sudo mysql_secure_installation

Follow the prompts to set a MySQL root password and secure the installation.

After that, log in to the MySQL server using the root user:

sudo mysql -u root -p

Create a new MySQL database and user for LeedRSS:

CREATE DATABASE leed;
CREATE USER 'leed'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON leed.* TO 'leed'@'localhost';
FLUSH PRIVILEGES;
exit

Replace password with the desired password for the LeedRSS MySQL user.

Step 5 - Configure LeedRSS

Next, we need to configure LeedRSS to use the MySQL database we just created.

Navigate to the /var/www/leed directory and copy the config.default.php file to config.php:

cd /var/www/leed
cp config.default.php config.php

Open the config.php file using nano or your preferred text editor:

sudo nano config.php

Set the following configuration options:

define('MYSQL_HOST', 'localhost');
define('MYSQL_DBNAME', 'leed');
define('MYSQL_USER', 'leed');
define('MYSQL_PASSWORD', 'password');

Replace password with the password you set for the LeedRSS MySQL user.

Then, save and close the file.

Step 6 - Finish the Installation

Now that we have completed all the necessary configurations, run the following commands to set the correct file permissions and create an admin user for LeedRSS:

sudo chown -R www-data:www-data /var/www/leed
sudo chmod -R 755 /var/www/leed
sudo -u www-data php box.phar install
sudo -u www-data php bin/console leed:install

You will be prompted to enter the details of the admin user, including username, email, and password. Follow the prompts to complete the installation.

Finally, restart the PHP-FPM service:

sudo systemctl restart php7.4-fpm

Step 7 - Accessing LeedRSS

LeedRSS should now be installed and running on your server. To access it, visit http://your_domain.com or your server IP address in your web browser.

Log in using the admin user credentials you set up in Step 6.

Congratulations, you have successfully installed LeedRSS on your POP! OS server!

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!