Wallabag è un tipo di servizio read it later. Ti consente di salvare le pagine Web in modo da poterle leggere in seguito a tuo piacimento. Ci sono molti servizi che ti permettono di farlo come Pocket, Instapaper, ecc, ma avere un servizio installato su un server di tua proprietà è vantaggioso. Per uno, non fallirà e annullerà i collegamenti con esso. E puoi mantenere privati i tuoi dati di navigazione.
Questo tutorial tratterà come installare e configurare Wallabag su un server in esecuzione su Ubuntu 18.04 e versioni successive. Tratterà anche come configurare Nginx, MariaDB, Git, Postfix, Composer e PHP che sono tutti richiesti da Wallabag per l'esecuzione.
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.
-
Avrai anche bisogno dello strumento Crea. Per installarlo basta usare il seguente comando
$ sudo apt install make
Installa 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, procedi con i seguenti comandi.
$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email "[email protected]"
Installa 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 seguente pagina Nginx predefinita che conferma che Nginx è stato installato correttamente.
Installa MariaDB
MariaDB è un sostituto drop-in di MySQL, il che significa che i comandi per eseguire e far funzionare MariaDB sono gli stessi di MySQL. Per installare MariaDB emettere i seguenti comandi
$ sudo apt install mariadb-server
Eseguire il comando seguente per eseguire la configurazione predefinita, ad esempio fornire una password di root, rimuovere utenti anonimi, impedire l'accesso come root in remoto e eliminare le tabelle di test. Premi sì per tutto e imposta una password di root.
$ sudo mysql_secure_installation
C'è un avvertimento 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 è un must altrimenti app come PHPMyAdmin falliranno. Per questo, è necessario disabilitare l'autenticazione basata su plug-in che è l'opzione predefinita su MariaDB.
Per disabilitare l'autenticazione del plug-in e ripristinare la password di root, immettere prima il prompt di MySQL utilizzando il comando seguente.
$ sudo mysql -u root
Ora inserisci i seguenti comandi per disabilitare l'autenticazione del plugin.
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Dopodiché, riavvia il tuo servizio MariaDB.
$ sudo systemctl restart mariadb.service
Questo è tutto. La prossima volta che vuoi accedere a MySQL, usa il seguente comando
$ sudo mysql -u root -p
E ti verrà richiesta la password di root che avevi impostato inizialmente.
Configura MariaDB per Wallabag
Ora dobbiamo configurare un database da utilizzare per l'applicazione wallabag. Per farlo, accedi al prompt di MySQL. Assumiamo che tu stia utilizzando il metodo di autenticazione predefinito di MariaDB (cioè senza usare la password di root) per il resto del tutorial.
$ sudo mysql -u root
Una volta al prompt, inserisci i seguenti comandi che configureranno un database chiamato wallabag e un utente del database chiamato wallabaguser e gli concederanno l'accesso al database.
create database wallabag;
create user [email protected];
set password for [email protected]= password("yourpassword");
grant all privileges on wallabag.* to [email protected] identified by "yourpassword";
flush privileges;
exit
Installa PHP e compositore
Ora che il nostro server è attivo e funzionante, è il momento di installare PHP e Composer. Dato che 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
Per ora è tutto. In seguito arriveremo alla parte di configurazione di PHP e al compositore. Passiamo al passaggio successivo.
Configura Nginx
È ora di configurare la nostra installazione di Nginx prima di procedere con l'installazione vera e propria. Supponendo che il nome di dominio che stai utilizzando per wallabag sia example.com, 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
Assicurati che le autorizzazioni corrette siano impostate.
$ sudo chmod -R 755 /var/www/example.com
Quindi, 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;
}
Salva il file premendo Ctrl + X e inserendo Y quando richiesto. Successivamente, dobbiamo abilitare questa configurazione. Per questo, crea un collegamento da esso alla directory abilitati ai siti.
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Potresti dover affrontare un problema con il bucket di memoria dovuto a nomi di server aggiuntivi. Per risolvere il problema, apri il file nginx.conf
$ sudo nano /etc/nginx/nginx.conf
Trova il server_names_hash_bucket_size
direttiva e rimuovere il #
simbolo per decommentare la riga:
server_names_hash_bucket_size 64;
Salva il file. Quindi, assicurati che non ci siano errori nelle configurazioni di Nginx.
$ sudo nginx -t
Se non ci sono problemi, riavvia Nginx per abilitare le nuove modifiche.
$ sudo systemctl restart nginx
Installa Wallabag
Innanzitutto, clona wallabag dal suo repository GitHub. Poiché abbiamo concesso i permessi 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 vuoi usare http
, inserisci http://example.com
invece quando viene richiesto il nome di dominio e salta la parte HTTPS del tutorial.
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 ricevere e-mail riguardanti la password dimenticata o l'autenticazione a due fattori. Se desideri utilizzare un servizio SMTP di terze parti come Mailgun o Sendgrid, puoi inserire i valori rimanenti oppure premere semplicemente Invio attraverso loro. Inserisci no
rispetto al parametro fosuser_registration
se non vuoi che nessuno si registri sul tuo sito. Inoltre, cambia il valore del secret
parametro. Se hai dati di grandi dimensioni da importare, installa RabbitMQ o Redis e inserisci i valori quando richiesto.
Quando ti viene chiesto se reimpostare il database esistente, premi Invio per utilizzare l'opzione predefinita (no). Ti verrà anche chiesto di creare un utente amministratore.
Torna al tuo login utente Ubuntu predefinito al termine.
$ exit
Configura SMTP
Se desideri configurare un server SMTP di base e non utilizzare servizi SMTP di terze parti, installa Mailutils.
$ sudo apt install mailutils
Durante l'installazione, ti chiederà di selezionare un tipo di configurazione per Postfix. Seleziona Internet Site
e procedi. Inserisci example.com
quando viene richiesto il campo Nome e-mail di sistema. Questo è tutto.
Configura 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'e-mail 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 vuoi che EFF ti invii un'e-mail in merito alle sue notizie e campagne.
Se ha esito positivo, Certbot ti chiederà come desideri configurare le tue 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é desideriamo che tutte le richieste al tuo dominio vengano reindirizzate a https.
Questo è tutto. Il tuo dominio HTTPS è attivo. Certbot rinnoverà automaticamente il tuo dominio ogni 90 giorni. Per testare il processo di rinnovo, esegui un test.
$ sudo certbot renew --dry-run
Se non vedi alcun errore, significa che è tutto perfetto.
Configura Wallabag
Ora che abbiamo configurato wallabag, apri il tuo dominio wallabag. Dovresti vedere la seguente schermata.
Inserisci le credenziali che hai scelto durante il make
processo sopra. Dopo aver effettuato l'accesso, dovresti vedere la seguente schermata.
Dovresti abilitare l'autenticazione a due fattori. Per farlo, fai clic sul pulsante Config a sinistra e seleziona USER INFORMATION
scheda dalla schermata seguente. Abilita il segno di spunta Two-factor authentication
per abilitarlo.
Puoi importare i tuoi dati da Pockets, Instapaper, Pinboard e segnalibri da browser basati su Firefox e Chrome.
Wallabag ti offre una moltitudine di app per ogni browser, mobile o lettore di ebook con cui puoi aggiungere link. E se nient'altro ti piace, puoi persino utilizzare un Bookmarklet, i cui dettagli puoi accedere dal How to
sezione nelle tue impostazioni.
Aggiorna Wallabag
Per aggiornare Wallabag all'ultima versione, impartisci i seguenti comandi.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update
Questo è tutto per questo tutorial. Ora puoi salvare e leggere articoli dal tuo server senza compromettere la privacy dei tuoi dati.