Поиск по сайту:

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


На этой странице

  1. Предпосылки
  2. Установить Git
  3. Установите Nginx
  4. Установить MariaDB
  5. Настройка MariaDB для Wallabag
  6. Установите PHP и композитор
  7. Настройка Nginx
  8. Установить Wallabag
  9. Настройка SMTP
  10. Настроить HTTPS
  11. Настроить Wallabag
  12. Улучшить Wallabag

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

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

Предпосылки

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

  • An Ubuntu 18.04 based server having a non-root user with sudo privileges.

  • You will also need the Make tool. To install it, just use the following command

    $ sudo apt install make
    

Установить git

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

$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email ""

Установите 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, удалить анонимных пользователей, запретить удаленный вход в систему root и удалить тестовые таблицы. Нажмите да для всего и установите пароль root.

$ sudo mysql_secure_installation 

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

Чтобы отключить аутентификацию плагина и восстановить пароль root, сначала введите приглашение MySQL, используя следующую команду.

$ sudo mysql -u root 

Теперь введите следующие команды, чтобы отключить аутентификацию плагина.

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

После этого перезапустите службу MariaDB.

$ sudo systemctl restart mariadb.service 

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

$ sudo mysql -u root -p 

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

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

Теперь нам нужно настроить базу данных для использования в приложении Wallabag. Для этого войдите в MySQL. Мы предполагаем, что вы используете метод аутентификации по умолчанию для MariaDB (т. е. без использования пароля root) для остальной части руководства.

$ sudo mysql -u root 

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

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

Установите PHP и композитор

Теперь, когда наш сервер запущен и работает, пришло время установить 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

Вот и все на данный момент. Мы подойдем к части настройки PHP и композитора позже. Давайте перейдем к следующему шагу.

Настроить Nginx

Пришло время настроить нашу установку Nginx, прежде чем мы приступим к фактической установке. Предполагая, что доменное имя, которое вы используете для wallabag, — 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, чтобы использовать параметр по умолчанию (нет). Вам также будет предложено создать пользователя с правами администратора.

Когда закончите, вернитесь к логину пользователя Ubuntu по умолчанию.

$ exit

Настроить SMTP

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

$ sudo apt install mailutils

Во время установки вам будет предложено выбрать тип конфигурации для Postfix. Выберите Интернет-сайт и продолжите. Введите example.com, когда вас спросят в поле имени системной почты. Вот и все.

Настроить HTTPS

Мы будем использовать Lets 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 выше. После входа в систему вы должны увидеть следующий экран.

Вы должны включить двухфакторную аутентификацию. Для этого нажмите кнопку «Конфигурация» слева и выберите вкладку ИНФОРМАЦИЯ О ПОЛЬЗОВАТЕЛЕ на следующем экране. Установите флажок Двухфакторная аутентификация, чтобы включить ее.

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

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

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

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

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

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