Hur man installerar Selfoss RSS Reader på en Ubuntu 16.04 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 Ubuntu 16.04 LAMP VPS med Apache-webbserver, PHP 7.0 och en MariaDB-databas.

Förutsättningar

  • En ren Vultr Ubuntu 16.04-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):

adduser user1

När du uppmanas, ange ett säkert och minnesvärt lösenord. Du kommer också att bli tillfrågad om ditt "fullständiga namn" och några andra uppgifter, men du kan helt enkelt lämna dem tomma genom att trycka på Enter.

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

visudo

Leta efter ett avsnitt så här:

%sudo        ALL=(ALL:ALL)       ALL

Den här raden talar om för oss att användare som är medlemmar i sudogruppen 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 sudogruppen:

usermod -aG sudo 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 sudogruppen så att det ser ut så här:

%sudo   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 Ubuntu 16.04 System

Innan vi installerar några paket på Ubuntu-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 kommandon:

sudo apt-get update
sudo apt-get -y upgrade

Steg 3: Installera Apache Web Server

Installera Apache-webbservern:

sudo apt-get -y install apache2 

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

sudo systemctl enable apache2
sudo systemctl start apache2

Kontrollera din Apaches standardwebbplatskonfigurationsfil för att säkerställa att DocumentRootdirektivet pekar till rätt katalog:

sudo vi /etc/apache2/sites-enabled/000-default.conf 

Det DocumentRootalternativet konfigurationen ser ut så här:

DocumentRoot "/var/www/html"

Vi behöver nu aktivera mod_rewriteApache-modulen, så se till att din Apaches standardwebbplatskonfigurationsfil fortfarande är öppen, och lägg till följande DirectoryApache-direktiv precis före den avslutande </VirtualHost>taggen, så att slutet av din konfigurationsfil ser ut så här:

    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Det viktigaste direktivet som visas ovan är AllowOverride All.

Spara och avsluta nu filen och aktivera modulerna mod_rewrite, mod_authz_coreoch mod_headersApache:

sudo a2enmod rewrite authz_core headers

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 apache2

Steg 4: Installera PHP 7.0

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

sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip

Steg 5: Installera MySQL Server

Installera MySQL-databasserver:

sudo apt-get -y install mysql-server

Under MySQL-serverinstallationen, se till att du anger ett säkert lösenord för MySQL- rootanvändaren. Den här rootanvändaren skiljer sig från rootanvändaren i Ubuntu eftersom den endast används för att ansluta till din databasserver med fullständiga rättigheter.

Starta och aktivera MySQL-servern att köras automatiskt vid uppstart:

sudo systemctl enable mysql
sudo systemctl start mysql    

Säkra din MySQL-serverinstallation:

sudo mysql_secure_installation

När du uppmanas, ange lösenordet du skapade för MYSQL- rootanvändaren under installationen. Svara helt enkelt "Y" på alla andra ja/nej-frågor eftersom standardförslagen är de säkraste alternativen.

Steg 6: Skapa databas för Selfoss RSS Reader

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

sudo mysql -u root -p

För att komma åt MySQL-kommandotolken anger du helt enkelt MySQL- rootlösenordet när du uppmanas att göra det.

Kör följande frågor för att skapa en MySQL-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. Se också till att du ersätter "UltraSecurePassword" med ett faktiskt säkert lösenord.

Steg 7: 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

Ta bort index.html:

sudo rm index.html

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

sudo apt-get -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 www-data:www-data * ./

Starta om Apache igen:

sudo systemctl restart apache2

Steg 8: 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 apt-get -y install composer

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

cd /var/www/html

Kör kompositör med www-dataanvändaren:

sudo -u www-data 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 9: 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 * * * * www-data 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

Installera Cacti på Debian Jessie

Installera Cacti på Debian Jessie

Introduktion Cacti är ett övervaknings- och grafverktyg med öppen källkod som är helt baserat på RRD-data. Genom Cacti kan du övervaka nästan vilken typ av enhet som helst

Installera Lets Encrypt SSL på One-Click WordPress-appen

Installera Lets Encrypt SSL på One-Click WordPress-appen

Introduktion Lets Encrypt är en certifikatmyndighetstjänst som erbjuder gratis TLS/SSL-certifikat. Installationsprocessen förenklas av Certbot,

Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Hur man ställer in en Tekkit Classic-server på Ubuntu 16.10

Använder du ett annat system? Vad är Tekkit Classic? Tekkit Classic är ett modpack för spelet som alla känner och älskar; Minecraft. Den innehåller några av ver

Konfigurera iRedMail på Debian Wheezy

Konfigurera iRedMail på Debian Wheezy

Använder du ett annat system? Den här handledningen visar dig hur du installerar groupware iRedMail på en ny installation av Debian Wheezy. Du bör använda en serve

Hur man installerar och konfigurerar PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

Hur man installerar och konfigurerar PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

PHP och relaterade paket är de mest använda komponenterna när du distribuerar en webbserver. I den här artikeln kommer vi att lära oss hur du ställer in PHP 7.0 eller PHP 7.1 o

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

Tre gratis serverkontrollpaneler (snabbinstallation)

Tre gratis serverkontrollpaneler (snabbinstallation)

1. Virtualmin/Webmin Virtualmin är en kraftfull och flexibel kontrollpanel för webbhotell för Linux- och UNIX-system baserad på den välkända Open Source-webbasen

Konfigurera en Yii-applikation på Ubuntu 14.04

Konfigurera en Yii-applikation på Ubuntu 14.04

Yii är ett PHP-ramverk som låter dig utveckla applikationer snabbare och enklare. Att installera Yii på Ubuntu är enkelt, eftersom du kommer att lära dig exakt

Använder skärmen på Ubuntu 14.04

Använder skärmen på Ubuntu 14.04

Screen är ett program som tillåter flera terminalsessioner inom ett fönster. Detta låter dig simulera flera terminalfönster där det ma

Konfigurera din egen DNS-server på Debian/Ubuntu

Konfigurera din egen DNS-server på Debian/Ubuntu

Denna handledning förklarar hur man ställer in en DNS-server med Bind9 på Debian eller Ubuntu. Genomgående i artikeln, byt ut ditt-domännamn.com i enlighet med detta. Vid th

Använda Logrotate för att hantera loggfiler

Använda Logrotate för att hantera loggfiler

Inledning Logrotate är ett Linux-verktyg som förenklar administrationen av loggfiler. Den körs vanligtvis en gång om dagen via ett cron-jobb och hanterar loggbasen

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

Konfigurera Red5 Media Server på Ubuntu 16.04

Konfigurera Red5 Media Server på Ubuntu 16.04

Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

I den här artikeln kommer vi att se hur man kompilerar och installerar Nginx mainline från de officiella källorna för Nginx med PageSpeed-modulen, som låter dig t

Hur man installerar Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Hur man installerar Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

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 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 Vanilla Forum på Ubuntu 16.04

Hur man installerar Vanilla Forum på Ubuntu 16.04

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

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