-- Leo's gemini proxy
-- Connecting to byzoni.org:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=ru-RU
2022-05-15
Wallabag - это самостоятельное веб-приложение PHP, позволяющее сохранять веб-страницы для последующего чтения. Он извлекает контент, чтобы вы могли прочитать его, когда у вас есть время. Эта статья объяснит установку Wallabag на систему Ubuntu 20.04.
Ubuntu 20.04 VPS.
Корневой доступ к вашему серверу (через пользователя с привилегиями sudo.)
Веб-сервер с PHP (инструкции ниже.)
База данных PostgreSQL (инструкции ниже.)
Ubuntu 20.04 VPS.
Корневой доступ к вашему серверу (через пользователя с привилегиями sudo.)
Веб-сервер с PHP (инструкции ниже.)
База данных PostgreSQL (инструкции ниже.)
Обновите свою систему и установите необходимое программное обеспечение.
Сначала обновите индекс пакетов:
sudo apt update && sudo apt upgrade -y
Все необходимые пакеты можно установить при помощи команды:
sudo apt install unzip make composer
Мы будем использовать Nginx с PHP и PostgreSQL для базы данных.
Выполните следующее для установки необходимых пакетов:
sudo apt install -y postgresql postgresql-contrib nginx php7.4-fpm php7.4-pgsql php7.4-cli php7.4-curl php7.4-dom php7.4-gd php7.4-intl php7.4-tidy
Убедитесь, что Nginx и PostgreSQL включены и работают:
sudo systemctl enable --now nginx.service postgresql.service
Создайте пользователя и базу данных для Wallabag:
sudo -u postgres psql -c "CREATE USER wallabag WITH PASSWORD 'yourpassword';" sudo -u postgres psql -c "CREATE DATABASE wallabagdb OWNER wallabag;" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE wallabagdb TO wallabag;"
Пришло время настроить нашу установку nginx, прежде чем мы продолжим фактическую установку. Предполагая, что доменное имя, которое вы используете для Wallabag - это example.com. Wallabag будет установлен в каталоге html.
sudo mkdir -p /var/www/example.com/html
Затем назначьте право собственности на каталог www-data, который используется 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; root /var/www/example.com/html/web; location / { try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { # replace php7.4-fpm with whichever php 7.x version you are using fastcgi_pass unix:/run/php/php7.4-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.service
Поскольку Wallabag размещен на [GitHub](https://github.com/wallabag/wallabag), мы будем клонировать репозиторий на локальном уровне:
cd /var/www/example.com sudo git clone https://github.com/wallabag/wallabag.git html
Затем назначьте право собственности на каталог `www-data`, который используется nginx.
sudo chown -R www-data:www-data /var/www/example.com
Не рекомендуется запускать сценарии установки как root, поэтому мы будем использовать пользователя nginx:
sudo -u www-data make install
Вам будет задано несколько вопросов во время установки.
Если вы хотите использовать http, введите http://example.com, когда их попросят доменное имя и пропустите часть учебника.
database_driver (pdo_mysql): pdo_pgsql database_driver_class (null): Press Enter database_host (127.0.0.1): 127.0.0.1 database_port (null): 5432 database_name (wallabag): wallabagdb database_user (root): wallabag database_password (null): yourpassword 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): UTF-8 domain_name ('https://your-wallabag-url-instance.com'): http://example.com
Вам также будет предложено получить информацию о SMTP для получения почты, касающихся забытого пароля или двухфакторной аутентификации. Если вы хотите использовать стороннюю службу SMTP, такую как Mailgun или SendGrid, вы можете заполнить оставшиеся значения или просто нажать `Enter`. Введите `False` против параметра `fosuser_registration`, если вы не хотите, чтобы кто-то регистрировался на вашем сайте. Также измените значение секретного параметра. Если у вас есть большие данные для импорта, установите Rabbitmq или Redis и введите значения, когда их спросили.
При запросе на сброс существующей базы данных нажмите `Enter`, чтобы использовать опцию по умолчанию (NO). Вас также попросят создать пользователя администратора.
Если вы правильно выполнили шаги, вы успешно установили Wallabag на Ubuntu. Теперь вы должны иметь доступ к нему на http://example.com. Для лучшей безопасности/конфиденциальности вам следует рассмотреть возможность использования доменного имени с HTTPS.
Если вы хотите настроить базовый SMTP-сервер и не использовать сторонние сервисы SMTP, установите Mailutils.
sudo apt install mailutils
Во время установки он попросит вас выбрать тип конфигурации для Postfix. Выберите интернет-сайт и продолжайте. Введите `example.com`. Вот и все.
Мы будем использовать 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
Если это ваш первый раз с инструментом Certbot, вам будет предложено предоставить электронное письмо и согласиться с условиями обслуживания. Вас также спросят, хотите ли вы, чтобы ваша электронная почта была передана с EFF (электронный 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 rebend-Dry-Run
Если вы не видите никаких ошибок, это означает, что все идеально.
Теперь, когда у нас есть Wallabag, откройте свой домен Wallabag. Вы должны увидеть следующий экран.
Введите учетные данные, которые вы выбрали во время процесса создания выше. После входа в систему вы должны увидеть следующий экран.
Вы должны включить двухфакторную аутентификацию. Чтобы сделать это, нажмите кнопку «Конфигурация слева» и выберите вкладку «Пользовательская информация» на следующем экране. Включите двухфакторную аутентификацию Checkmark, чтобы включить ее.
Вы можете импортировать свои данные из Pockets, Instapaper, Pinboard и закладок из браузеров на основе Firefox и Chrome.
Wallabag предоставляет вам множество приложений для каждого браузера, мобильного или Koreader который имеет нативную интеграцию с Wallabag - я прочитал все свои статьи на своем Kindle eBook. Также я ранее установил минималистский веб rss-ридер Miniflux который имеет интеграцию с Wallabag и сохраняет статьи.
Чтобы обновить зависимости Wallabag до последней версии, используйте команду update:
sudo -u www-data make update
После обновления проверьте файлы composer.json и composer.lock.
-- Response ended
-- Page fetched on Mon May 20 10:18:09 2024