Wallabag — это бесплатное приложение для самостоятельного хостинга, разработанное для сохранения веб-страниц. Оно служит альтернативой другим платным сервисам для чтения, таким как Pocket и Instapaper, и позволяет вам организовывать список статей, найденных в интернете, для последующего ознакомления.
- Wallabag убирает рекламу и несущественные элементы с веб-страниц, оставляя только текст статьи и связанные изображения для удобного чтения. Это особенно актуально при использовании смартфонов или планшетов.
- Wallabag сохраняет веб-страницы в своей базе данных, поэтому даже если оригинальный сайт будет удалён, вы сможете получить доступ к его содержимому через Wallabag.
- Экспортируйте все свои веб-страницы в форматах TXT, HTML, CSV, EPUB, MOBI, PDF или JSON без труда.
- Можно установить расширение для браузера Wallabag и мобильное приложение, чтобы удобно использовать Wallabag.
- Импортирование закладок из браузеров Firefox и Google Chrome (или Chromium).
В данном руководстве описывается процесс установки и настройки собственного сервиса Wallabag на сервере или VPS с операционной системой Ubuntu 16.04.
Содержание статьи
Необходимые условия
Для установки Wallabag необходимо иметь доступ к пользователю с правами root.
Предполагается, что вы уже настроили стек LAMP или LEMP на Ubuntu 16.04. Wallabag может работать с PHP >Версия PHP должна быть не ниже 7.0, а числовое значение
установлено на 5.5. Если вы еще не выполнили этих шагов, обратите внимание на следующие простые инструкции.
- Установка Apache, MariaDB и PHP7 на Ubuntu 16.04 LTS (стек LAMP)
- Установка стека LEMP (Nginx, MariaDB и PHP7) на Ubuntu 16.04 LTS
По завершении, вернитесь.
После завершения установки wallabag в конце данного руководства ваши веб-страницы будут сохранены в таблице wallabag_entry.
Инсталляция пакета php7.0-mysql.
Следующее важное действие, которое необходимо осуществить в отношении базы данных, — это установка пакета php7.0-mysql.
sudo apt install php7.0-mysql
Пакет php7.0-mysql включает в себя драйвер pdo_mysql, необходимый для работы wallabag с базой данных MariaDB/MySQL. Без этого драйвера Wallabag не сможет установить соединение с базой данных. Если вы используете PHP как модуль Apache, не забудьте перезапустить веб-сервер Apache после установки пакета, чтобы активировать драйвер.
sudo systemctl restart apache2
При использовании PHP с php7.0-fpm нет необходимости перезапускать Apache или php7.0-fpm.Драйвер pdo_mysql будет автоматически активирован после установки.
Если у вас есть сомнения, работает ли у вас модуль Apache или php7.0-fpm, создайте файл с именем test.php в корневом каталоге вашего документа, который по умолчанию находится по адресу /var/www/html.
sudo nano /var/www/html/test.php
После этого добавьте следующий PHP-код в файл.
Чтобы сохранить файл, нажмите Ctrl+O, а затем используйте Ctrl+X для выхода. Теперь введите в адресной строке браузера
server-ip-address/test.php
Подставьте вместо sever-ip-address ваш реальный IP-адрес. После этого должна отобразиться информация о PHP вашего сервера. Если в строке Server API указано Apache 2.0 Handler, значит, PHP 7.0 используется в качестве модуля Apache. Если же указано PHP 7.0-FPM, то PHP функционирует как служба FPM.
Инсталляция Wallabag
Для клонирования репозитория Wallabag с Github мы воспользуемся инструментом git, а затем установим Wallabag через Composer. Поэтому сначала установите git на Ubuntu 16.04, выполнив следующую команду:
sudo apt install git
После этого скопируйте репозиторий Wallabag и перейдите в каталог с ним.
git clone https://github.com/wallabag/wallabag. git cd wallabag
Обновленная версия Wallabag (2.1.2) появилась 17 октября 2016 года. Для перехода на эту версию используйте команду git checkout.
git checkout 2.1.2
Перед установкой Wallabag с использованием Composer необходимо проверить, что на Ubuntu 16.04 установлены следующие PHP-расширения.
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
Теперь необходимо установить Composer — менеджер зависимостей для PHP. Он автоматически скачает и установит все нужные зависимости для Wallabag.
sudo apt install composer
Теперь задайте переменную Symfony и установите Wallabag, выполнив следующую команду. Установка SYMFONY_ENV=prod сообщает Symfony, что Wallabag будет устанавливаться в производственной среде. Параметр —no-dev обеспечивает отсутствие установленных пакетов для разработки в этой среде.
SYMFONY_ENV=prod composer install --no-dev - o --prefer-dist
Во время установки composer скачает и установит все требуемые зависимости.
Затем вам будет предложено ввести необходимые параметры для создания файла app/config/parameters. yml.composer уже предоставляет некоторые значения по умолчанию, однако они не подходят для использования в производственной среде Wallabag.
Чтобы упростить задачу, разделим вопросы на две категории. Первая категория относится к настройкам базы данных. В этом руководстве представлены соответствующие вопросы и параметры.
Создание файла "app/config/parameters. yml" Некоторые параметры отсутствуют. Пожалуйста, предоставьте их. database_driver (pdo_sqlite): pdo_mysqlхост_базы_данных (127.0.0.1):127.0.0.1порт_базы_данных (ноль):3306имя_базы_данных (symfony):wallabagпользователь_базы_данных (root):wallabaguserпароль_базы_данных (пусто):ваш-парольпуть_к_базе_данных ('%kernel. root_dir%/../data/db/wallabag. sqlite'):/var/lib/mysql/wallabagпрефикс_таблицы_базы_данных (wallabag_):wallabag_
Первый вопрос касается выбора драйвера базы данных, что подразумевает необходимость определить, какую именно базу данных вы собираетесь использовать для Wallabag. По умолчанию установлен драйвер pdo_sqlite, который подразумевает использование SQLite для хранения веб-страниц. Однако в данной статье будет рассматриваться использование MariaDB или MySQL, так как эти системы являются одними из самых быстрых и популярных решений для управления реляционными базами данных с открытым исходным кодом.
Мы уже добавили драйвер pdo_mysql в начале нашего обсуждения. Таким образом, в качестве ответа на первый вопрос вам следует указать pdo_mysql. Это позволит вашей системе корректно взаимодействовать с выбранной базой данных, обеспечивая оптимальную производительность и удобство работы с данными.
На другие вопросы легко найти ответы. Используйте 127.0.0.1 в качестве адреса хоста базы данных и 3306 в качестве порта, так как по умолчанию MariaDB/MySQL работает на 127.0.0.1:3306. Далее укажите название базы данных, имя пользователя и пароль, которые вы создали на первом шаге. Стандартный путь для базы данных MariaDB/MySQL — /var/lib/mysql. Все ваши базы данных и таблицы расположены в этом каталоге. Префикс таблиц помогает определить, что они относятся к Wallabag.
На втором этапе у вас есть возможность просто нажать Enter для применения стандартных значений.
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]):
Когда это будет завершено, перейдите к выполнению следующей команды.
php bin/console wallabag:install --env=prod
Данная процедура проверит системные требования и произведет настройку базы данных. Когда возникнет вопрос о сбросе базы данных, выберите «n», чтобы ответить отрицательно. Далее вам будет предложено создать учетную запись администратора.
Установка Wallabag. Шаг 1 из 5. Проверка системных требований. +-----------------+--------+----------------+ | Проверено | Статус | Рекомендация | +-----------------+--------+----------------+ | PDO Драйвер | OK! | | | curl_exec | OK! | | | curl_multi_init | OK! | | +-----------------+--------+----------------+ Успех! Ваша система может правильно запускать Wallabag. Шаг 2 из 5. Настройка базы данных. Похоже, что ваша база данных уже существует. Хотите сбросить ее? (y/N)nСоздание схемы "Очистка кеша". Шаг 3 из 5: Настройка администрирования. Желаете добавить нового пользователя-администратора (рекомендуется)? (Y/n)yИмя аккаунта (по умолчанию: wallabag):ваше-имя-пользователя-администратораПароль (стандартный: wallabag):ваш-пароль-администратора Email: ваш-email-администратора Шаг 4 из 5. Настройка конфигурации. Шаг 5 из 5. Установка ресурсов. Wallabag был успешно установлен. Просто выполните `php bin/console server:run --env=prod`, чтобы использовать wallabag: http://localhost:8000
На втором этапе будут созданы таблицы для базы данных wallabag. Затем необходимо переместить каталог wallabag в директорию /var/www/.
cd ~передвижение с помощью команды sudo mv~/wallabag/ /var/www/
После этого назначьте пользователя Apache (www-data) владельцем.
sudo chown www-data:www-data /var/www/wallabag - R
Конфигурация виртуального хоста Apache
Сформируйте конфигурационный файл для виртуального хоста Wallabag.
sudo nano /etc/apache2/sites-available/wallabag.conf
Если PHP у вас работает в качестве модуля Apache, вставьте следующий текст в файл конфигурации. Замените wallabag. example.com на ваше доменное имя. Кроме того, необходимо сопоставить ваше доменное имя с IP-адресом сервера на Ubuntu 16.04 в настройках DNS.
RewriteEngine включен
RewriteCond % !-f
RewriteRule ^(.*)$ app.php [QSA, L]
В данной конфигурации PHP работает как модуль Apache. Если вы желаете использовать PHP с php7.0-fpm, необходимо добавить правило ProxyPassMatch под директивой CustomLog.
. CustomLog /var/log/apache2/wallabag_access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/wallabag/web/
Сохраните файл и закройте его. В описанной конфигурации был применён модуль переписывания Apache для изменения адресов URL. Необходимо удостовериться, что mod_rewrite активирован, выполнив команду, чтобы механизм переписывания URL функционировал корректно и интерфейс Wallabag отображался без сбоев.
sudo a2enmod rewrite
После этого активируйте данный виртуальный хост, создав символическую ссылку.
sudo ln - s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
Для того чтобы применить указанные изменения, необходимо перезапустить Apache.
sudo systemctl restart apache2
Теперь вы можете зайти на ваш веб-интерфейс Wallabag по адресу wallabag. example.com и выполнить вход в систему.

