How to Install Selfoss RSS Reader on a Fedora 26 LAMP VPS

How to Install Selfoss RSS Reader on a Fedora 26 LAMP VPS

Selfoss RSS Reader is a free and open source self-hosted web-based multipurpose, live stream, mashup, news feed (RSS/Atom) reader and universal aggregator. Selfoss RSS Reader features OPML import, a restful JSON API, and its open plug-in system allows you to easily extend the default functionality by writing your own custom data connectors. You can use Selfoss to live stream and collect all of your posts, tweets, podcasts, and feeds in one central place that you can easily access from any desktop or mobile device.

In this tutorial, we are going to install Selfoss RSS Reader 2.17 on a Fedora 26 LAMP VPS using Apache web server, PHP 7.1, and a MariaDB database.

Prerequisites

  • A clean Vultr Fedora 26 server instance with SSH access

Step 1: Add a Sudo User

We will start by adding a new sudo user.

First, log into your server as root:

ssh root@YOUR_VULTR_IP_ADDRESS

Add a new user called user1 (or your preferred username):

useradd user1

Next, set the password for the user1 user:

passwd user1

When prompted, enter a secure and memorable password.

Now check the /etc/sudoers file to make sure that the sudoers group is enabled:

visudo

Look for a section like this:

%wheel        ALL=(ALL)       ALL

Make sure it is uncommented. This line tells us that users who are members of the wheel group can use the sudo command to gain root privileges.

Once you have edited the file, you can save and exit by pressing Esc and then entering :wq to "write" and "quit" the file.

Next we need to add user1 to the wheel group:

usermod -aG wheel user1

We can verify the user1 group membership and check that the usermod command worked with the groups command:

groups user1

Now use the su command to switch to the new sudo user user1 account:

su - user1

The command prompt will update to indicate that you are now logged into the user1 account. You can verify this with the whoami command:

whoami

Now restart the sshd service so that you can login via ssh with the new non-root sudo user account you have just created:

sudo systemctl restart sshd

Exit the user1 account:

exit

Exit the root account (which will disconnect your ssh session):

exit

You can now ssh into the server instance from your local host using the new non-root sudo user user1 account:

ssh user1@YOUR_VULTR_IP_ADDRESS

If you want to execute sudo without having to type a password every time, then open the /etc/sudoers file again, using visudo:

sudo visudo

Edit the section for the wheel group so that it looks like this:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Please note: Disabling the password requirement for the sudo user is not a recommended practice, but it is included here as it can make server configuration much more convenient and less frustrating, especially during longer systems administration sessions. If you are concerned about the security implications, you can always revert the configuration change to the original after you finish your administration tasks.

Whenever you want to log into the root user account from within the sudo user account, you can use one of the following commands:

sudo -i
sudo su -

You can exit the root account and return back to your sudo user account at any time:

exit

Step 2: Update Fedora 26 System

Before installing any packages on the Fedora server instance, we will first update the system.

Make sure you are logged in to the server using a non-root sudo user and run the following command:

sudo dnf -y update

Step 3: Install Apache Web Server

Install the Apache web server:

sudo dnf -y install httpd

Then use the systemctl command to start and enable Apache to execute automatically at boot time:

sudo systemctl enable httpd
sudo systemctl start httpd

Check your Apache configuration file to ensure that the DocumentRoot directive points to the correct directory:

sudo vi /etc/httpd/conf/httpd.conf

The DocumentRoot configuration option will look like this:

DocumentRoot "/var/www/html"

Now, let's make sure that the mod_rewrite Apache module is loaded. We can do this by searching the Apache base modules configuration file for the term "mod_rewrite".

Open the file:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

Search for the term mod_rewrite.

If the mod_rewrite Apache module is loaded, you will find a configuration line looking like this:

LoadModule rewrite_module modules/mod_rewrite.so

If the above line starts with a semi-colon, you will need to remove the semi-colon to uncomment the line and load the module. This, of course, applies to any other required Apache modules too.

We now need to edit Apache's default configuration file so that mod_rewrite will work correctly with Selfoss RSS Reader.

Open the file:

sudo vi /etc/httpd/conf/httpd.conf

