Hur man installerar Selfoss RSS Reader på en CentOS 7 LAMP VPS

Selfoss RSS Reader är en gratis och öppen källkod, webbaserad multifunktionell, livestream, mashup, nyhetsflödesläsare (RSS/Atom) och universell aggregator. Selfoss RSS Reader har OPML-import, en vilsam JSON API och dess öppna plug-in-system gör att du enkelt kan utöka standardfunktionaliteten genom att skriva dina egna anpassade dataanslutningar. Du kan använda Selfoss för att livestreama och samla alla dina inlägg, tweets, poddsändningar och flöden på en central plats som du enkelt kan komma åt från vilken stationär eller mobil enhet som helst.

I den här handledningen kommer vi att installera Selfoss RSS Reader 2.17 på en CentOS 7 LAMP VPS med hjälp av Apache-webbserver, PHP 7.1 och en MariaDB-databas.

Förutsättningar

  • En ren Vultr CentOS 7-serverinstans med SSH-åtkomst

Steg 1: Lägg till en Sudo-användare

Vi börjar med att lägga till en ny sudoanvändare.

Logga först in på din server som root:

ssh root@YOUR_VULTR_IP_ADDRESS

Lägg till en ny användare som heter user1(eller ditt föredragna användarnamn):

useradd user1

Ställ sedan in lösenordet för user1användaren:

passwd user1

När du uppmanas, ange ett säkert och minnesvärt lösenord.

Kontrollera nu /etc/sudoersfilen för att se till att sudoersgruppen är aktiverad:

visudo

Leta efter ett avsnitt så här:

%wheel        ALL=(ALL)       ALL

Den här raden talar om för oss att användare som är medlemmar i wheelgruppen kan använda sudokommandot för att få rootprivilegier. Den kommer att vara okommenterad som standard så du kan helt enkelt avsluta filen.

Därefter måste vi lägga user1till i wheelgruppen:

usermod -aG wheel user1

Vi kan verifiera user1gruppmedlemskapet och kontrollera att usermodkommandot fungerade med groupskommandot:

groups user1

Använd nu sukommandot för att byta till det nya sudo användarkontot user1:

su - user1

Kommandotolken uppdateras för att indikera att du nu är inloggad på user1kontot. Du kan verifiera detta med whoamikommandot:

whoami

Starta nu om sshdtjänsten så att du kan logga in via sshmed det nya icke-root sudo användarkontot som du just har skapat:

sudo systemctl restart sshd

Avsluta user1kontot:

exit

Avsluta rootkontot (vilket kommer att koppla bort din sshsession):

exit

Du kan nu gå sshin i serverinstansen från din lokala värd med det nya sudo-användarkontot som inte är root user1:

ssh user1@YOUR_VULTR_IP_ADDRESS

Om du vill köra sudo utan att behöva skriva ett lösenord varje gång, öppna sedan /etc/sudoersfilen igen med visudo:

sudo visudo

Redigera avsnittet för wheelgruppen så att det ser ut så här:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Observera: Att inaktivera lösenordskravet för sudo-användaren är inte en rekommenderad praxis, men det ingår här eftersom det kan göra serverkonfigurationen mycket bekvämare och mindre frustrerande, särskilt under längre systemadministrationssessioner. Om du är orolig över säkerhetskonsekvenserna kan du alltid återställa konfigurationsändringen till originalet efter att du har avslutat dina administrationsuppgifter.

När du vill logga in på rootanvändarkontot från sudoanvändarkontot kan du använda något av följande kommandon:

sudo -i
sudo su -

Du kan avsluta rootkontot och återgå till ditt sudoanvändarkonto när som helst:

exit

Steg 2: Uppdatera CentOS 7 System

Innan vi installerar några paket på CentOS-serverinstansen kommer vi först att uppdatera systemet.

Se till att du är inloggad på servern med en icke-root sudo-användare och kör följande kommando:

sudo yum -y update

Steg 3: Installera Apache Web Server

Installera Apache-webbservern:

sudo yum -y install httpd

Använd sedan systemctlkommandot för att starta och aktivera Apache att köras automatiskt vid uppstart:

sudo systemctl enable httpd
sudo systemctl start httpd

Kontrollera din Apache-konfigurationsfil för att säkerställa att DocumentRootdirektivet pekar till rätt katalog:

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

Det DocumentRootalternativet konfigurationen ser ut så här:

DocumentRoot "/var/www/html"

Låt oss nu se till att mod_rewriteApache-modulen är laddad. Vi kan göra detta genom att söka i Apache-basmodulernas konfigurationsfil efter termen " mod_rewrite".

Öppna filen:

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

Sök efter termen mod_rewrite.

Om mod_rewriteApache-modulen är laddad hittar du en konfigurationsrad som ser ut så här:

