GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte Wallabag na server Ubuntu 16.04 pomocí LAMP nebo LEMP

Wallabag je bezplatná samohostitelná aplikace pro ukládání webových stránek. Jedná se o open source alternativu k jiné proprietární aplikaci pro pozdější čtení, jako je Pocket a Instapaper , což vám umožní spravovat seznam článků, na které jste na internetu narazili, pro pozdější přečtení.

Vlastnosti Wallabag:

  1. Wallabag odstraňuje reklamy a nesouvisející obsah z vašich webových stránek a poskytuje pouze text článku a související obrázky, aby byly snadno čitelné. To je zvláště užitečné, když si je prohlížíte na chytrém telefonu nebo tabletu.
  2. Wallabag ukládá vaše webové stránky do databáze, takže i když původní webová stránka zmizí, stále ji můžete zobrazit ve Wallabag .
  3. Všechny své webové stránky můžete snadno exportovat do souborů TXT, HTML, CSV, EPUB, MOBI, PDF nebo JSON.
  4. Můžete si také nainstalovat rozšíření prohlížeče Wallabag a aplikaci pro chytré telefony pro snadný přístup k Wallabag.
  5. Možnost importovat záložky z Firefoxu a prohlížeče Google Chrome (nebo Chromium).

Tento návod popisuje, jak hostovat vlastní službu Wallabag na Ubuntu 16.04 server nebo VPS.

Předpoklady

Chcete-li nainstalovat wallabag, budete potřebovat přístup k uživateli s rootem privilegia.

Předpokládá se, že jste již nastavili LAMP zásobník nebo LEMP zásobník na Ubuntu 16.04. Wallabag je schopen běžet s PHP>=5.5, včetně PHP 7. Pokud jste tak ještě neučinili, podívejte se na následující snadno použitelné průvodce.

  • Nainstalujte Apache, MariaDB a PHP7 (LAMP Stack) na Ubuntu 16.04 LTS
  • Nainstalujte Nginx, MariaDB a PHP7 (LEMP Stack) na Ubuntu 16.04 LTS

Až budete hotovi, vraťte se sem a čtěte dál.

Přihlaste se přes SSH

Přihlaste se na svůj server jako nový uživatel, kterého jste vytvořili (nebo root) přes SSH (zde nahraďte své uživatelské jméno a IP adresu serveru):

ssh new_user@server_IP_address

Odpovězte na výzvu k zadání hesla a dokončete proces přihlášení.

Začněme s instalací Wallabag!

Krok 1:Vytvořte databázi a uživatele pro Wallabag

Wallabag potřebuje databázi pro ukládání vašich webových stránek a v tomto tutoriálu budeme používat databázi MariaDB/MySQL. Spusťte následující příkaz a přihlaste se do prostředí MariaDB/MySQL jako root. Všimněte si, že toto je uživatel root MariaDB/MySQL, nikoli uživatel root systému Ubuntu 16.04.

mysql -u root -p

Pokud vidíte Access denied for user 'root'@'localhost' chyba, pak musíte zakázat ověřování unixových soketů.

Poté vytvořte novou databázi pro Wallabag pomocí následujícího příkazu. Tento tutoriál to pojmenuje wallabag, pro databázi můžete použít jakýkoli název.

create database wallabag;

Dále vytvořte nového uživatele databáze na localhost pomocí následujícího příkazu. Opět, tento tutoriál jej pojmenujte wallabaguser, můžete použít jakýkoli název, který se vám líbí.

create user wallabaguser@localhost;

Nastavte heslo pro uživatele. Nahraďte své heslo preferovaným heslem.

set password for wallabaguser@localhost= password("your-password");

Poté udělte veškerá oprávnění nové databáze novému uživateli, aby později mohl Wallabag zapisovat do databáze.

grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';

Aby se změny projevily, vyprázdněte tabulku oprávnění.

flush privileges;

Ukončete prostředí MariaDB:

exit;

Vaše webové stránky budou uloženy v wallabag_entry po dokončení instalace wallabag na konci tohoto tutoriálu.

Krok 2:Nainstalujte balíček php7.0-mysql

Další důležitá věc, kterou musíme udělat ohledně databáze, je nainstalovat balíček php7.0-mysql.

sudo apt install php7.0-mysql

Soubor php7.0-mysql packages poskytuje pdo_mysql ovladač, který použije wallabag pro připojení k databázi MariaDB/MySQL, jinak se k ní Wallabag nemá jak připojit. Pokud spouštíte PHP jako modul Apache, pak po instalaci balíčku musíte restartovat webový server Apache, aby byl ovladač povolen.

sudo systemctl restart apache2

Pokud používáte PHP s php7.0-fpm, nemusíte restartovat Apache nebo php7.0-fpm. pdo_mysql ovladač se po instalaci automaticky aktivuje.

Pokud si nejste jisti, zda používáte Apache module nebo php7.0-fpm a poté vytvořte test.php soubor v kořenovém adresáři dokumentu (ve výchozím nastavení /var/www/html ).

sudo nano /var/www/html/test.php

Poté do souboru vložte následující kód PHP.

<?php phpinfo(); ?>

Stiskněte Ctrl+O uložte soubor a poté stiskněte Ctrl+X k východu. Nyní do adresního řádku prohlížeče zadejte

server-ip-address/test.php

Nahraďte server-ip-address svou skutečnou IP. Měli byste vidět informace o PHP serveru. Pokud je hodnota Server API je Apache 2.0 Handler , pak používáte PHP7.0 jako modul Apache. Pokud je hodnota PHP7.0-FPM , pak PHP běží jako služba FPM.

Krok 3:Instalace Wallabag

Ke klonování úložiště Wallabag z Githubu použijeme nástroj git a později nainstalujeme Wallabag pomocí Composeru. Nainstalujte tedy git na Ubuntu 16.04 pomocí níže uvedeného příkazu:

sudo apt install git

Poté naklonujte úložiště Wallabag a změňte svůj pracovní adresář na úložiště.

git clone https://github.com/wallabag/wallabag.git

cd wallabag

Poslední verze Wallabag (2.1.2) byla vydána 17. října 2016. Přejděte na verzi 2.1.2 pomocí git checkout příkaz.

git checkout 2.1.2

Než nainstalujeme Wallabag s Composerem, musíme se ujistit, že jsou na Ubuntu 16.04 nainstalována následující rozšíření PHP.

sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd

Dále musíme nainstalovat Composer, což je správce závislostí pro PHP. Stáhne a nainstaluje za nás všechny potřebné závislosti Wallabag.

sudo apt install composer

Nyní nastavte proměnnou Symfony a nainstalujte Wallabag pomocí následujícího příkazu. SYMFONY_ENV=prod říká společnosti Symfony, že instalujeme Wallabag v produkčním prostředí. --no-dev flag zajišťuje, že v produkčním prostředí nejsou instalovány žádné vývojové balíčky.

SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist

Během procesu instalace si skladatel stáhne a nainstaluje všechny potřebné závislosti.

Poté budete požádáni o zadání chybějících parametrů, aby app/config/parameters.yml soubor lze vytvořit. Composer již poskytuje některé výchozí hodnoty, ale nelze je použít pro produkční službu Wallabag.

Pro jednoduchost rozdělíme otázky na dvě části. První část je o parametrech databáze. Zde jsou otázky a parametry, které tento tutoriál poskytuje.

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_

Tato první otázka je, jaký databázový ovladač, tedy jakou databázi chcete použít pro Wallabag. Výchozí ovladač je pdo_sqlite což znamená, že k ukládání webových stránek bude použita databáze SQLite. Tento článek bude používat MariaDB/MySQL, protože jsou rychlé a jsou nejoblíbenějším open source systémem pro správu relačních databází. Již jsme povolili pdo_mysql ovladač na začátku tohoto článku. Zadejte tedy pdo_mysql jako odpověď na první otázku.

Na ostatní otázky je snadné odpovědět. Zadejte 127.0.0.1 jako hostitel databáze a 3306 jako databázový port, protože ve výchozím nastavení bude MariaDB/MySQL naslouchat na 127.0.0.1:3306. Poté zadejte název databáze, uživatele databáze a heslo uživatele databáze, které jste vytvořili v kroku 1. Výchozí cesta k databázi MariaDB/MySQL je /var/lib/mysql . V tomto adresáři jsou uloženy všechny vaše databáze a tabulky. Předpona databázové tabulky vám pomůže rozpoznat, že tyto tabulky jsou pro Wallabag.

Nyní ve druhé části stačí stisknout Enter a použít výchozí hodnoty.

 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]):

Jakmile to uděláte, spusťte následující příkaz.

php bin/console wallabag:install --env=prod

Zkontroluje systémové požadavky a nastaví databázi. Až se vás zeptá, zda chcete obnovit databázi, stiskněte n odpovědět ne. Poté budete požádáni o vytvoření uživatele admin.

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

Krok 2 vytvoří databázové tabulky wallabag. Jakmile to uděláme, přesuneme adresář wallabag do  /var/www/ .

cd ~

sudo mv ~/wallabag/ /var/www/

Poté nastavte uživatele Apache (www-data) jako vlastníka.

sudo chown www-data:www-data /var/www/wallabag -R

Krok 4:Nastavení virtuálního hostitele Apache

Vytvořte konfigurační soubor virtuálního hostitele pro Wallabag.

sudo nano /etc/apache2/sites-available/wallabag.conf

Pokud používáte PHP jako modul Apache, zkopírujte a vložte následující text do konfiguračního souboru. Nahraďte wallabag.example.com s vlastním názvem domény. Také byste měli nasměrovat název své domény na IP adresu vašeho serveru Ubuntu 16.04 v 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>

Výše uvedená konfigurace používá PHP jako modul Apache, pokud chcete spouštět PHP s php7.0-fpm, přidejte ProxyPassMatch pravidlo níže 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>

Uložte a zavřete soubor. Ve výše uvedené konfiguraci jsme k přepsání URL použili modul Apache rewrite. Musíme se ujistit, že mod_rewrite je povoleno spuštěním následujícího příkazu, aby přepisování URL fungovalo a frontend Wallabag se mohl správně zobrazit.

sudo a2enmod rewrite

Poté povolte tohoto virtuálního hostitele vytvořením symbolického odkazu.

sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/

A aby se výše uvedené změny projevily, restartujte Apache.

sudo systemctl restart apache2

Nyní byste měli mít přístup k webovému rozhraní Wallabag na adrese wallabag.example.com a přihlaste se.

Nastavení blokového souboru serveru Nginx

Vytvořte soubor.

sudo nano /etc/nginx/conf.d/wallabag.conf

Zkopírujte a vložte následující text do konfiguračního souboru. Nahraďte wallabag.example.com svým vlastním názvem domény. Také byste měli nasměrovat název své domény na IP adresu vašeho serveru Ubuntu 16.04 v 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;
}

Uložte a zavřete soubor. Poté znovu načtěte Nginx, aby bylo možné povolit blokování serveru.

sudo systemctl reload nginx

Nyní byste měli mít přístup k webovému rozhraní wallabag na adrese wallabag.example.com a přihlaste se.

Nastavení základního serveru SMTP

Všimněte si, že k registraci nových uživatelů musí mít váš server Ubuntu 16.04 spuštěný server SMTP, aby bylo možné odesílat potvrzovací e-maily novým uživatelům. Pro tento účel můžete použít Postfix.

sudo apt install postfix

Během instalace budete požádáni o výběr typu konfigurace pro Postfix. Vyberte Internet Site takže Postfix může odesílat e-maily na jiné servery SMTP na internetu.

Do pole pro název systémové pošty zadejte něco jako wallabag.your-domain.com .

A nyní jsme konečně hotovi a můžeme začít ukládat webové stránky. Na zdraví!

Doufám, že vám tento návod pomohl nainstalovat Wallabag na server Ubuntu 16.04 s LAMP nebo LEMP. Jako vždy, pokud se vám tento příspěvek zdál užitečný,  přihlaste se k odběru našeho bezplatného zpravodaje nebo nás sledujte na Google+, Twitteru nebo lajkujte naši stránku na Facebooku.


Ubuntu
  1. Monitorování serveru pomocí Shinken na Ubuntu 16.04

  2. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 16.04

  3. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 20.04

  1. Nainstalujte WordPress s LAMP Stack na Ubuntu 20.04

  2. Nainstalujte WordPress na Ubuntu 16.04 / Ubuntu 14.04 s LAMP

  3. Nainstalujte phpMyAdmin s Apache na Ubuntu 20.04

  1. Jak nainstalovat databázový server Percona na Ubuntu 20.04

  2. Nainstalujte ProjectSend na Ubuntu 20.04 s Nginx (LEMP Stack)

  3. Nainstalujte NextCloud na Ubuntu 18.04 s Nginx (LEMP Stack)