Then find the section that starts with <Directory "/var/www/html"> and change AllowOverride none to AllowOverride All. The end result (with all comments removed) will look something like this:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Now save and close the Apache configuration file.

We will restart Apache at the end of this tutorial, but restarting Apache regularly during installation and configuration is certainly a good habit, so let's do it now:

sudo systemctl restart httpd

Step 4: Open Web Firewall Ports

We now need to open the default HTTP and HTTPS ports as they will be blocked by firewalld by default.

Open the firewall ports:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

Reload the firewall to apply the changes:

sudo firewall-cmd --reload

You will see the word success displayed in your terminal after each successful firewall configuration command.

We can quickly verify that the Apache HTTP port is open by visiting the IP address or domain of the server instance in a browser:

http://YOUR_VULTR_IP_ADDRESS/

You will see the default Apache web page in your browser.

Step 5: Disable SELinux

SELinux stands for "Security Enhanced Linux". It is a security enhancement to Linux which allows users and administrators more control over access control. It is enabled by default in Fedora 26, but it is definitely not essential for server security as many Linux server distributions do not ship with it installed or enabled by default.

To avoid file permission problems with Selfoss RSS Reader later down the line, we are going to disable SELinux, for now. So open the SELinux configuration file with your favourite terminal editor:

sudo vi /etc/selinux/config

Change SELINUX=enforcing to SELINUX=disabled and then save the file.

To apply the configuration change, SELinux requires a server reboot, so you can either restart the server using the Vultr control panel or you can simply use the shutdown command:

sudo shutdown -r now

When the server reboots, your SSH session will get disconnected and you may see a message informing you about a 'broken pipe' or 'Connection closed by remote host'. This is nothing to worry about, simply wait for 20 seconds or so and then SSH back in again (with your own username and domain):

ssh user1@YOUR_DOMAIN

Or (with your own username and IP address):

ssh user1@YOUR_VULTR_IP_ADDRESS

Once you have logged back in, you should check the status of SELinux with the sestatus command to make sure it is properly disabled:

sudo sestatus

You should see a message saying SELinux status: disabled. If you see a message saying SELinux status: enabled (or something similar) you will need to repeat the above steps and ensure that you properly restart your server.

Step 6: Install PHP 7.1

We can now install PHP 7.1 along with all of the necessary PHP modules required by Selfoss RSS Reader:

sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip

Step 7: Install MariaDB (MySQL) Server

Fedora 26 defaults to using MariaDB database server, which is an enhanced, fully open source, community developed, drop-in replacement for MySQL server.

Install MariaDB database server:

sudo dnf -y install mariadb-server

Start and enable MariaDB server to execute automatically at boot time:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Secure your MariaDB server installation:

sudo mysql_secure_installation

The root password will be blank, so simply hit enter when prompted for the root password.

When prompted to create a MariaDB/MySQL root user, select "Y" (for yes) and then enter a secure root password. Simply answer "Y" to all of the other yes/no questions as the default suggestions are the most secure options.

Step 8: Create Database for Selfoss RSS Reader

Log into the MariaDB shell as the MariaDB root user by running the following command:

sudo mysql -u root -p

To access the MariaDB command prompt, simply enter the MariaDB root password when prompted.

Run the following queries to create a MariaDB database and database user for Selfoss RSS Reader:

CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

You can replace the database name selfoss_db and username selfoss_user with something more to your liking, if you prefer. Also, make sure that you replace "UltraSecurePassword" with an actually secure password.

Step 9: Install Selfoss RSS Reader Files

Change your current working directory to the default web directory:

cd /var/www/html/

If you get an error message saying something like 'No such file or directory' then try the following command:

cd /var/www/ ; sudo mkdir html ; cd html

Your current working directory will now be: /var/www/html/. You can check this with the pwd (print working directory) command:

pwd

Now use wget to download the Selfoss RSS Reader installation package:

sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip

Please note: You should definitely check for the most recent version by visiting the Selfoss RSS Reader download page.

List the current directory to check that you have successfully downloaded the file:

ls -la

Let's quickly install unzip so we can unzip the file:

sudo dnf -y install unzip

Now uncompress the zip archive:

sudo unzip selfoss-2.17.zip

Move all of the installation files to the web root directory:

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null

Change ownership of the web files to avoid any permissions problems:

sudo chown -R apache:apache * ./

Restart Apache again:

sudo systemctl restart httpd

Step 10: Install and Run Composer

Selfoss RSS Reader requires us to use composer to download some plugins so let's install composer:

sudo dnf -y install composer

Now make sure you are in the webroot directory:

cd /var/www/html

Run composer using the apache user:

sudo -u apache composer install

You will see some warning messages from composer about not being able to write to the cache, but don't worry too much about that as everything will still install just fine.

We're now ready to move on to the final step.

Step 11: Complete Selfoss RSS Reader Installation

  1. We first need to update the Selfoss RSS Reader configuration file config.ini with the correct database settings so make sure you are still in the webroot directory and copy defaults.ini to config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Next, open the config.ini configuration file and add the following database values:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. We now need to add a password hash to config.ini, but first we need to generate it, so visit the following URL in your browser:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    Then enter your desired password into the Password field and click on Generate.

    Simply copy the resulting hash value to the password option in the config.ini file so the password section now looks something like this:

    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    Note: Your password hash will obviously be different to the hash shown above and you are free to choose a different username.

  4. Remove all of the other unedited options from the config.ini file so your complete configuration file looks similar to this:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=db1
    db_username=u1
    db_password=usecpass1
    db_port=3306
    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    Note: If you want to change any of the defaults.ini options, you can simply add them to the list of options above.

    When you have finished editing the configuration file, you can save and exit the file.

  5. You can now login to Selfoss RSS Reader by visiting the home page and entering your username and password:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. If you want the reader to auto-update your feeds (and you almost certainly do), you will need to edit your crontab:

    sudo crontab -e
    

    Add the following line to refresh your feeds hourly:

    0 * * * * apache cd /var/www/html && php cliupdate.php
    

If you haven't yet configured your Vultr DNS settings, you can do so using the Vultr DNS control panel.

It's also advisable to configure your site to use SSL as most modern browsers will give warnings when sites do not have SSL enabled and SSL certificates are now available for free.

In any case, you are now free to start adding your feeds and further customizing your reader, if you desire.


Kā instalēt BigTree CMS uz Fedora 26 LAMP VPS

Kā instalēt BigTree CMS uz Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? BigTree CMS 4.2 ir ātra un viegla, bezmaksas un atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS) ar plašu

Kā instalēt Koel vietnē Fedora 28

Kā instalēt Koel vietnē Fedora 28

Vai izmantojat citu sistēmu? Koel ir vienkārša tīmekļa personīgā audio straumēšanas lietotne, kas rakstīta Vue klienta pusē un Laravel servera pusē. Koe

Kā instalēt Grav CMS vietnē Fedora 28

Kā instalēt Grav CMS vietnē Fedora 28

Vai izmantojat citu sistēmu? Grav ir atvērtā koda vienotu failu CMS, kas rakstīts PHP. Grav pirmkods ir publiski mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā t

Akaunting instalēšana operētājsistēmā Fedora 28

Akaunting instalēšana operētājsistēmā Fedora 28

Vai izmantojat citu sistēmu? Akaunting ir bezmaksas atvērtā koda un tiešsaistes grāmatvedības programmatūra, kas paredzēta maziem uzņēmumiem un ārštata darbiniekiem. Tas ir veidots asprātīgi

Kā instalēt Tiny Tiny RSS lasītāju Fedora 26 LAMP VPS

Kā instalēt Tiny Tiny RSS lasītāju Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? Tiny Tiny RSS Reader ir bezmaksas un atvērtā koda pašmitināts tīmekļa ziņu plūsmas (RSS/Atom) lasītājs un apkopotājs, kas paredzēts

Kā instalēt InvoicePlane vietnē Fedora 28

Kā instalēt InvoicePlane vietnē Fedora 28

Vai izmantojat citu sistēmu? InvoicePlane ir bezmaksas un atvērtā koda rēķinu lietojumprogramma. Tās avota kodu var atrast šajā Github repozitorijā. Šis ceļvedis

