GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Wallabag su Ubuntu 16.04 Server con LAMP o LEMP

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:

  1. 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.
  2. Wallabag salva le tue pagine web in un database, quindi anche se la pagina web originale scompare, puoi comunque visualizzarla in Wallabag .
  3. Puoi esportare facilmente tutta la tua pagina web in file TXT, HTML, CSV, EPUB, MOBI, PDF o JSON.
  4. Puoi anche installare l'estensione del browser Wallabag e l'app per smartphone per accedere facilmente a Wallabag.
  5. 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.


Ubuntu
  1. Monitoraggio del server con Shinken su Ubuntu 16.04

  2. Installa WordPress con Stack LAMP su Ubuntu 20.04

  3. Installa WordPress su Ubuntu 16.04 / Ubuntu 14.04 con LAMP

  4. Come installare WordPress con lo stack LAMP su Ubuntu 16.04

  5. Come installare WordPress con lo stack LAMP su Ubuntu 20.04

Installa NextCloud su Ubuntu 20.04 con Nginx (stack LEMP)

Come installare phpMyAdmin con LAMP su Ubuntu 16.04

2 modi per installare il server LAMP su Ubuntu 22.04 | 20.04

Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04

Come installare WordPress con LAMP su Ubuntu 20.04

Come installare Joomla con LAMP su Ubuntu 20.04