Wallabag je služba typu read it later. Umožňuje vám ukládat webové stránky, abyste si je mohli později číst svým vlastním tempem. Existuje mnoho služeb, které vám to umožňují, jako je Pocket, Instapaper atd., ale mít službu nainstalovanou na serveru, který vlastníte, je výhodné. Jednak to nevyjde z provozu a nevezme s sebou odkazy. A vy budete mít svá data procházení v soukromí.
Tento tutoriál se bude zabývat tím, jak nainstalovat a nastavit Wallabag na server běžící na Ubuntu 18.04 a vyšším. Bude také pokrývat, jak nastavit Nginx, MariaDB, Git, Postfix, Composer a PHP, které Wallabag vyžaduje ke spuštění.
Předpoklady
Než budete pokračovat s naším výukovým programem, budete potřebovat následující.
-
Server založený na Ubuntu 18.04 s uživatelem bez oprávnění root s právy sudo.
-
Budete také potřebovat nástroj Make. Chcete-li jej nainstalovat, použijte následující příkaz
$ sudo apt install make
Instalovat git
Prvním krokem je nainstalovat Git, který později použijeme ke zkopírování instalačních souborů wallabag z jeho git repozitáře. Git se dnes běžně instaluje na většinu webových serverů. Pokud tomu tak není, pokračujte následujícími příkazy.
$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email "[email protected]"
Instalovat Nginx
$ sudo apt install nginx
Pokud používáte firewall Ubuntu, přidejte do jeho seznamu následující pravidla.
$ sudo ufw allow "Nginx HTTP"
Zkontrolujte také stav.
$ sudo ufw status
Měli byste vidět něco takového
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Zkuste získat přístup k IP adrese vašeho serveru v prohlížeči. Měli byste vidět následující výchozí stránku Nginx, která potvrzuje, že Nginx byl úspěšně nainstalován.
Instalovat MariaDB
MariaDB je náhradní náhrada za MySQL, což znamená, že příkazy ke spuštění a ovládání MariaDB jsou stejné jako příkazy pro MySQL. Chcete-li nainstalovat MariaDB, zadejte následující příkazy
$ sudo apt install mariadb-server
Spuštěním následujícího příkazu provedete výchozí konfiguraci, jako je zadání hesla uživatele root, odebrání anonymních uživatelů, zakázání vzdáleného přihlášení uživatele root a zrušení testovacích tabulek. Pro vše stiskněte ano a nastavte heslo uživatele root.
$ sudo mysql_secure_installation
Existuje upozornění na nastavení hesla uživatele root. MariaDB ve výchozím nastavení umožňuje uživatelům root systému přihlásit se do MariaDB bez hesla. Ale pokud budete používat aplikaci třetí strany pro přístup přes root, heslo je nutností, jinak aplikace jako PHPMyAdmin selžou. Za tímto účelem musíte deaktivovat ověřování založené na pluginu, což je výchozí možnost na MariaDB.
Chcete-li zakázat ověřování pluginu a obnovit heslo uživatele root, zadejte nejprve výzvu MySQL pomocí následujícího příkazu.
$ sudo mysql -u root
Nyní zadejte následující příkazy pro deaktivaci ověřování pluginu.
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Poté restartujte službu MariaDB.
$ sudo systemctl restart mariadb.service
A je to. Až se příště budete chtít přihlásit do MySQL, použijte následující příkaz
$ sudo mysql -u root -p
A budete požádáni o heslo uživatele root, které jste nastavili původně.
Konfigurace MariaDB pro Wallabag
Nyní musíme nastavit databázi, kterou použijeme pro aplikaci wallabag. Chcete-li to provést, přihlaste se do výzvy MySQL. Budeme předpokládat, že po zbytek výukového programu používáte výchozí metodu ověřování MariaDB (tj. bez použití hesla root).
$ sudo mysql -u root
Po výzvě zadejte následující příkazy, které nastaví databázi s názvem wallabag a uživatele databáze s názvem wallabaguser a udělí mu přístup k databázi.
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
Nainstalujte PHP a skladatel
Nyní, když je náš server v provozu, je čas nainstalovat PHP a Composer. Protože používáme Nginx, musíme nainstalovat balíček PHP-FPM. Spolu s tím budeme potřebovat několik dalších rozšíření PHP, jako je mbstring, mysql, gd, bc-math, curl, zip a 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
To je prozatím vše. Ke konfigurační části PHP a skladatele se dostaneme později. Pojďme k dalšímu kroku.
Nakonfigurujte Nginx
Je čas nakonfigurovat naši instalaci Nginx, než budeme pokračovat ve skutečné instalaci. Za předpokladu, že název domény, kterou používáte pro wallabag, je example.com, vytvořte adresář, kde budete hostovat svou instalaci. Wallabag se nainstaluje do adresáře html.
$ sudo mkdir -p /var/www/example.com/html
Dále přiřaďte vlastnictví adresáře www-data, která používá Nginx.
$ sudo chown -R www-data:www-data /var/www/example.com/html
Ujistěte se, že jsou nastavena správná oprávnění.
$ sudo chmod -R 755 /var/www/example.com
Dále vytvořte virtuálního hostitele pro web.
sudo nano /etc/nginx/sites-available/example.com
Vložte následující konfiguraci, která funguje s 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;
}
Uložte soubor stisknutím Ctrl + X a zadáním Y po výzvě. Dále musíme tuto konfiguraci povolit. Za tímto účelem z něj vytvořte odkaz na adresář s povolenými weby.
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Můžete čelit problému s blokem paměti, který vzniká kvůli dalším názvům serverů. Chcete-li to opravit, otevřete soubor nginx.conf
$ sudo nano /etc/nginx/nginx.conf
Najděte server_names_hash_bucket_size
direktivu a odstraňte #
symbol pro odkomentování řádku:
server_names_hash_bucket_size 64;
Uložte soubor. Dále se ujistěte, že v konfiguracích Nginx nejsou žádné chyby.
$ sudo nginx -t
Pokud nenastanou žádné problémy, restartujte Nginx a povolte nové změny.
$ sudo systemctl restart nginx
Instalovat Wallabag
Nejprve naklonujte wallabag z jeho úložiště GitHub. Protože jsme uživateli www-data udělili oprávnění ke složce html, budeme se do ní muset přepnout, abychom spustili instalaci.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html
Tím se zkopírují instalační soubory wallabag do adresáře html. Nainstalujte Wallabag pomocí příkazu make.
$ cd html
$ make install
Během instalace budete dotázáni na několik otázek.
Pokud chcete použít http
, zadejte http://example.com
místo toho, když budete požádáni o název domény, a přeskočte část kurzu HTTPS.
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
Budete také požádáni o podrobnosti SMTP pro přijímání e-mailů týkajících se zapomenutého hesla nebo dvoufaktorové autentizace. Pokud chcete použít službu SMTP třetí strany, jako je Mailgun nebo Sendgrid, můžete vyplnit zbývající hodnoty nebo jednoduše stisknout Enter jejich prostřednictvím. Zadejte no
proti parametru fosuser_registration
pokud nechcete, aby se na vašem webu někdo registroval. Změňte také hodnotu secret
parametr. Pokud chcete importovat velká data, nainstalujte RabbitMQ nebo Redis a na požádání zadejte hodnoty.
Až budete vyzváni, zda chcete obnovit stávající databázi, stiskněte Enter použít výchozí možnost (ne). Budete také požádáni o vytvoření uživatele Admin.
Po dokončení se přepněte zpět na své výchozí uživatelské přihlášení do Ubuntu.
$ exit
Konfigurovat SMTP
Pokud chcete nastavit základní SMTP server a nepoužívat služby SMTP třetích stran, nainstalujte si Mailutils.
$ sudo apt install mailutils
Během instalace budete požádáni o výběr typu konfigurace pro Postfix. Vyberte Internet Site
a pokračujte. Zadejte example.com
při dotazu na pole System mail name. To je ono.
Konfigurovat HTTPS
K nastavení HTTPS pro naši instalaci wallabag použijeme Let's Encrypt. Přidejte následující úložiště pro nástroj Certbot.
$ sudo add-apt-repository ppa:certbot/certbot
Nainstalujte balíček Certbot Nginx z úložiště.
$ sudo apt install python-certbot-nginx
Získejte certifikát pro vaši doménu example.com.
$ sudo certbot --nginx -d example.com -d www.example.com
Pokud používáte nástroj Certbot poprvé, budete požádáni o poskytnutí e-mailu a souhlas s podmínkami služby. Budete také dotázáni, zda chcete, aby byl váš e-mail sdílen s EFF (Electronic Frontier Foundation). Zvolte N pokud nechcete, aby vám EFF poslal e-mail ohledně svých novinek a kampaní.
Pokud to bude úspěšné, Certbot se vás zeptá, jak chcete nakonfigurovat nastavení 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):
Vyberte 2 protože chceme, aby všechny požadavky na vaši doménu byly přesměrovány na https.
A je to. Vaše doména HTTPS je aktivní. Certbot automaticky obnoví vaši doménu po každých 90 dnech. Chcete-li otestovat proces obnovy, proveďte zkušební provoz.
$ sudo certbot renew --dry-run
Pokud nevidíte žádné chyby, znamená to, že je vše perfektní.
Konfigurovat Wallabag
Nyní, když jsme nastavili wallabag, otevřete svou doménu wallabag. Měli byste vidět následující obrazovku.
Zadejte přihlašovací údaje, které jste zvolili během make
proces výše. Po přihlášení byste měli vidět následující obrazovku.
Měli byste povolit dvoufaktorové ověřování. Chcete-li to provést, klikněte na tlačítko Config vlevo a vyberte USER INFORMATION
z následující obrazovky. Zaškrtněte políčko Two-factor authentication
pro jeho aktivaci.
Svá data můžete importovat z aplikací Pockets, Instapaper, Pinboard a záložek z prohlížečů Firefox a Chrome.
Wallabag vám poskytuje množství aplikací pro každý prohlížeč, mobil nebo čtečku elektronických knih, pomocí kterých můžete přidávat odkazy. A pokud vás nic jiného nezajímá, můžete dokonce použít Bookmarklet, jehož podrobnosti najdete v How to
v nastavení.
Upgrade Wallabag
Chcete-li upgradovat Wallabag na nejnovější verzi, stačí zadat následující příkazy.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update
To je pro tento tutoriál vše. Nyní můžete ukládat a číst články ze svého serveru, aniž byste ohrozili soukromí svých dat.