Come installare Selfoss RSS Reader su un FPS VPS di FreeBSD 11

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 sudoutente.

Innanzitutto, accedi al tuo server come root:

ssh root@YOUR_VULTR_IP_ADDRESS

Il sudocomando 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 addusercomando 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 wheelper aggiungere user1al wheelgruppo.

Ora controlla il /etc/sudoersfile per assicurarti che il sudoersgruppo sia abilitato:

visudo

Cerca una sezione come questa:

# %wheel        ALL=(ALL)       ALL

Questa riga ci dice che gli utenti membri del wheelgruppo possono usare il sudocomando per ottenere i rootprivilegi. Verrà commentato per impostazione predefinita, quindi sarà necessario decommentarlo e quindi salvare ed uscire dal file.

Possiamo verificare l' user1appartenenza al gruppo con il groupscomando:

groups user1

Se user1non è un membro del wheelgruppo, è possibile utilizzare questo comando per aggiornare l' user1appartenenza al gruppo:

pw group mod wheel -m user1 

Ora usa il sucomando per passare al nuovo user1account utente sudo :

su - user1

Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1all'account. Puoi verificarlo con il whoamicomando:

whoami

Ora riavvia il sshdservizio in modo da poter accedere tramite sshil nuovo account utente sudo non root che hai appena creato:

sudo /etc/rc.d/sshd restart

Esci user1dall'account:

exit

Esci rootdall'account (che disconnetterà la sshsessione):

exit

Ora puoi sshaccedere all'istanza del server dal tuo host locale usando il nuovo user1account 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/sudoersnuovo il file, usando visudo:

sudo visudo

Modifica la sezione per il wheelgruppo 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 rootall'account sudoutente dall'account utente, è possibile utilizzare uno dei seguenti comandi:

sudo -i
sudo su -

Puoi uscire rootdall'account e tornare al tuo sudoaccount 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 yquando richiesto.

Ora usa il sysrccomando per abilitare l'esecuzione automatica del servizio Apache all'avvio:

sudo sysrc apache24_enable=yes

Il sysrccomando aggiorna il /etc/rc.conffile di configurazione, quindi se vuoi verificare manualmente l'aggiornamento della configurazione puoi semplicemente aprire il /etc/rc.conffile 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 DocumentRootdirettiva punti alla directory corretta:

sudo vi /usr/local/etc/apache24/httpd.conf

L' DocumentRootopzione di configurazione sarà simile a questa:

DocumentRoot "/usr/local/www/apache24/data"

Ora dobbiamo abilitare il mod_rewritemodulo Apache. Possiamo farlo cercando il termine nel file di configurazione di Apache predefinito mod_rewrite.

Per impostazione predefinita, il mod_rewritemodulo 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_codee 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 Directorydirettiva Apache nello stesso file di configurazione in modo che mod_rewritefunzioni correttamente con Selfoss RSS Reader.

Trova la sezione del file di configurazione che inizia con <Directory "/usr/local/www/apache24/data">e cambia AllowOverride nonein 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.inio 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-productiona 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.confnella Includesdirectory 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 rootpassword sicura . Rispondi semplicemente a "Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.

Passaggio 6: Creare il database per il lettore RSS di Selfoss

Accedere alla shell MariaDB come rootutente MariaDB eseguendo il comando seguente:

sudo mysql -u root -p

Per accedere al prompt dei comandi di MariaDB, inserire semplicemente la rootpassword 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_dbe il nome utente selfoss_usercon qualcosa in più di tuo gradimento. Inoltre, assicurati di sostituire "UltraSecurePassword" con una password effettivamente sicura.

Passaggio 7: installare i file del lettore RSS di Selfoss

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 pwdcomando (print working directory):

pwd

Ora usa wgetper 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 composerper 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 composercon il pkgcomando, 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 portsnapcomando:

sudo portsnap fetch extract update

Una volta portsnapcompletato il comando, passare alla php-composerdirectory del codice sorgente:

cd /usr/ports/devel/php-composer/

Ora avvia la php-composercompilazione e l'installazione usando il makecomando:

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' wwwutente:

sudo -u www composer install

Vedrai alcuni messaggi di avvertimento che composerriguardano l'impossibilità di scrivere nella cache, ma non preoccuparti troppo perché tutto andrà comunque bene.

Ora siamo pronti per passare al passaggio finale.

Passaggio 9: installazione completa del lettore RSS Selfoss

  1. Per prima cosa dobbiamo aggiornare il file di configurazione di Selfoss RSS Reader config.inicon le impostazioni di database corrette, quindi assicurati di essere ancora nella directory webroot e copia defaults.iniin config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Quindi, aprire il config.inifile 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
    
  3. 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 Passwordcampo e fare clic su Generate.

    Copia semplicemente il valore hash risultante nell'opzione password nel config.inifile 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.

  4. Rimuovi tutte le altre opzioni non modificate dal config.inifile 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.iniopzioni, è possibile semplicemente aggiungerle all'elenco delle opzioni sopra.

    Al termine della modifica del file di configurazione, è possibile salvare ed uscire dal file.

  5. Ora puoi accedere a Selfoss RSS Reader visitando la home page e inserendo il tuo nome utente e password:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. 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.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.