Конфигурация файла блока сервера Nginx
Сформируйте документ.
sudo nano /etc/nginx/conf.d/wallabag.conf
Скопируйте и вставьте указанный текст в файл конфигурации. Не забудьте заменить wallabag. example.com на ваше доменное имя. Также необходимо указать ваше доменное имя в DNS, сопоставив его с IP-адресом вашего сервера на Ubuntu 16.04.
server < server_name wallabag. example.comкорень /var/www/wallabag/web; расположение /< # попытка напрямую обслужить файл, резервный вариант 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; >
Сохраните изменения в файле и закройте его. После этого перезапустите Nginx, чтобы активировать блок сервера.
sudo systemctl reload nginx
Теперь у вас должна быть возможность зайти в ваш веб-интерфейс wallabag по адресу wallabag. example.com и выполнить вход в систему.
Конфигурация основного SMTP-сервера
Имейте в виду, что для добавления новых пользователей на сервер Ubuntu 16.04 необходимо активировать SMTP-сервер, который будет отправлять подтверждения на электронные почты новых пользователей. В качестве решения можно воспользоваться Postfix.
sudo apt install postfix
При установке вам предложат выбрать тип конфигурации для Postfix. Рекомендуется выбрать вариант Internet Site, чтобы Postfix имел возможность отправлять письма другим SMTP-серверам в сети.

Введите в поле адреса электронной почты системы, например, wallabag. ваш-домен.com.

Наконец-то мы завершили работу и готовы приступить к сохранению веб-страниц. Ура!

Надеюсь, этот руководства оказалось полезным для вас при установке Wallabag на сервере с Ubuntu 16.04, использующем LAMP или LEMP. Как обычно, если вам понравился этот материал, подписывайтесь на нашу бесплатную рассылку или следите за нами в Google+, Twitter, а также ставьте лайки на нашей странице в Facebook.

