Selfoss RSS Reader è un lettore web-based gratuito e open source multi-hosted, live stream, mashup, news feed (RSS / Atom) e aggregatore universale. Selfoss RSS Reader include l'importazione OPML, un'API JSON riposante e il suo sistema di plug-in aperto consente di estendere facilmente la funzionalità predefinita scrivendo i propri connettori dati personalizzati. Puoi utilizzare Selfoss per lo streaming live e raccogliere tutti i tuoi post, tweet, podcast e feed in un posto centrale a cui puoi accedere facilmente da qualsiasi desktop o dispositivo mobile.
In questo tutorial, installeremo Selfoss RSS Reader 2.17 su un VPS FAMP di FreeBSD 11 usando il web server Apache, PHP 7.1 e un database MariaDB.
Prerequisiti
- Un'istanza del server Vultr FreeBSD 11 pulita con accesso SSH
Passaggio 1: aggiungere un utente Sudo
Inizieremo aggiungendo un nuovo sudo
utente.
Innanzitutto, accedi al tuo server come root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Il sudo
comando non è installato di default nell'istanza del server Vultr FreeBSD 11, quindi installeremo prima sudo
:
pkg install sudo
Ora aggiungi un nuovo utente chiamato user1
(o il tuo nome utente preferito):
adduser user1
Il adduser
comando ti chiederà molti dettagli per l'account utente, quindi seleziona semplicemente i valori predefiniti per la maggior parte di essi quando ha senso farlo. Quando ti viene chiesto se Invite user1 into any other groups?
, devi inserire wheel
per aggiungere user1
al wheel
gruppo.
Ora controlla il /etc/sudoers
file per assicurarti che il sudoers
gruppo sia abilitato:
visudo
Cerca una sezione come questa:
# %wheel ALL=(ALL) ALL
Questa riga ci dice che gli utenti membri del wheel
gruppo possono usare il sudo
comando per ottenere i root
privilegi. Verrà commentato per impostazione predefinita, quindi sarà necessario decommentarlo e quindi salvare ed uscire dal file.
Possiamo verificare l' user1
appartenenza al gruppo con il groups
comando:
groups user1
Se user1
non è un membro del wheel
gruppo, è possibile utilizzare questo comando per aggiornare l' user1
appartenenza al gruppo:
pw group mod wheel -m user1
Ora usa il su
comando per passare al nuovo user1
account utente sudo :
su - user1
Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1
all'account. Puoi verificarlo con il whoami
comando:
whoami
Ora riavvia il sshd
servizio in modo da poter accedere tramite ssh
il nuovo account utente sudo non root che hai appena creato:
sudo /etc/rc.d/sshd restart
Esci user1
dall'account:
exit
Esci root
dall'account (che disconnetterà la ssh
sessione):
exit
Ora puoi ssh
accedere all'istanza del server dal tuo host locale usando il nuovo user1
account utente sudo non root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Se vuoi eseguire sudo senza dover digitare una password ogni volta, quindi apri di /etc/sudoers
nuovo il file, usando visudo
:
sudo visudo
Modifica la sezione per il wheel
gruppo in modo che assomigli a questo:
%wheel ALL=(ALL) NOPASSWD: ALL
Nota: la disabilitazione del requisito password per l'utente sudo non è una pratica consigliata, ma è inclusa qui in quanto può rendere la configurazione del server molto più conveniente e meno frustrante, specialmente durante sessioni di amministrazione di sistemi più lunghe. Se sei preoccupato per le implicazioni di sicurezza, puoi sempre ripristinare la modifica della configurazione all'originale dopo aver completato le attività di amministrazione.
Ogni volta che si desidera accedere root
all'account sudo
utente dall'account utente, è possibile utilizzare uno dei seguenti comandi:
sudo -i
sudo su -
Puoi uscire root
dall'account e tornare al tuo sudo
account utente in qualsiasi momento:
exit
Passaggio 2: aggiorna il sistema FreeBSD 11
Prima di installare i pacchetti sull'istanza del server FreeBSD, aggiorneremo il sistema.
Assicurarsi di aver effettuato l'accesso al server utilizzando un utente sudo non root ed eseguire i seguenti comandi:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Passaggio 3: installare Apache Web Server
Installa il web server Apache:
sudo pkg install apache24
Inserisci y
quando richiesto.
Ora usa il sysrc
comando per abilitare l'esecuzione automatica del servizio Apache all'avvio:
sudo sysrc apache24_enable=yes
Il sysrc
comando aggiorna il /etc/rc.conf
file di configurazione, quindi se vuoi verificare manualmente l'aggiornamento della configurazione puoi semplicemente aprire il /etc/rc.conf
file con il tuo editor di terminali preferito:
vi /etc/rc.conf
Ora avvia il servizio Apache:
sudo service apache24 start
Puoi verificare rapidamente che apache sia in esecuzione visitando l'indirizzo IP o il dominio dell'istanza del server nel browser:
http://YOUR_VULTR_IP_ADDRESS/
Vedrai la pagina predefinita di Apache di FreeBSD che mostra il testo:
It works!
Controlla il tuo file di configurazione predefinito di Apache per assicurarti che la DocumentRoot
direttiva punti alla directory corretta:
sudo vi /usr/local/etc/apache24/httpd.conf
L' DocumentRoot
opzione di configurazione sarà simile a questa:
DocumentRoot "/usr/local/www/apache24/data"
Ora dobbiamo abilitare il mod_rewrite
modulo Apache. Possiamo farlo cercando il termine nel file di configurazione di Apache predefinito mod_rewrite
.
Per impostazione predefinita, il mod_rewrite
modulo Apache verrà commentato (il che significa che è disabilitato). La linea di configurazione su un'istanza pulita di Vultr FreeBSD 11 sarà simile a questa:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Basta rimuovere il simbolo dell'hash per decommentare la linea e caricare il modulo. Questo, ovviamente, si applica anche a qualsiasi altro modulo Apache richiesto:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Dobbiamo anche abilitare i moduli mod_authz_code
e mod_headers
, quindi assicurati che siano entrambi senza commento:
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so
Ora dobbiamo modificare la Directory
direttiva Apache nello stesso file di configurazione in modo che mod_rewrite
funzioni correttamente con Selfoss RSS Reader.
Trova la sezione del file di configurazione che inizia con <Directory "/usr/local/www/apache24/data">
e cambia AllowOverride none
in AllowOverride All
. Il risultato finale (con tutti i commenti rimossi) sarà simile a questo:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ora salva ed esci dal file di configurazione di Apache.
Riavvieremo Apache alla fine di questo tutorial, ma riavviare Apache regolarmente durante l'installazione e la configurazione è sicuramente una buona abitudine, quindi facciamolo ora:
sudo service apache24 restart
Passaggio 4: installa PHP 7.1
Ora possiamo installare PHP 7.1 insieme a tutti i moduli PHP necessari richiesti da Selfoss RSS Reader:
sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip php71-phar
FreeBSD 11 ci dà la possibilità di usare uno sviluppo php.ini
o una produzione php.ini
. Dal momento che installeremo Selfoss su un server web pubblico, useremo la versione di produzione. Innanzitutto, esegui il backup php.ini-production
:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup
Quindi soft-link php.ini-production
a php.ini
:
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Dobbiamo configurare Apache per usare effettivamente PHP, quindi creiamo un nuovo file chiamato php.conf
nella Includes
directory Apache :
sudo vi /usr/local/etc/apache24/Includes/php.conf
Immettere il testo seguente nel file appena creato:
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
Salva ed esci dal file.
Ora riavviamo Apache in modo che possa ricaricare le modifiche alla configurazione:
sudo service apache24 restart
Passaggio 5: installare il server MariaDB (MySQL)
Per impostazione predefinita, FreeBSD 11 utilizza il server di database MariaDB, che è un sostituto drop-in avanzato, completamente open source, sviluppato dalla comunità e drop-in per il server MySQL.
Installa l'ultima versione del server di database MariaDB:
sudo pkg install mariadb102-server mariadb102-client
Avvia e abilita l'esecuzione automatica del server MariaDB all'avvio:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Proteggi l'installazione del tuo server MariaDB:
sudo mysql_secure_installation
Quando viene richiesto di creare un utente MariaDB / MySQL root
, selezionare "Y" (per Sì) e quindi immettere una root
password sicura . Rispondi semplicemente a "Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.
Accedere alla shell MariaDB come root
utente MariaDB eseguendo il comando seguente:
sudo mysql -u root -p
Per accedere al prompt dei comandi di MariaDB, inserire semplicemente la root
password di MariaDB quando richiesto.
Eseguire le seguenti query per creare un database MariaDB e un utente del database per 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;
Se preferisci, puoi sostituire il nome del database selfoss_db
e il nome utente selfoss_user
con qualcosa in più di tuo gradimento. Inoltre, assicurati di sostituire "UltraSecurePassword" con una password effettivamente sicura.
Cambia la tua directory di lavoro corrente nella directory web predefinita:
cd /usr/local/www/apache24/data
La vostra directory di lavoro corrente sarà ora: /usr/local/www/apache24/data
. Puoi verificarlo con il pwd
comando (print working directory):
pwd
Ora usa wget
per scaricare il pacchetto di installazione di Selfoss RSS Reader:
sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip
Nota: dovresti assolutamente verificare la versione più recente visitando la pagina di download di Selfoss RSS Reader .
Elenca la directory corrente per verificare di aver scaricato correttamente il file:
ls -la
Rimuovi index.html
:
sudo rm index.html
Ora decomprimi l'archivio zip:
sudo unzip selfoss-2.17.zip
Spostare tutti i file di installazione nella directory principale Web:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null
Modifica la proprietà dei file Web per evitare problemi con le autorizzazioni:
sudo chown -R www:www * ./
Riavvia nuovamente Apache:
sudo service apache24 restart
Passaggio 8: installa ed esegui Composer
Selfoss RSS Reader ci richiede di utilizzare composer
per scaricare alcuni plugin quindi installiamo composer
. Sfortunatamente, la versione della versione binaria precompilata del compositore nei repository di pacchetti di FreeBSD non è compatibile con PHP 7.1. Quindi invece di installarlo composer
con il pkg
comando, lo compileremo invece dal sorgente.
Innanzitutto, configuriamo il sistema FreeBSD 11 per compilare il software PHP usando PHP versione 7.1 invece del 5.6 predefinito.
Crea un nuovo file nella /etc/
directory chiamata make.conf
:
sudo vi /etc/make.conf
Inserisci il seguente testo nel file:
DEFAULT_VERSIONS+= php=7.1
Ora salva e chiudi il file.
Quindi dobbiamo scaricare la raccolta delle porte di FreeBSD usando il portsnap
comando:
sudo portsnap fetch extract update
Una volta portsnap
completato il comando, passare alla php-composer
directory del codice sorgente:
cd /usr/ports/devel/php-composer/
Ora avvia la php-composer
compilazione e l'installazione usando il make
comando:
sudo make install clean BATCH=yes
Al termine della compilazione, passare alla directory webroot:
cd /usr/local/www/apache24/data
Esegui il compositore usando l' www
utente:
sudo -u www composer install
Vedrai alcuni messaggi di avvertimento che composer
riguardano l'impossibilità di scrivere nella cache, ma non preoccuparti troppo perché tutto andrà comunque bene.
Ora siamo pronti per passare al passaggio finale.
-
Per prima cosa dobbiamo aggiornare il file di configurazione di Selfoss RSS Reader config.ini
con le impostazioni di database corrette, quindi assicurati di essere ancora nella directory webroot e copia defaults.ini
in config.ini
:
sudo cp -iv defaults.ini config.ini
-
Quindi, aprire il config.ini
file di configurazione e aggiungere i seguenti valori del database:
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
-
Ora dobbiamo aggiungere un hash password a config.ini
, ma prima dobbiamo generarlo, quindi visita il seguente URL nel tuo browser:
http://YOUR_VULTR_IP_ADDRESS/password
Quindi inserire la password desiderata nel Password
campo e fare clic su Generate
.
Copia semplicemente il valore hash risultante nell'opzione password nel config.ini
file in modo che la sezione password ora assomigli a questo:
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
Nota: l' hash della password sarà ovviamente diverso dall'hash mostrato sopra e sei libero di scegliere un nome utente diverso.
-
Rimuovi tutte le altre opzioni non modificate dal config.ini
file in modo che il tuo file di configurazione completo sia simile al seguente:
[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>
Nota: se si desidera modificare una qualsiasi delle defaults.ini
opzioni, è possibile semplicemente aggiungerle all'elenco delle opzioni sopra.
Al termine della modifica del file di configurazione, è possibile salvare ed uscire dal file.
-
Ora puoi accedere a Selfoss RSS Reader visitando la home page e inserendo il tuo nome utente e password:
http://YOUR_VULTR_IP_ADDRESS/
-
Se vuoi che il lettore aggiorni automaticamente i tuoi feed (e quasi sicuramente lo fai), dovrai modificare il tuo crontab:
sudo crontab -e
Aggiungi la seguente riga per aggiornare i feed ogni ora:
0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
Se non hai ancora configurato le impostazioni di Vultr DNS, puoi farlo utilizzando il pannello di controllo DNS di Vultr.
È anche consigliabile configurare il tuo sito per utilizzare SSL poiché la maggior parte dei browser moderni avviserà quando i siti non hanno SSL abilitato e i certificati SSL sono ora disponibili gratuitamente.
In ogni caso, ora sei libero di iniziare ad aggiungere i tuoi feed e personalizzare ulteriormente il tuo lettore, se lo desideri.