Hvordan installere Selfoss RSS Reader på en CentOS 7 LAMP VPS

Selfoss RSS Reader er en gratis og åpen kildekode selvhostet nettbasert flerbruks, live stream, mashup, nyhetsfeed (RSS/Atom) leser og universell aggregator. Selfoss RSS Reader har OPML-import, en avslappende JSON API, og dets åpne plug-in-system lar deg enkelt utvide standardfunksjonaliteten ved å skrive dine egne tilpassede datakoblinger. Du kan bruke Selfoss til å livestreame og samle alle dine innlegg, tweets, podcaster og feeder på ett sentralt sted som du enkelt kan få tilgang til fra hvilken som helst stasjonær eller mobil enhet.

I denne opplæringen skal vi installere Selfoss RSS Reader 2.17 på en CentOS 7 LAMP VPS ved hjelp av Apache-webserver, PHP 7.1 og en MariaDB-database.

Forutsetninger

  • En ren Vultr CentOS 7-serverforekomst med SSH-tilgang

Trinn 1: Legg til en Sudo-bruker

Vi starter med å legge til en ny sudobruker.

Først logger du på serveren din som root:

ssh root@YOUR_VULTR_IP_ADDRESS

Legg til en ny bruker kalt user1(eller ditt foretrukne brukernavn):

useradd user1

Deretter setter du passordet for user1brukeren:

passwd user1

Når du blir bedt om det, skriv inn et sikkert og minneverdig passord.

Sjekk nå /etc/sudoersfilen for å forsikre deg om at sudoersgruppen er aktivert:

visudo

Se etter en del som dette:

%wheel        ALL=(ALL)       ALL

Denne linjen forteller oss at brukere som er medlemmer av wheelgruppen kan bruke sudokommandoen for å få rootprivilegier. Den vil være ukommentert som standard, slik at du ganske enkelt kan avslutte filen.

Deretter må vi legge user1til i wheelgruppen:

usermod -aG wheel user1

Vi kan bekrefte user1gruppemedlemskapet og kontrollere at usermodkommandoen fungerte med groupskommandoen:

groups user1

Bruk nå sukommandoen for å bytte til den nye sudo- user1brukerkontoen:

su - user1

Ledeteksten vil oppdateres for å indikere at du nå er logget på user1kontoen. Du kan bekrefte dette med whoamikommandoen:

whoami

Start nå sshdtjenesten på nytt slik at du kan logge på sshmed den nye ikke-root sudo-brukerkontoen du nettopp har opprettet:

sudo systemctl restart sshd

Avslutt user1kontoen:

exit

Avslutt rootkontoen (som vil koble fra sshøkten):

exit

Du kan nå gå sshinn i serverforekomsten fra din lokale vert ved å bruke den nye ikke-root sudo- user1brukerkontoen:

ssh user1@YOUR_VULTR_IP_ADDRESS

Hvis du vil kjøre sudo uten å måtte skrive inn et passord hver gang, åpner du /etc/sudoersfilen igjen ved å bruke visudo:

sudo visudo

Rediger seksjonen for wheelgruppen slik at den ser slik ut:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Vennligst merk: Deaktivering av passordkravet for sudo-brukeren er ikke en anbefalt praksis, men det er inkludert her da det kan gjøre serverkonfigurasjonen mye mer praktisk og mindre frustrerende, spesielt under lengre systemadministrasjonsøkter. Hvis du er bekymret for sikkerhetsimplikasjonene, kan du alltid tilbakestille konfigurasjonsendringen til den opprinnelige etter at du er ferdig med administrasjonsoppgavene.

Når du vil logge på rootbrukerkontoen fra sudobrukerkontoen, kan du bruke en av følgende kommandoer:

sudo -i
sudo su -

Du kan avslutte rootkontoen og gå tilbake til sudobrukerkontoen din når som helst:

exit

Trinn 2: Oppdater CentOS 7 System

Før vi installerer noen pakker på CentOS-serverforekomsten, vil vi først oppdatere systemet.

Pass på at du er logget på serveren med en ikke-root sudo-bruker og kjør følgende kommando:

sudo yum -y update

Trinn 3: Installer Apache Web Server

Installer Apache-nettserveren:

sudo yum -y install httpd

Bruk deretter systemctlkommandoen for å starte og aktivere Apache til å kjøre automatisk ved oppstart:

sudo systemctl enable httpd
sudo systemctl start httpd

Sjekk Apache-konfigurasjonsfilen din for å sikre at DocumentRootdirektivet peker til riktig katalog:

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

Den DocumentRootkonfigurasjon alternativet vil se slik ut:

DocumentRoot "/var/www/html"

La oss nå sørge for at mod_rewriteApache-modulen er lastet. Vi kan gjøre dette ved å søke i konfigurasjonsfilen for Apache-basemodulene etter begrepet " mod_rewrite".

Åpne filen:

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

Søk etter begrepet mod_rewrite.

Hvis mod_rewriteApache-modulen er lastet inn, vil du finne en konfigurasjonslinje som ser slik ut:

LoadModule rewrite_module modules/mod_rewrite.so

Hvis linjen ovenfor starter med et semikolon, må du fjerne semikolonet for å fjerne kommentaren til linjen og laste inn modulen. Dette gjelder selvfølgelig også for alle andre nødvendige Apache-moduler.

Vi må nå redigere Apaches standard konfigurasjonsfil slik at den mod_rewritefungerer riktig med Selfoss RSS Reader.

Åpne filen:

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

Finn deretter delen som begynner med <Directory "/var/www/html">og endre AllowOverride nonetil AllowOverride All. Sluttresultatet (med alle kommentarer fjernet) vil se omtrent slik ut:

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

Lagre og lukk nå Apache-konfigurasjonsfilen.

Vi vil starte Apache på nytt på slutten av denne opplæringen, men å starte Apache på nytt regelmessig under installasjon og konfigurasjon er absolutt en god vane, så la oss gjøre det nå:

sudo systemctl restart httpd

Trinn 4: Åpne nettbrannmurporter

Vi må nå åpne standard HTTPog HTTPSporter, da de vil bli blokkert som firewalldstandard.

Åpne brannmurportene:

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

Last inn brannmuren på nytt for å bruke endringene:

sudo firewall-cmd --reload

Du vil se ordet successvises i terminalen din etter hver vellykket brannmurkonfigurasjonskommando.

Vi kan raskt bekrefte at Apache- HTTPporten er åpen ved å besøke IP-adressen eller domenet til serverforekomsten i en nettleser:

http://YOUR_VULTR_IP_ADDRESS/

Du vil se standard Apache-webside i nettleseren din.

Trinn 5: Deaktiver SELinux (hvis aktivert)

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 disabled by default on Vultr CentOS 7 instances, but we will cover the steps to disable it, just in case you are not starting from a clean install and it was previously enabled.

To avoid file permission problems with Selfoss RSS Reader we need to ensure that SELinux is disabled.

First, let's check whether SELinux is enabled or disabled with the sestatus command:

sudo sestatus

If you see something like: SELinux status: disabled then it is definitely disabled and you can skip straight to Step 6. If you see any other message, then you will need to complete this section.

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 again 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

CentOS 7 requires us to add an external repo in order to install PHP 7.1, so run the following command:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

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

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd

Step 7: Install MariaDB (MySQL) Server

CentOS 7 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 yum -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. (Please note that the default maximum length for usernames in MariaDB on CentOS 7 is 16 characters). 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

Vennligst merk: Du bør definitivt se etter den nyeste versjonen ved å besøke Selfoss RSS Reader-nedlastingssiden .

List gjeldende katalog for å kontrollere at du har lastet ned filen:

ls -la

La oss raskt installere unzipslik at vi kan pakke ut filen:

sudo yum -y install unzip

Dekomprimer nå zip-arkivet:

sudo unzip selfoss-2.17.zip

Flytt alle installasjonsfilene til webrotkatalogen:

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

Endre eierskap til nettfilene for å unngå problemer med tillatelser:

sudo chown -R apache:apache * ./

Start Apache på nytt:

sudo systemctl restart httpd

Trinn 10: Installer og kjør Composer

Selfoss RSS Reader krever at vi bruker for composerå laste ned noen plugins, så la oss installere composer:

sudo yum -y install composer

Sørg nå for at du er i webroot-katalogen:

cd /var/www/html

Kjør komponist med apachebrukeren:

sudo -u apache composer install

Du vil se noen advarselsmeldinger fra composerom ikke å kunne skrive til hurtigbufferen, men ikke bekymre deg for mye om det, da alt fortsatt vil installeres helt fint.

Vi er nå klare til å gå videre til det siste trinnet.

Trinn 11: Fullfør installasjonen av Selfoss RSS Reader

  1. Vi må først oppdatere Selfoss RSS Reader-konfigurasjonsfilen config.inimed de riktige databaseinnstillingene, så sørg for at du fortsatt er i webroot-katalogen og kopier defaults.initil config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Deretter åpner du config.inikonfigurasjonsfilen og legger til følgende databaseverdier:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. Vi må nå legge til en hash for passord til config.ini, men først må vi generere den, så besøk følgende URL i nettleseren din:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    Skriv deretter inn ønsket passord i Passwordfeltet og klikk på Generate.

    Bare kopier den resulterende hash-verdien til passordalternativet i config.inifilen slik at passorddelen nå ser omtrent slik ut:

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

    Merk: Din passordhash vil åpenbart være annerledes enn hashen vist ovenfor, og du står fritt til å velge et annet brukernavn.

  4. Fjern alle de andre uredigerte alternativene fra config.inifilen slik at den komplette konfigurasjonsfilen ser ut som dette:

    [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>
    

    Merk: Hvis du vil endre noen av defaults.inialternativene, kan du ganske enkelt legge dem til i listen over alternativer ovenfor.

    Når du er ferdig med å redigere konfigurasjonsfilen, kan du lagre og avslutte filen.

  5. Du kan nå logge inn på Selfoss RSS Reader ved å gå inn på hjemmesiden og skrive inn brukernavn og passord:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. Hvis du vil at leseren skal automatisk oppdatere feedene dine (og det gjør du nesten helt sikkert), må du redigere crontab:

    sudo crontab -e
    

    Legg til følgende linje for å oppdatere feedene dine hver time:

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

Hvis du ennå ikke har konfigurert Vultr DNS-innstillingene, kan du gjøre det ved å bruke Vultr DNS-kontrollpanelet.

Det er også tilrådelig å konfigurere nettstedet ditt til å bruke SSL, da de fleste moderne nettlesere vil advare når nettsteder ikke har SSL aktivert, og SSL-sertifikater er nå tilgjengelig gratis.

Uansett er du nå fri til å begynne å legge til feedene dine og tilpasse leseren din ytterligere, hvis du ønsker det.


Leave a Comment

Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer