Introduzione
Wallabag è un software che ti consente di salvare pagine Web in modo da poterle leggere in seguito. Esistono molti servizi che ti consentono di farlo come Pocket, Instapaper, ecc. Ma avere un servizio installato su un server di tua proprietà è vantaggioso. Per prima cosa, non cesserà di funzionare e abbatterà i collegamenti con servizi di terzi e puoi mantenere privati i tuoi dati di navigazione.
Questo tutorial illustrerà come installare e configurare Wallabag su un server che esegue Ubuntu 18.04 e versioni successive. Descriverà inoltre come impostare Nginx, MariaDB, Git, Postfix, Composer e PHP che sono richiesti da Wallabag per funzionare.
Prerequisiti
Avresti bisogno di quanto segue prima di procedere con il nostro tutorial.
- Un server basato su Ubuntu 18.04 con un utente non root con privilegi sudo.
Sarà inoltre necessario lo strumento Make
. Per installarlo, basta usare il seguente comando:
sudo apt install make
Installare Git
Il primo passo è installare Git che useremo in seguito per copiare i file di installazione di wallabag dal suo repository git. Git viene installato di solito in questi giorni sulla maggior parte dei server web. In caso contrario, procedere con i seguenti comandi:
sudo apt install git
git config --global user.name "Your name"
git config --global user.email "[email protected]"
Installare Nginx
sudo apt install nginx
Se stai usando il firewall di Ubuntu, aggiungi le seguenti regole al suo elenco:
sudo ufw allow "Nginx HTTP"
Controlla anche lo stato:
sudo ufw status
Dovresti vedere qualcosa del genere:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Prova ad accedere all'indirizzo IP del tuo server nel browser. Dovresti vedere la pagina Nginx predefinita che conferma che Nginx è stato installato con successo.
Installa MariaDB
MariaDB è un sostituto drop-in per MySQL, il che significa che i comandi per eseguire e far funzionare MariaDB sono gli stessi di quelli per MySQL. Per installare MariaDB, immettere i seguenti comandi:
sudo apt install mariadb-server
C'è un'avvertenza con l'impostazione della password di root. MariaDB per impostazione predefinita consente agli utenti root del sistema di accedere a MariaDB senza password. Ma se hai intenzione di utilizzare un'applicazione di terze parti per accedere tramite root, una password è d'obbligo, altrimenti le app come PHPMyAdmin falliranno. Per questo, è necessario disabilitare l'autenticazione basata su plug-in, che è l'opzione predefinita su MariaDB.
Accedere al server MariaDB eseguendo i comandi seguenti:
sudo mysql -u root
Questo dovrebbe entrare nel server di database. Successivamente, esegui i comandi seguenti per disabilitare l'autenticazione del plug-in per l'utente root:
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;
Esegui il comando mysql_secure_installation
per migliorare la sicurezza dell'installazione di MariaDB:
sudo mysql_secure_installation
Lo script richiederà di impostare la password dell'utente root, rimuovere l'utente anonimo, limitare l'accesso dell'utente root al computer locale e rimuovere il database di test. Alla fine lo script ricaricherà le tabelle dei privilegi assicurando che tutte le modifiche abbiano effetto immediato.
Tutti i passaggi sono spiegati in dettaglio ed è consigliabile rispondere a "Y" (sì) a tutte le domande.
Successivamente riavviare MariaDB.
sudo systemctl restart mariadb.service
Questo è tutto. La prossima volta che si desidera accedere a MySQL, utilizzare il comando seguente
sudo mysql -u root -p
E ti verrà chiesta la password di root che avevi impostato inizialmente.
Configura MariaDB per Wallabag
Ora dobbiamo impostare un database da utilizzare per l'applicazione wallabag. Per farlo accedi al prompt di MySQL:
sudo mysql -u root -p
Una volta richiesto, immettere i seguenti comandi che imposteranno un database denominato wallabag e un utente del database denominato wallabaguser e gli concederanno l'accesso al database.
create database wallabag;
create user wallabaguser@localhost;
set password for wallabaguser@localhost= password("yourpassword");
grant all privileges on wallabag.* to wallabaguser@localhost identified by "yourpassword";
flush privileges;
exit;
Installare PHP e Composer
Ora che il nostro server è attivo e funzionante, è tempo di installare PHP e Composer. Poiché stiamo usando Nginx, dobbiamo installare il pacchetto PHP-FPM. Insieme ad esso avremo bisogno di molte altre estensioni PHP come mbstring, mysql, gd, bc-math, curl, zip e xml.
sudo apt install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-gettext php-tokenizer
sudo apt install composer
Passiamo al passaggio successivo.
Configurare Nginx
È tempo di configurare la nostra installazione di Nginx. Supponendo che il nome di dominio che stai utilizzando per wallabag sia example.com
(sostituire example.com con il proprio nome dominio in tutti i passaggi), crea una directory in cui ospiterai la tua installazione. Wallabag verrà installato nella directory html.
sudo mkdir -p /var/www/example.com/html
Successivamente, assegna la proprietà della directory ai dati www utilizzati da Nginx.
sudo chown -R www-data:www-data /var/www/example.com/html
Assicurarsi che siano impostate le autorizzazioni corrette.
sudo chmod -R 755 /var/www/example.com
Successivamente, crea un host virtuale per il sito.
sudo nano /etc/nginx/sites-available/example.com
Incolla la seguente configurazione che funziona con wallabag.
server {
server_name example.com www.example.com;
root /var/www/example/html/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
# replace php7.2-fpm with whichever php 7.x version you are using
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Salvare il file premendo Ctrl + X e digitando Y quando richiesto.
Successivamente, dobbiamo abilitare questa configurazione. Per questo, creare un collegamento da esso alla directory abilitata per i siti.
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
È possibile che si verifichi un problema relativo al bucket di memoria dovuto a nomi di server aggiuntivi. Per risolvere il problema, aprire il file nginx.conf
:
sudo nano /etc/nginx/nginx.conf
Trova la direttiva server_names_hash_bucket_size
e rimuovi il simbolo #
per rimuovere il commento dalla riga:
server_names_hash_bucket_size 64;
Salva il file. Quindi, assicurarsi che non vi siano errori nelle configurazioni Nginx:
sudo nginx -t
Se non ci sono problemi, riavvia Nginx per abilitare le nuove modifiche.
sudo systemctl restart nginx
Installare Wallabag
Innanzitutto, clonare wallabag dal suo repository GitHub. Poiché abbiamo concesso le autorizzazioni della cartella html all'utente www-data, dovremo passare ad essa per eseguire l'installazione:
sudo -u www-data /bin/bash
cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html
Questo copierà i file di installazione di wallabag nella directory html. Installa Wallabag usando il comando make.
cd html
make install
Ti verranno poste diverse domande durante l'installazione.
Se si desidera utilizzare HTTP
, immettere http://example.com
quando viene richiesto il nome di dominio e saltare la parte HTTPS dell'esercitazione.
database_driver (pdo_mysql): pdo_mysql
database_driver_class (null): Press Enter
database_host (127.0.0.1): 127.0.0.1
database_port (null): 3306
database_name (wallabag): wallabag
database_user (root): wallabaguser
database_password (null): wallabagpassword
database_path (null): Press Enter
database_table_prefix (wallabag_): Prefix of your choice or Press Enter for the default.
database_socket (null): Press Enter
database_charset (utf8mb4): Press Enter
domain_name ('https://your-wallabag-url-instance.com'): http://example.com
Ti verranno anche richiesti i dettagli SMTP per ottenere mail riguardanti la password dimenticata o l'autenticazione a due fattori. Se si desidera utilizzare un servizio SMTP di terze parti come Mailgun o Sendgrid, è possibile inserire i valori necessari oppure premere semplicemente Invio per passare alla configurazione successiva. Digitare no al parametro fosuser_registration
se non si desidera che un utente si registri sul proprio sito. Inoltre, modifica il valore del parametro secret
. Se hai dati di grandi dimensioni da importare, installa RabbitMQ o Redis e inserisci i valori quando richiesto.
Quando viene richiesto se ripristinare il database esistente, premere Invio per utilizzare l'opzione predefinita (no
). Ti verrà anche chiesto di creare un utente amministratore. Al termine, torna al login utente Ubuntu predefinito.
exit
Configurare SMTP
Se si desidera configurare un server SMTP di base e non utilizzare servizi SMTP di terze parti, installare Mailutils.
sudo apt install mailutils
Durante l'installazione, ti verrà chiesto di selezionare un tipo di configurazione per Postfix. Seleziona Internet Site
e procedi. Immettere example.com
quando richiesto per il campo System mail di sistema.
Configurare l'HTTPS
Useremo Let's Encrypt per configurare HTTPS per la nostra installazione di wallabag. Aggiungi il seguente repository per lo strumento Certbot.
sudo add-apt-repository ppa:certbot/certbot
Installa il pacchetto Certbot Nginx dal repository.
sudo apt install python-certbot-nginx
Ottieni il certificato per il tuo dominio example.com.
sudo certbot --nginx -d example.com -d www.example.com
Se è la prima volta che utilizzi lo strumento Certbot, ti verrà chiesto di fornire un'email e di accettare i termini del servizio. Ti verrà anche chiesto se desideri che la tua email sia condivisa con EFF (Electronic Frontier Foundation). Scegli N se non desideri che EFF ti invii un'email in merito alle sue notizie e alle sue campagne.
Se ciò ha esito positivo, Certbot ti chiederà come si desidera configurare le impostazioni HTTPS.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Scegli 2 poiché vogliamo che tutte le richieste al tuo dominio vengano reindirizzate su HTTPS.
Questo è tutto. Il tuo dominio HTTPS è attivo. Certbot rinnoverà automaticamente il tuo dominio ogni 90 giorni. Per testare il processo di rinnovo, eseguire una corsa a secco.
sudo certbot renew --dry-run
Se non vedi errori, significa che tutto è perfetto.
Configurare Wallabag
Ora che abbiamo installato wallabag, apri il browser e collegati al tuo dominio. Dovresti vedere la schermata di login di wallabag.
Inserisci le credenziali che hai scelto durante il processo make
.
È necessario abilitare l'autenticazione a due fattori. Per fare ciò, fai clic sul pulsante Config
a sinistra e seleziona la scheda USER INFORMATION
. Abilita Two-factor authentication
.
Puoi importare i tuoi dati da Pockets, Instapaper, Pinboard e segnalibri da browser Firefox e basati su Chrome.
Wallabag ti offre una moltitudine di app per ogni browser, dispositivo mobile o lettore di ebook con cui puoi aggiungere collegamenti.
Aggiornare Wallabag
Per aggiornare Wallabag all'ultima versione, è sufficiente emettere i seguenti comandi:
sudo -u www-data /bin/bash
cd /var/www/example.com/html
make update
Conclusione
Questo è tutto per questo tutorial abbiamo installato Wallabag su Ubuntu 18.04 LTS. Ora puoi salvare e leggere articoli dal tuo server senza compromettere la privacy dei tuoi dati.