Instalējiet Minecraft serveri Fedora 26

Instalējiet Minecraft serveri Fedora 26

Vai izmantojat citu sistēmu? Šajā apmācībā es jums pastāstīšu par Minecraft servera iestatīšanu augstas veiktspējas SSD VPS vietnē Vultr. Jūs iemācīsities ho

Kā kompilēt Nginx no avota vietnē Fedora 25

Kā kompilēt Nginx no avota vietnē Fedora 25

Vai izmantojat citu sistēmu? NGINX var izmantot kā HTTP/HTTPS serveri, reverso starpniekserveri, pasta starpniekserveri, slodzes balansētāju, TLS terminatoru vai kešatmiņu.

Kā instalēt Pagekit 1.0 CMS uz Fedora 26 LAMP VPS

Kā instalēt Pagekit 1.0 CMS uz Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? Pagekit 1.0 CMS ir skaista, modulāra, paplašināma un viegla, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS) ar

Kā instalēt Subrion 4.1 CMS uz Fedora 26 LAMP VPS

Kā instalēt Subrion 4.1 CMS uz Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? Subrion 4.1 CMS ir jaudīga un elastīga atvērtā pirmkoda satura pārvaldības sistēma (CMS), kas nodrošina intuitīvu un skaidru saturu.

Instalējiet TaskServer (taskd) Fedora 26

Instalējiet TaskServer (taskd) Fedora 26

Vai izmantojat citu sistēmu? TaskWarrior ir atvērtā koda laika pārvaldības rīks, kas ir lietojumprogrammas Todo.txt un tās klonu uzlabojums. Sakarā ar th

Kā instalēt CMS Made Simple 2.2 Fedora 26 LAMP VPS

Kā instalēt CMS Made Simple 2.2 Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? CMS Made Simple 2.2 ir elastīga un paplašināma, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS), kas ir inteliģenti izstrādāta, lai

Bro IDS instalēšana operētājsistēmā Fedora 25

Bro IDS instalēšana operētājsistēmā Fedora 25

Vai izmantojat citu sistēmu? Ievads Bro ir atvērtā koda tīkla trafika analizators. Tas galvenokārt ir drošības monitors, kas pārbauda visu satiksmi uz līnijas

How to Install X-Cart 5 on Fedora 31

How to Install X-Cart 5 on Fedora 31

Using a Different System? X-Cart is an extremely flexible open-source eCommerce platform with tons of features and integrations. X-Cart source code is hoste

Kā instalēt Matomo Analytics vietnē Fedora 28

Kā instalēt Matomo Analytics vietnē Fedora 28

Vai izmantojat citu sistēmu? Matomo (agrāk Piwik) ir atvērtā pirmkoda analīzes platforma, kas ir atvērta Google Analytics alternatīva. Matomo avots ir mitināts o

Kā instalēt MyBB vietnē Fedora 28

Kā instalēt MyBB vietnē Fedora 28

Vai izmantojat citu sistēmu? MyBB ir bezmaksas un atvērtā koda, intuitīva un paplašināma foruma programma. MyBB pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata būs sho

Kā instalēt un konfigurēt TaskBoard operētājsistēmā Fedora 30

Kā instalēt un konfigurēt TaskBoard operētājsistēmā Fedora 30

Vai izmantojat citu sistēmu? Ievads TaskBoard ir bezmaksas atvērtā koda rīks, ko var izmantot, lai izsekotu veicamajām lietām. Tas nodrošina

Fork CMS instalēšana operētājsistēmā Fedora 28

Fork CMS instalēšana operētājsistēmā Fedora 28

Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM

Kā instalēt LimeSurvey CE uz Fedora 28

Kā instalēt LimeSurvey CE uz Fedora 28

Vai izmantojat citu sistēmu? LimeSurvey ir atvērtā koda aptauju programma, kas rakstīta PHP. LimeSurvey pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs

Kā instalēt Backdrop CMS 1.8.0 Fedora 26 LAMP VPS

Kā instalēt Backdrop CMS 1.8.0 Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? Backdrop CMS 1.8.0 ir vienkārša un elastīga, mobilajām ierīcēm draudzīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (SPS), kas ļauj mums

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk