Selfoss RSS Reader este un cititor gratuit, cu sursă deschisă și liberă, bazat pe internet, multifuncțional, flux live, mashup, cititor de știri (RSS / Atom) și cititor universal. Selfoss RSS Reader dispune de import OPML, o API JSON odihnitoare și sistemul său de plug-in deschis vă permite să extindeți cu ușurință funcționalitatea implicită prin scrierea conectorilor dvs. de date personalizate. Puteți utiliza Selfoss pentru a transmite live stream și a colecta toate postările, tweet-urile, podcast-urile și fluxurile într-un singur loc central pe care îl puteți accesa cu ușurință de pe orice desktop sau dispozitiv mobil.
În acest tutorial, vom instala Selfoss RSS Reader 2.17 pe un VPS CentOS 7 LAMP folosind serverul web Apache, PHP 7.1 și o bază de date MariaDB.
Cerințe preliminare
- O instanță curată a serverului Vultr CentOS 7 cu acces SSH
Pasul 1: Adăugați un utilizator Sudo
Vom începe adăugând un sudoutilizator nou .
În primul rând, conectați-vă la serverul dvs. ca root:
ssh root@YOUR_VULTR_IP_ADDRESS
Adăugați un utilizator nou numit user1(sau numele de utilizator preferat):
useradd user1
Apoi, setați parola pentru user1utilizator:
passwd user1
Când vi se solicită, introduceți o parolă sigură și memorabilă.
Acum verificați /etc/sudoersfișierul pentru a vă asigura că sudoersgrupul este activat:
visudo
Caută o secțiune ca aceasta:
%wheel ALL=(ALL) ALL
Această linie ne spune că utilizatorii care sunt membri ai wheelgrupului pot utiliza sudocomanda pentru a obține rootprivilegii. Acesta va fi necomandat implicit, astfel încât să puteți ieși pur și simplu din fișier.
În continuare, trebuie să adăugăm user1la wheelgrup:
usermod -aG wheel user1
Putem verifica user1apartenența la grup și să verificăm dacă usermodcomanda a funcționat cu groupscomanda:
groups user1
Acum folosiți sucomanda pentru a comuta la noul user1cont de utilizator sudo :
su - user1
Indicatorul de comandă se va actualiza pentru a indica faptul că sunteți acum conectat la user1cont. Puteți verifica acest lucru cu whoamicomanda:
whoami
Acum reporniți sshdserviciul astfel încât să vă puteți autentifica prin sshnoul cont de utilizator sudo non-root pe care tocmai l-ați creat:
sudo systemctl restart sshd
Ieșiți din user1cont:
exit
Ieșiți din rootcont (care vă va deconecta sshsesiunea):
exit
Acum puteți sshintra în instanța serverului de la gazda locală folosind noul user1cont de utilizator sudo non-root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Dacă doriți să executați sudo fără a fi necesar să introduceți o parolă de fiecare dată, atunci deschideți din /etc/sudoersnou fișierul, folosind visudo:
sudo visudo
Editați secțiunea pentru wheelgrup astfel încât să arate astfel:
%wheel ALL=(ALL) NOPASSWD: ALL
Vă rugăm să rețineți: Dezactivarea cerinței de parolă pentru utilizatorul sudo nu este o practică recomandată, dar este inclusă aici, deoarece poate face configurația serverului mult mai convenabilă și mai puțin frustrantă, mai ales în timpul sesiunilor de administrare a sistemelor mai lungi. Dacă sunteți îngrijorat de implicațiile de securitate, puteți întoarce întotdeauna modificarea de configurare la original după ce terminați sarcinile de administrare.
Ori de câte ori doriți să vă conectați la rootcontul de utilizator din contul de sudoutilizator, puteți utiliza una dintre următoarele comenzi:
sudo -i
sudo su -
Puteți ieși din rootcont și reveni în contul dvs. de sudoutilizator oricând:
exit
Pasul 2: Actualizați sistemul CentOS 7
Înainte de a instala pachetele pe instanța serverului CentOS, vom actualiza mai întâi sistemul.
Asigurați-vă că sunteți conectat la server folosind un utilizator sudo non-root și executați următoarea comandă:
sudo yum -y update
Pasul 3: Instalați serverul web Apache
Instalați serverul web Apache:
sudo yum -y install httpd
Apoi folosiți systemctlcomanda pentru a porni și a permite executarea automată a lui Apache la momentul de pornire:
sudo systemctl enable httpd
sudo systemctl start httpd
Verificați fișierul dvs. de configurare Apache pentru a vă asigura că DocumentRootdirectiva indică directorul corect:
sudo vi /etc/httpd/conf/httpd.conf
Opțiunea de DocumentRootconfigurare va arăta astfel:
DocumentRoot "/var/www/html"
Acum, să ne asigurăm că mod_rewritemodulul Apache este încărcat. Putem face acest lucru căutând fișierul de configurare al modulelor de bază Apache pentru termenul " mod_rewrite".
Deschideți fișierul:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Căutați termenul mod_rewrite.
Dacă mod_rewritemodulul Apache este încărcat, veți găsi o linie de configurare care arată astfel:
LoadModule rewrite_module modules/mod_rewrite.so
Dacă linia de mai sus începe cu un semicolon, va trebui să eliminați semicolonul pentru a dezlipi linia și a încărca modulul. Acest lucru se aplică desigur și pentru orice alte module Apache necesare.
Acum trebuie să edităm fișierul de configurare implicit al lui Apache, astfel încât mod_rewritesă funcționeze corect cu Selfoss RSS Reader.
Deschideți fișierul:
sudo vi /etc/httpd/conf/httpd.conf
Apoi găsiți secțiunea cu care începeți <Directory "/var/www/html">și treceți AllowOverride nonela AllowOverride All. Rezultatul final (cu toate comentariile eliminate) va arăta astfel:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Acum salvați și închideți fișierul de configurare Apache.
Vom reporni Apache la sfârșitul acestui tutorial, însă repornirea regulată a lui Apache în timpul instalării și configurației este cu siguranță un obicei bun, așa că haideți să o facem acum:
sudo systemctl restart httpd
Pasul 4: Deschideți porturile firewallului web
Acum trebuie să deschidem implicit HTTPși HTTPSporturile, deoarece acestea vor fi blocate firewalldimplicit.
Deschide porturile firewall-ului:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Reîncărcați firewallul pentru a aplica modificările:
sudo firewall-cmd --reload
Veți vedea cuvântul successafișat în terminalul dvs. după fiecare comandă de configurare a firewallului de succes.
Putem verifica rapid dacă HTTPportul Apache este deschis vizitând adresa IP sau domeniul instanței instanței într-un browser:
http://YOUR_VULTR_IP_ADDRESS/
Veți vedea pagina web Apache implicită în browserul dvs.
Pasul 5: Dezactivați SELinux (dacă este activat)
SELinux reprezintă „Linux Enhanced Linux”. Este o îmbunătățire a securității pentru Linux, care permite utilizatorilor și administratorilor un control mai mare asupra controlului accesului. Acesta este dezactivat în mod implicit în instanțele Vultr CentOS 7, dar vom acoperi pașii pentru a-l dezactiva, doar în cazul în care nu porniți de la o instalare curată și a fost anterior activată.
Pentru a evita problemele de permisiune de fișiere cu Selfoss RSS Reader, trebuie să ne asigurăm că SELinux este dezactivat.
În primul rând, să verificăm dacă SELinux este activat sau dezactivat cu sestatuscomanda:
sudo sestatus
Dacă vedeți ceva de genul: SELinux status: disabledatunci este cu siguranță dezactivat și puteți sări direct la pasul 6. Dacă vedeți orice alt mesaj, va trebui să completați această secțiune.
Deschideți fișierul de configurare SELinux cu editorul de terminal preferat:
sudo vi /etc/selinux/config
Schimbarea SELINUX=enforcingla SELINUX=disabledși apoi salvați fișierul.
Pentru a aplica modificarea de configurare, SELinux necesită o repornire a serverului, astfel încât puteți reporni serverul folosind panoul de control Vultr sau puteți utiliza pur și simplu shutdowncomanda:
sudo shutdown -r now
Când serverul repornește, sesiunea SSH va fi deconectată și este posibil să vedeți un mesaj care vă informează despre un 'broken pipe'sau 'Connection closed by remote host'. Nu este de ce să vă faceți griji, pur și simplu așteptați 20 de secunde și apoi SSH din nou înapoi (cu propriul nume de utilizator și domeniu):
ssh user1@YOUR_DOMAIN
Sau (cu propriul nume de utilizator și adresa IP):
ssh user1@YOUR_VULTR_IP_ADDRESS
După ce v-ați autentificat, ar trebui să verificați din nou starea SELinux cu sestatuscomanda pentru a vă asigura că este dezactivat corespunzător:
sudo sestatus
Ar trebui să vezi un mesaj care spune SELinux status: disabled. Dacă vedeți un mesaj care spune SELinux status: enabled(sau ceva similar) va trebui să repetați pașii de mai sus și să vă asigurați că reporniți corect serverul.
Pasul 6: Instalează PHP 7.1
CentOS 7 necesită să adăugăm un repo extern pentru a instala PHP 7.1, deci executați următoarea comandă:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Acum putem instala PHP 7.1 împreună cu toate modulele PHP necesare de Selfoss RSS Reader:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Pasul 7: Instalează serverul MariaDB (MySQL)
CentOS 7 implicit utilizează serverul de baze de date MariaDB, care este o sursă îmbunătățită, complet deschisă, dezvoltată de comunitate, înlocuire drop-in pentru serverul MySQL.
Instalați serverul de baze de date MariaDB:
sudo yum -y install mariadb-server
Porniți și permiteți executarea automată a serverului MariaDB la momentul de pornire:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Asigurați-vă instalarea serverului MariaDB:
sudo mysql_secure_installation
rootParola va fi gol, astfel încât pur și simplu să apăsați enter când vi se cere rootparola.
Când vi se solicită să creați un utilizator MariaDB / MySQL root, selectați „Y” (pentru da) și apoi introduceți o rootparolă sigură . Pur și simplu răspundeți „Y” la toate celelalte întrebări da / nu, deoarece sugestiile implicite sunt cele mai sigure opțiuni.
Conectați-vă la shell-ul MariaDB ca rootutilizator MariaDB rulând următoarea comandă:
sudo mysql -u root -p
Pentru a accesa promptul de comandă MariaDB, introduceți rootparola MariaDB atunci când vi se solicită.
Executați următoarele întrebări pentru a crea o bază de date MariaDB și un utilizator de bază de date pentru 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;
Puteți înlocui numele bazei de date selfoss_dbși numele de utilizator selfoss_usercu ceva mai mult pe gustul dvs., dacă doriți. (Rețineți că lungimea maximă implicită pentru numele de utilizator în MariaDB pe CentOS 7 este de 16 caractere). De asemenea, asigurați-vă că înlocuiți „UltraSecurePassword” cu o parolă de siguranță.
Modificați directorul de lucru curent în directorul web implicit:
cd /var/www/html/
Dacă primiți un mesaj de eroare spunând ceva de genul 'No such file or directory'acesta, încercați următoarea comandă:
cd /var/www/ ; sudo mkdir html ; cd html
Directorul curent va fi acum: /var/www/html/. Puteți verifica acest lucru cu comanda pwd(imprimare director de lucru):
pwd
Acum folosiți wgetpentru a descărca pachetul de instalare Selfoss RSS Reader:
sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip
Vă rugăm să rețineți: cu siguranță, ar trebui să verificați cea mai recentă versiune accesând pagina de descărcare Selfoss RSS Reader .
Enumerați directorul curent pentru a verifica dacă ați descărcat cu succes fișierul:
ls -la
Să instalăm rapid, unzipastfel încât să putem dezarhiva fișierul:
sudo yum -y install unzip
Acum decomprimează arhiva zip:
sudo unzip selfoss-2.17.zip
Mutați toate fișierele de instalare în directorul rădăcină web:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null
Modificați proprietatea asupra fișierelor web pentru a evita orice probleme de permisiune:
sudo chown -R apache:apache * ./
Reporniți Apache din nou:
sudo systemctl restart httpd
Pasul 10: Instalați și executați Compozitor
Selfoss RSS Reader ne solicită să folosim composerpentru a descărca unele plugin-uri, așa că să instalăm composer:
sudo yum -y install composer
Acum asigurați-vă că vă aflați în directorul webroot:
cd /var/www/html
Rulați compozitor folosind apacheutilizatorul:
sudo -u apache composer install
Veți vedea câteva mesaje de avertizare composerdespre faptul că nu puteți scrie în cache, dar nu vă faceți griji prea mult despre asta, deoarece totul se va instala încă bine.
Acum suntem gata să trecem la ultimul pas.
-
Mai întâi trebuie să actualizăm fișierul de configurare Selfoss RSS Reader config.inicu setările corecte ale bazei de date, astfel încât să vă asigurați că sunteți încă în directorul webroot și defaults.inisă copiați pe config.ini:
sudo cp -iv defaults.ini config.ini
-
Apoi, deschideți config.inifișierul de configurare și adăugați următoarele valori ale bazei de date:
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
-
Acum trebuie să adăugăm un hash de parolă config.ini, dar mai întâi trebuie să îl generam, așa că vizitați următoarea adresă URL din browser:
http://YOUR_VULTR_IP_ADDRESS/password
Apoi introduceți parola dorită în Passwordcâmp și faceți clic pe Generate.
Pur și simplu copiați valoarea hash rezultată în opțiunea de parolă din config.inifișier, astfel încât secțiunea parolă arată acum așa:
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
Notă: hash-ul dvs. de parolă va fi în mod evident diferit de hash-ul arătat mai sus și puteți alege un nume de utilizator diferit.
-
Eliminați toate celelalte opțiuni needitate din config.inifișier, astfel încât fișierul dvs. de configurare complet să arate similar cu acesta:
[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>
Notă: Dacă doriți să modificați oricare dintre defaults.iniopțiuni, puteți să le adăugați pur și simplu în lista de opțiuni de mai sus.
După ce ați terminat de editat fișierul de configurare, puteți salva și ieși fișierul.
-
Acum vă puteți autentifica la Selfoss RSS Reader accesând pagina de pornire și introducând numele de utilizator și parola:
http://YOUR_VULTR_IP_ADDRESS/
-
Dacă doriți ca cititorul să-și actualizeze automat fluxurile (și aproape sigur că o faceți), va trebui să vă editați crontab:
sudo crontab -e
Adăugați următoarea linie pentru a reîmprospăta fluxurile pe oră:
0 * * * * apache cd /var/www/html && php cliupdate.php
Dacă nu ați configurat încă setările Vultr DNS, puteți face acest lucru folosind panoul de control Vultr DNS.
De asemenea, este recomandabil să configurați site-ul dvs. pentru a utiliza SSL, deoarece majoritatea browserelor moderne vor avertiza atunci când site-urile nu au SSL activat și certificatele SSL sunt acum disponibile gratuit.
În orice caz, sunteți liber să începeți să adăugați feed-uri și să personalizați în continuare cititorul dvs., dacă doriți.