LoadModule rewrite_module modules/mod_rewrite.so

Om raden ovan börjar med ett semikolon måste du ta bort semikolonet för att avkommentera raden och ladda modulen. Detta gäller naturligtvis även alla andra nödvändiga Apache-moduler.

Vi behöver nu redigera Apaches standardkonfigurationsfil så att den mod_rewritefungerar korrekt med Selfoss RSS Reader.

Öppna filen:

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

Hitta sedan avsnittet som börjar med <Directory "/var/www/html">och ändra AllowOverride nonetill AllowOverride All. Slutresultatet (med alla kommentarer borttagna) kommer att se ut ungefär så här:

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

Spara och stäng nu Apache-konfigurationsfilen.

Vi kommer att starta om Apache i slutet av denna handledning, men att starta om Apache regelbundet under installation och konfiguration är verkligen en god vana, så låt oss göra det nu:

sudo systemctl restart httpd

Steg 4: Öppna webbbrandväggsportar

Vi måste nu öppna standard HTTPoch HTTPSportar eftersom de kommer att blockeras som firewalldstandard.

Öppna brandväggsportarna:

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

Ladda om brandväggen för att tillämpa ändringarna:

sudo firewall-cmd --reload

Du kommer att se ordet successvisas i din terminal efter varje lyckad brandväggskonfigurationskommando.

Vi kan snabbt verifiera att Apache- HTTPporten är öppen genom att besöka IP-adressen eller domänen för serverinstansen i en webbläsare:

http://YOUR_VULTR_IP_ADDRESS/

Du kommer att se Apaches standardwebbsida i din webbläsare.

Steg 5: Inaktivera SELinux (om aktiverat)

SELinux står för "Security Enhanced Linux". Det är en säkerhetsförbättring till Linux som ger användare och administratörer mer kontroll över åtkomstkontroll. Den är inaktiverad som standard på Vultr CentOS 7-instanser, men vi kommer att täcka stegen för att inaktivera den, ifall du inte startar från en ren installation och den tidigare var aktiverad.

För att undvika filbehörighetsproblem med Selfoss RSS Reader måste vi se till att SELinux är inaktiverat.

Låt oss först kontrollera om SELinux är aktiverat eller inaktiverat med sestatuskommandot:

sudo sestatus

Om du ser något som: SELinux status: disableddå är det definitivt inaktiverat och du kan hoppa direkt till steg 6. Om du ser något annat meddelande måste du slutföra det här avsnittet.

Öppna SELinux-konfigurationsfilen med din favoritterminalredigerare:

sudo vi /etc/selinux/config

Byt SELINUX=enforcingtill SELINUX=disabledoch spara sedan filen.

För att tillämpa konfigurationsändringen kräver SELinux en omstart av servern, så du kan antingen starta om servern med Vultr-kontrollpanelen eller så kan du helt enkelt använda shutdownkommandot:

sudo shutdown -r now

När servern startar om kommer din SSH-session att kopplas bort och du kan se ett meddelande som informerar dig om en 'broken pipe'eller 'Connection closed by remote host'. Detta är inget att oroa sig för, vänta bara i 20 sekunder eller så och sedan SSH tillbaka in igen (med ditt eget användarnamn och domän):

ssh user1@YOUR_DOMAIN

Eller (med ditt eget användarnamn och IP-adress):

ssh user1@YOUR_VULTR_IP_ADDRESS

När du har loggat in igen bör du kontrollera statusen för SELinux igen med sestatuskommandot för att se till att det är korrekt inaktiverat:

sudo sestatus

Du bör se ett meddelande som säger SELinux status: disabled. Om du ser ett meddelande som säger SELinux status: enabled(eller något liknande) måste du upprepa stegen ovan och se till att du startar om din server ordentligt.

Steg 6: Installera PHP 7.1

CentOS 7 kräver att vi lägger till en extern repo för att installera PHP 7.1, så kör följande kommando:

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

Vi kan nu installera PHP 7.1 tillsammans med alla nödvändiga PHP-moduler som krävs av Selfoss RSS Reader:

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

Steg 7: Installera MariaDB (MySQL) Server

CentOS 7 använder som standard MariaDB-databasserver, som är en förbättrad, helt öppen källkod, communityutvecklad, drop-in-ersättning för MySQL-server.

Installera MariaDB databasserver:

sudo yum -y install mariadb-server

Starta och aktivera MariaDB-servern att köra automatiskt vid uppstart:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Säkra din MariaDB-serverinstallation:

sudo mysql_secure_installation

Det rootlösenord vara tomt, så enkelt tryck enter när du uppmanas för rootlösenord.

När du uppmanas att skapa en MariaDB/MySQL- rootanvändare, välj "Y" (för ja) och ange sedan ett säkert rootlösenord. Svara helt enkelt "Y" på alla andra ja/nej-frågor eftersom standardförslagen är de säkraste alternativen.

Steg 8: Skapa databas för Selfoss RSS Reader

Logga in på MariaDB-skalet som MariaDB- rootanvändare genom att köra följande kommando:

sudo mysql -u root -p

För att komma åt MariaDB-kommandotolken, ange bara MariaDB- rootlösenordet när du uppmanas.

Kör följande frågor för att skapa en MariaDB-databas och databasanvändare för 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;

Du kan byta ut databasnamnet selfoss_dboch användarnamnet selfoss_usermed något mer som du vill, om du föredrar det. (Observera att den maximala standardlängden för användarnamn i MariaDB på CentOS 7 är 16 tecken). Se också till att du ersätter "UltraSecurePassword" med ett faktiskt säkert lösenord.

Steg 9: Installera Selfoss RSS Reader-filer

Ändra din nuvarande arbetskatalog till standardwebbkatalogen:

cd /var/www/html/

Om du får ett felmeddelande som säger något i stil med, 'No such file or directory'prova följande kommando:

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

Din nuvarande arbetskatalog kommer nu att vara: /var/www/html/. Du kan kontrollera detta med pwdkommandot (skriv ut arbetskatalog):

pwd

Använd nu för wgetatt ladda ner installationspaketet för Selfoss RSS Reader:

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

Observera: Du bör definitivt söka efter den senaste versionen genom att besöka nedladdningssidan för Selfoss RSS Reader .

Lista den aktuella katalogen för att kontrollera att du har laddat ned filen:

ls -la

Låt oss snabbt installera unzipså att vi kan packa upp filen:

sudo yum -y install unzip

Packa upp zip-arkivet:

sudo unzip selfoss-2.17.zip

Flytta alla installationsfiler till webbrotkatalogen:

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

Ändra äganderätten till webbfilerna för att undvika eventuella behörighetsproblem:

sudo chown -R apache:apache * ./

Starta om Apache igen:

sudo systemctl restart httpd

Steg 10: Installera och kör Composer

Selfoss RSS Reader kräver att vi använder för composeratt ladda ner några plugins så låt oss installera composer:

sudo yum -y install composer

Se nu till att du är i webroot-katalogen:

cd /var/www/html

Kör kompositör med apacheanvändaren:

sudo -u apache composer install

Du kommer att se några varningsmeddelanden från composerom att inte kunna skriva till cachen, men oroa dig inte för mycket om det eftersom allt fortfarande kommer att installeras bra.

Vi är nu redo att gå vidare till det sista steget.

Steg 11: Slutför installationen av Selfoss RSS Reader

  1. Vi måste först uppdatera Selfoss RSS Reader-konfigurationsfilen config.inimed rätt databasinställningar så se till att du fortfarande är i webroot-katalogen och kopiera defaults.initill config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Öppna sedan config.inikonfigurationsfilen och lägg till följande databasvärden:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. Vi behöver nu lägga till en hash för lösenord till config.ini, men först måste vi generera den, så besök följande URL i din webbläsare:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    Ange sedan önskat lösenord i Passwordfältet och klicka på Generate.

    Kopiera helt enkelt det resulterande hashvärdet till lösenordsalternativet i config.inifilen så att lösenordsavsnittet nu ser ut ungefär så här:

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

    Obs: Din lösenords-hash kommer uppenbarligen att skilja sig från hashen som visas ovan och du är fri att välja ett annat användarnamn.

  4. Ta bort alla andra oredigerade alternativ från config.inifilen så att din fullständiga konfigurationsfil ser ut så här:

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

    Obs: Om du vill ändra något av defaults.inialternativen kan du helt enkelt lägga till dem i listan med alternativ ovan.

    När du är klar med att redigera konfigurationsfilen kan du spara och avsluta filen.

  5. Du kan nu logga in på Selfoss RSS Reader genom att besöka hemsidan och ange ditt användarnamn och lösenord:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. Om du vill att läsaren ska uppdatera dina flöden automatiskt (och det gör du nästan säkert), måste du redigera din crontab:

    sudo crontab -e
    

    Lägg till följande rad för att uppdatera dina flöden varje timme:

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

Om du ännu inte har konfigurerat dina Vultr DNS-inställningar kan du göra det med Vultr DNS-kontrollpanelen.

Det är också tillrådligt att konfigurera din webbplats för att använda SSL eftersom de flesta moderna webbläsare kommer att varna när webbplatser inte har SSL aktiverat och SSL-certifikat nu är tillgängliga gratis.

I vilket fall som helst är du nu fri att börja lägga till dina flöden och ytterligare anpassa din läsare, om du vill.


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer