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:
- 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.
- 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 .
- Všechny své webové stránky můžete snadno exportovat do souborů TXT, HTML, CSV, EPUB, MOBI, PDF nebo JSON.
- Můžete si také nainstalovat rozšíření prohlížeče Wallabag a aplikaci pro chytré telefony pro snadný přístup k Wallabag.
- 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.