Borsa a mano è un'applicazione self-hosting gratuita per il salvataggio di pagine web. È un'alternativa open source ad altre app proprietarie read later come Pocket e Instapaper , consentendoti di gestire un elenco di articoli in cui ti sei imbattuto in Internet per una lettura successiva.
Caratteristiche della borsa a tracolla:
- Wallabag rimuove gli annunci e gli elementi non correlati dalle tue pagine Web e fornisce solo il testo dell'articolo e le immagini correlate in modo che possano essere facilmente letti. Ciò è particolarmente utile quando li visualizzi su uno smartphone o un tablet.
- Wallabag salva le tue pagine web in un database, quindi anche se la pagina web originale scompare, puoi comunque visualizzarla in Wallabag .
- Puoi esportare facilmente tutta la tua pagina web in file TXT, HTML, CSV, EPUB, MOBI, PDF o JSON.
- Puoi anche installare l'estensione del browser Wallabag e l'app per smartphone per accedere facilmente a Wallabag.
- La possibilità di importare segnalibri da Firefox e dal browser Google Chrome (o Chromium).
Questo tutorial spiega come ospitare il tuo servizio Wallabag su un Ubuntu 16.04 server o VPS.
Prerequisiti
Per installare wallabag, dovrai avere accesso a un utente con root privilegi.
Si presume che tu abbia già impostato una LAMP stack o LEMP pila su Ubuntu 16.04. Wallabag è in grado di funzionare con PHP>=5.5, incluso PHP 7. Se non l'hai già fatto, dai un'occhiata alle seguenti guide facili da seguire.
- Installa Apache, MariaDB e PHP7 (Stack LAMP) su Ubuntu 16.04 LTS
- Installa Nginx, MariaDB e PHP7 (LEMP Stack) su Ubuntu 16.04 LTS
Quando hai finito, torna qui e continua a leggere.
Accedi tramite SSH
Accedi al tuo server come nuovo utente che hai creato (o root) tramite SSH (sostituisci qui il tuo nome utente e indirizzo IP del server):
ssh new_user@server_IP_address
Rispondi alla richiesta della password per completare il processo di accesso.
Iniziamo con l'installazione di Wallabag!
Fase 1:crea un database e un utente per Wallabag
Wallabag ha bisogno di un database per memorizzare le tue pagine web e in questo tutorial useremo il database MariaDB/MySQL. Esegui il comando seguente per accedere alla shell MariaDB/MySQL come root. Nota che questo è l'utente root MariaDB/MySQL, non l'utente root del sistema Ubuntu 16.04.
mysql -u root -p
Se vedi Access denied for user 'root'@'localhost'
errore, quindi è necessario disabilitare l'autenticazione socket Unix.
Quindi crea un nuovo database per Wallabag usando il comando seguente. Questo tutorial lo chiama wallabag, puoi usare il nome che preferisci per il database.
create database wallabag;
Quindi, crea un nuovo utente del database su localhost usando il comando seguente. Ancora una volta, questo tutorial lo chiama wallabaguser, puoi usare il nome che preferisci.
create user wallabaguser@localhost;
Impostare una password per l'utente. Sostituisci la tua password con la tua password preferita.
set password for wallabaguser@localhost= password("your-password");
Quindi concedi tutte le autorizzazioni del nuovo database al nuovo utente in modo che in seguito Wallabag possa scrivere nel database.
grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';
Svuota la tabella dei privilegi per rendere effettive le modifiche.
flush privileges;
Esci da MariaDB Shell:
exit;
Le tue pagine web verranno archiviate in wallabag_entry
table dopo aver terminato l'installazione di wallabag alla fine di questo tutorial.
Fase 2:installa il pacchetto php7.0-mysql
Un'altra cosa importante che dobbiamo fare riguardo al database è installare il pacchetto php7.0-mysql.
sudo apt install php7.0-mysql
Il php7.0-mysql
packages fornisce il pdo_mysql
driver che verrà utilizzato da wallabag per connettersi al database MariaDB/MySQL, altrimenti Wallabag non ha modo di connettersi ad esso. Se stai eseguendo PHP come modulo Apache, dopo aver installato il pacchetto, devi riavviare il server Web Apache in modo che il driver sia abilitato.
sudo systemctl restart apache2
Se stai eseguendo PHP con php7.0-fpm, non è necessario riavviare Apache o php7.0-fpm. Il pdo_mysql
il driver verrà abilitato automaticamente dopo l'installazione.
Se non sei sicuro di utilizzare il Apache module
o php7.0-fpm
, quindi crea un test.php
file nella radice del documento (per impostazione predefinita /var/www/html
).
sudo nano /var/www/html/test.php
Quindi incolla il seguente codice PHP nel file.
<?php phpinfo(); ?>
Premi Ctrl+O per salvare il file, quindi premi Ctrl+X uscire. Ora nella barra degli indirizzi del browser, inserisci
server-ip-address/test.php
Sostituisci l'indirizzo IP del server con il tuo IP effettivo. Dovresti vedere le informazioni PHP del tuo server. Se il valore di Server API
è Apache 2.0 Handler
, quindi stai usando PHP7.0 come modulo Apache. Se il valore è PHP7.0-FPM
, PHP è in esecuzione come servizio FPM.
Fase 3:installa Wallabag
Useremo lo strumento git per clonare il repository Wallabag da Github e successivamente installare Wallabag con Composer. Quindi installa git su Ubuntu 16.04 con il comando seguente:
sudo apt install git
Quindi clona il repository Wallabag e cambia la tua directory di lavoro nel repository.
git clone https://github.com/wallabag/wallabag.git cd wallabag
L'ultima versione di Wallabag (2.1.2) è stata rilasciata il 17 ottobre 2016. Passa alla versione 2.1.2 con git checkout
comando.
git checkout 2.1.2
Prima di installare Wallabag con Composer, dobbiamo assicurarci che le seguenti estensioni PHP siano installate su Ubuntu 16.04.
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
Successivamente, dobbiamo installare Composer che è un gestore delle dipendenze per PHP. Scaricherà e installerà per noi tutte le dipendenze Wallabag necessarie.
sudo apt install composer
Ora imposta la variabile Symfony e installa Wallabag usando il comando seguente. SYMFONY_ENV=prod
dice a symfony che stiamo installando Wallabag in un ambiente di produzione. Il --no-dev
flag assicura che nessun pacchetto di sviluppo sia installato nell'ambiente di produzione.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Durante il processo di installazione, il compositore scaricherà e installerà tutte le dipendenze necessarie.
Successivamente, ti verrà chiesto di fornire i parametri mancanti in modo che app/config/parameters.yml
è possibile creare file. Composer fornisce già alcuni valori predefiniti, ma non possono essere utilizzati per un servizio Wallabag di produzione.
Per semplicità, suddividiamo le domande in due parti. La prima parte riguarda i parametri del database. Ecco le domande ei parametri forniti da questo tutorial.
Creating the "app/config/parameters.yml" file Some parameters are missing. Please provide them. database_driver (pdo_sqlite): pdo_mysql database_host (127.0.0.1): 127.0.0.1 database_port (null): 3306 database_name (symfony): wallabag database_user (root): wallabaguser database_password (null): your-password database_path ('%kernel.root_dir%/../data/db/wallabag.sqlite'): /var/lib/mysql/wallabag database_table_prefix (wallabag_): wallabag_
Questa prima domanda è quale driver di database, ovvero quale database si desidera utilizzare per Wallabag. Il driver predefinito è pdo_sqlite
il che significa che il database SQLite verrà utilizzato per archiviare le pagine Web. Questo articolo utilizzerà MariaDB/MySQL perché sono veloci e sono il più popolare sistema di gestione di database relazionali open source. Abbiamo già abilitato il pdo_mysql
driver all'inizio di questo articolo. Quindi inserisci pdo_mysql
come risposta alla prima domanda.
Alle altre domande è facile rispondere. Inserisci 127.0.0.1
come host del database e 3306
come porta del database perché per impostazione predefinita il database MariaDB/MySQL sarà in ascolto su 127.0.0.1:3306. Quindi inserisci il nome del database, l'utente del database e la password dell'utente del database che hai creato nel passaggio 1. Il percorso del database predefinito di MariaDB/MySQL è /var/lib/mysql
. Tutti i database e le tabelle sono archiviati in questa directory. Il prefisso della tabella del database ti aiuta a riconoscere che queste tabelle sono per Wallabag.
Ora nella seconda parte puoi semplicemente premere Invio per utilizzare i valori predefiniti.
mailer_transport (smtp): mailer_host (127.0.0.1): mailer_user (null): mailer_password (null): locale (en): secret (ovmpmAWXRCabNlMgzlzFXDYmCFfzGv): twofactor_auth (true): twofactor_sender ([email protected]): fosuser_confirmation (true): from_email ([email protected]):
Una volta fatto, esegui il seguente comando.
php bin/console wallabag:install --env=prod
Verificherà i requisiti di sistema e configurerà il database. Quando ti chiede se desideri reimpostare il database, premi n per rispondere no Quindi ti verrà chiesto di creare un utente amministratore.
Installing Wallabag... Step 1 of 5. Checking system requirements. +-----------------+--------+----------------+ | Checked | Status | Recommendation | +-----------------+--------+----------------+ | PDO Driver | OK! | | | curl_exec | OK! | | | curl_multi_init | OK! | | +-----------------+--------+----------------+ Success! Your system can run Wallabag properly. Step 2 of 5. Setting up database. It appears that your database already exists. Would you like to reset it? (y/N)n Creating schema Clearing the cache Step 3 of 5. Administration setup. Would you like to create a new admin user (recommended) ? (Y/n)y Username (default: wallabag) : your-admin-username Password (default: wallabag) : admin-pasword-here Email: admin-email-here Step 4 of 5. Config setup. Step 5 of 5. Installing assets. Wallabag has been successfully installed. Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000
Il passaggio 2 creerà tabelle di database wallabag. Una volta fatto, spostiamo la directory wallabag in /var/www/
.
cd ~ sudo mv ~/wallabag/ /var/www/
Quindi imposta l'utente Apache (www-data) come proprietario.
sudo chown www-data:www-data /var/www/wallabag -R
Fase 4:configura l'host virtuale Apache
Crea un file di configurazione dell'host virtuale per Wallabag.
sudo nano /etc/apache2/sites-available/wallabag.conf
Se usi PHP come modulo Apache, copia e incolla il seguente testo nel file di configurazione. Sostituisci wallabag.example.com
con il tuo nome di dominio. Dovresti anche puntare il tuo nome di dominio all'indirizzo IP del tuo server Ubuntu 16.04 in DNS.
<VirtualHost *:80> ServerName wallabag.exmaple.com ServerAlias wallabag.example.com DocumentRoot /var/www/wallabag/web <Directory /var/www/wallabag/web> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeScript assets # <Directory /var/www/wallabag> # Options FollowSymlinks # </Directory> # optionally disable the RewriteEngine for the asset directories # which will allow apache to simply reply with a 404 when files are # not found instead of passing the request into the full symfony stack <Directory /var/www/wallabag/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> ErrorLog /var/log/apache2/wallabag_error.log CustomLog /var/log/apache2/wallabag_access.log combined </VirtualHost>
La configurazione di cui sopra utilizza PHP come modulo Apache, se vuoi eseguire PHP con php7.0-fpm, aggiungi il ProxyPassMatch
regola sotto CustomLog
.
..... CustomLog /var/log/apache2/wallabag_access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/wallabag/web/ </VirtualHost>
Salva e chiudi il file. Nella configurazione precedente, abbiamo utilizzato il modulo di riscrittura di Apache per riscrivere l'URL. Dobbiamo assicurarci che mod_rewrite
viene abilitato eseguendo il comando seguente in modo che la riscrittura dell'URL funzioni e il front-end di Wallabag possa essere visualizzato correttamente.
sudo a2enmod rewrite
Quindi abilita questo host virtuale creando un collegamento simbolico.
sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
E per rendere effettive le modifiche di cui sopra, riavvia Apache.
sudo systemctl restart apache2
Ora dovresti essere in grado di accedere alla tua interfaccia web Wallabag su wallabag.example.com
e accedi.
Configurazione del file di blocco del server Nginx
Crea il file.
sudo nano /etc/nginx/conf.d/wallabag.conf
Copia e incolla il seguente testo nel file di configurazione. Sostituisci wallabag.example.com con il tuo nome di dominio. Dovresti anche puntare il tuo nome di dominio all'indirizzo IP del tuo server Ubuntu 16.04 in DNS.
server { server_name wallabag.example.com; root /var/www/wallabag/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { fastcgi_pass unix:/run/php/php7.0-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; } error_log /var/log/nginx/wallabag_error.log; access_log /var/log/nginx/wallabag_access.log; }
Salva e chiudi il file. Quindi ricarica Nginx in modo che il blocco del server possa essere abilitato.
sudo systemctl reload nginx
Ora dovresti essere in grado di accedere alla tua interfaccia web wallabag su wallabag.example.com
e accedi.
Configurazione di un server SMTP di base
Nota che per registrare nuovi utenti, il tuo server Ubuntu 16.04 deve avere un server SMTP in esecuzione per inviare e-mail di conferma ai nuovi utenti. Puoi utilizzare Postfix per questo scopo.
sudo apt install postfix
Durante l'installazione, ti verrà chiesto di selezionare un tipo di configurazione per Postfix. Seleziona Internet Site
in modo che Postfix possa inviare e-mail ad altri server SMTP su Internet.
Nel campo del nome dell'e-mail di sistema, inserisci qualcosa come wallabag.your-domain.com
.
E ora abbiamo finalmente finito e possiamo iniziare a salvare le pagine web. Ciao!
Spero che questo tutorial ti abbia aiutato a installare Wallabag sul server Ubuntu 16.04 con LAMP o LEMP. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita o seguici su Google+, Twitter o mi piace alla nostra pagina Facebook.