Как установить Wallabag на Ubuntu 18.04 LTS

12 set 2022 6 min di lettura
Как установить Wallabag на Ubuntu 18.04 LTS
Indice dei contenuti

Введение

Wallabag — это программное обеспечение, которое позволяет сохранять веб-страницы, чтобы вы могли прочитать их позже. Есть много сервисов, которые позволяют это сделать, например, Pocket, Instapaper и т. д. Но наличие службы, установленной на вашем собственном сервере, выгодно. Во-первых, он не перестанет работать и разорвет связи со сторонними сервисами, и вы сможете сохранить конфиденциальность своих данных просмотра.

В этом руководстве показано, как установить и настроить Wallabag на сервере под управлением Ubuntu 18.04 и более поздних версий. Также будет описано, как настроить Nginx, MariaDB, Git, Postfix, Composer и PHP, необходимые для работы Wallabag.

Предпосылки

Прежде чем приступить к нашему руководству, вам понадобится следующее.

Вам также понадобится инструмент Make. Чтобы установить его, просто используйте следующую команду:

sudo apt install make

Установить Гит

Первый шаг — установить Git, который мы будем использовать позже для копирования установочных файлов Wallabag из его репозитория git. В наши дни Git обычно устанавливается на большинстве веб-серверов. Если нет, выполните следующие команды:

sudo apt install git
git config --global user.name "Your name"
git config --global user.email "[email protected]"

Установите Nginx

sudo apt install nginx

Если вы используете брандмауэр Ubuntu, добавьте в его список следующие правила:

sudo ufw allow "Nginx HTTP"

Также проверьте статус:

sudo ufw status

Вы должны увидеть что-то вроде этого:

Status: active

 To Action From
 -- ------ ----
 OpenSSH ALLOW Anywhere
 Nginx HTTP ALLOW Anywhere
 OpenSSH (v6) ALLOW Anywhere (v6)
 Nginx HTTP (v6) ALLOW Anywhere (v6)

Попробуйте получить доступ к IP-адресу вашего сервера в браузере. Вы должны увидеть страницу Nginx по умолчанию, подтверждающую, что Nginx успешно установлен.

Установить MariaDB

MariaDB является заменой MySQL, а это означает, что команды для запуска и запуска MariaDB такие же, как и для MySQL. Чтобы установить MariaDB, введите следующие команды:

sudo apt install mariadb-server

Существует предостережение с установкой пароля root. По умолчанию MariaDB позволяет системным пользователям root получать доступ к MariaDB без пароля. Но если вы собираетесь использовать стороннее приложение для входа в систему как root, пароль обязателен, иначе такие приложения, как PHPMyAdmin, не будут работать. Для этого необходимо отключить аутентификацию на основе подключаемых модулей, что является параметром по умолчанию в MariaDB.

Войдите на сервер MariaDB, выполнив следующие команды:

sudo mysql -u root

Это должно войти на сервер базы данных. Затем выполните следующие команды, чтобы отключить аутентификацию плагина для пользователя root:

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;

Запустите команду mysql_secure_installation, чтобы повысить безопасность установки MariaDB:

sudo mysql_secure_installation

Сценарий предложит вам установить пароль пользователя root, удалить анонимного пользователя, ограничить доступ пользователя root к локальному компьютеру и удалить тестовую базу данных. В конечном итоге сценарий перезагрузит таблицы привилегий, гарантируя, что все изменения вступят в силу немедленно.

Все шаги подробно объясняются, и рекомендуется отвечать « Y » (да) на все вопросы.

Затем перезапустите MariaDB.

sudo systemctl restart mariadb.service

Это все. В следующий раз, когда вы захотите войти в MySQL, используйте следующую команду

sudo mysql -u root -p

И вам будет предложено ввести пароль root, который вы установили изначально.

Настройте MariaDB для Wallabag

Теперь нам нужно настроить базу данных для использования в приложении Wallabag. Для этого войдите в командную строку MySQL:

sudo mysql -u root -p

При появлении запроса введите следующие команды, которые настроят базу данных с именем wallabag и пользователя базы данных с именем wallabaguser и предоставят ему доступ к базе данных.

create database wallabag;
create user wallabaguser@localhost;
set password for wallabaguser@localhost= password("yourpassword");
grant all privileges on wallabag.* to wallabaguser@localhost identified by "yourpassword";
flush privileges;
exit;

Установите PHP и Composer

Теперь, когда наш сервер запущен и работает, пришло время установить PHP и Composer. Поскольку мы используем Nginx, нам нужно установить пакет PHP-FPM. Наряду с этим нам понадобятся многие другие расширения PHP, такие как mbstring, mysql, gd, bc-math, curl, zip и 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

Давайте перейдем к следующему шагу.

Настроить Nginx

Пришло время настроить нашу установку Nginx. Предполагая, что доменное имя, которое вы используете для wallabag, — example.com (замените example.com своим доменным именем на всех этапах), создайте каталог, в котором вы будете размещать свою установку. Wallabag будет установлен в каталоге html.

sudo mkdir -p /var/www/example.com/html

Затем он назначает владельца каталога данным www, используемым Nginx.

sudo chown -R www-data:www-data /var/www/example.com/html

Убедитесь, что установлены правильные разрешения.

sudo chmod -R 755 /var/www/example.com

Далее создайте виртуальный хост для сайта.

sudo nano /etc/nginx/sites-available/example.com

Вставьте следующую конфигурацию, которая работает с 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;
 }

Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

Далее нам нужно включить эту конфигурацию. Для этого создайте из него ссылку на каталог с включенным сайтом.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Может возникнуть проблема с объемом памяти из-за дополнительных имен серверов. Чтобы это исправить, откройте файл nginx.conf:

sudo nano /etc/nginx/nginx.conf

Найдите директиву server_names_hash_bucket_size и удалите символ #, чтобы раскомментировать строку:

server_names_hash_bucket_size 64;

Сохраните файл. Итак, убедитесь, что в настройках Nginx нет ошибок:

sudo nginx -t

Если проблем нет, перезапустите Nginx, чтобы новые изменения вступили в силу.

sudo systemctl restart nginx

Установить Wallabag

Во-первых, клонируйте Wallabag из репозитория GitHub. Поскольку мы предоставили права доступа к папке html пользователю www-data, для выполнения установки нам придется переключиться на него:

sudo -u www-data /bin/bash
cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html

Это скопирует установочные файлы Wallabag в каталог html. Установите Wallabag с помощью команды make.

cd html
make install

Во время установки вам будет задано несколько вопросов.

Если вы хотите использовать HTTP, введите http://example.com при запросе имени домена и пропустите часть руководства, посвященную 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

Вам также будет предложено ввести данные SMTP, чтобы получать электронные письма о забытом пароле или двухфакторной аутентификации. Если вы хотите использовать сторонний SMTP-сервис, такой как Mailgun или Sendgrid, вы можете ввести необходимые значения или просто нажать Enter, чтобы перейти к следующей конфигурации. Введите no в параметр fosuser_registration, если вы не хотите, чтобы пользователь регистрировался на вашем сайте. Также измените значение secret параметра. Если вам нужно импортировать большие данные, установите RabbitMQ или Redis и введите значения при появлении запроса.

Когда вас спросят, восстанавливать ли существующую базу данных, нажмите Enter, чтобы использовать параметр по умолчанию ( no ). Вам также будет предложено создать пользователя-администратора. Когда закончите, вернитесь к логину пользователя Ubuntu по умолчанию.

exit

Настроить SMTP

Если вы хотите настроить базовый SMTP-сервер и не использовать сторонние службы SMTP, установите Mailutils.

sudo apt install mailutils

Во время установки вам будет предложено выбрать тип конфигурации для Postfix. Выберите Internet Site и продолжите. Введите example.com, когда будет предложено ввести поле «Системная почта».

Настроить HTTPS

Мы будем использовать Let’s Encrypt для настройки HTTPS для нашей установки Wallabag. Добавьте следующий репозиторий для инструмента Certbot.

sudo add-apt-repository ppa:certbot/certbot

Установите пакет Certbot Nginx из репозитория.

sudo apt install python-certbot-nginx

Получите сертификат для вашего домена example.com.

sudo certbot --nginx -d example.com -d www.example.com

Если вы впервые используете инструмент Certbot, вам будет предложено указать адрес электронной почты и принять условия обслуживания. Вас также спросят, хотите ли вы, чтобы ваша электронная почта была передана EFF (Electronic Frontier Foundation). Выберите N, если вы не хотите, чтобы EFF отправлял вам электронные письма о своих новостях и кампаниях.

В случае успеха Certbot спросит вас, как вы хотите настроить параметры 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):

Выберите 2, так как мы хотим, чтобы все запросы к вашему домену перенаправлялись через HTTPS.

Это все. Ваш домен HTTPS активен. Certbot будет автоматически продлевать ваш домен каждые 90 дней. Чтобы протестировать процесс обновления, выполните пробный прогон.

sudo certbot renew --dry-run

Если вы не видите ошибок, значит, все идеально.

Настроить Валлабаг

Теперь, когда мы установили Wallabag, откройте браузер и подключитесь к своему домену. Вы должны увидеть экран входа в Wallabag.

Введите учетные данные, которые вы выбрали в процессе make.

Должна быть включена двухфакторная аутентификация. Для этого нажмите кнопку Config слева и выберите вкладку USER INFORMATION. Включить Two-factor authentication.

Вы можете импортировать свои данные из Pockets, Instapaper, Pinboard и закладок из браузеров Firefox и Chrome.

Wallabag предлагает вам множество приложений для каждого браузера, мобильного устройства или устройства для чтения электронных книг, с помощью которых вы можете добавлять ссылки.

Обновить Валлабаг

Чтобы обновить Wallabag до последней версии, просто введите следующие команды:

sudo -u www-data /bin/bash
cd /var/www/example.com/html
make update

Вывод

Вот и все, что касается этого руководства, мы установили Wallabag на Ubuntu 18.04 LTS. Теперь вы можете сохранять и читать статьи со своего сервера без ущерба для конфиденциальности ваших данных.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.