Wallabag是一个自托管的应用程序,允许用户保存Web内容以供以后阅读。这是一个开源项目,旨在为想要保存文章、视频和其他 Web 内容以供离线阅读的用户提供简单、隐私友好且无广告的体验。Wallabag适用于Linux,macOS和Windows操作系统,以及运行Android或iOS的移动设备。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 Wallabag
第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的。apt
sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https gnupg2
第 2 步。在 Ubuntu 22.04 上安装 LEMP 堆栈(Nginx、MariDB 和 PHP)。
在开始本教程之前,必须在服务器上安装 LEMP 服务器。如果您没有安装 LEMP 堆栈,您可以按照我们的指南进行操作 此处.
第 3 步。正在安装作曲家。
默认情况下,Composer 在 Ubuntu 22.04 基本存储库上不可用。现在运行以下命令以使用命令下载 Composer 安装程序:wget
wget -O composer-setup.php https://getcomposer.org/installer
下载完作曲家后,在命令行上执行以下命令,在 Linux Ubuntu 系统上安装和设置 作曲家:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
确认安装并检查已安装的 Composer 内部版本:
composer -V
有关安装 Composer 的其他资源,请阅读下面的帖子:
- 如何在 Ubuntu Linux √ 上安装 Composer
第 4 步。配置 MariaDB。
默认情况下,MariaDB 未强化。您可以使用脚本保护 MariaDB。您应该仔细阅读并在每个步骤下方仔细阅读,这将设置root密码,删除匿名用户,禁止远程root登录,并删除测试数据库和对安全MariaDB的访问权限:mysql_secure_installation
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
接下来,我们需要登录 MariaDB 控制台并为 Wallabag 创建一个数据库。运行以下命令:
mysql -u root -p
这将提示您输入密码,因此请输入您的MariaDB root密码并按Enter键。登录到数据库服务器后,您需要为Wallabag安装创建一个数据库:
MariaDB [(none)]> CREATE DATABASE wallabag; MariaDB [(none)]> CREATE USER 'wallabaguser'@'localhost' IDENTIFIED BY 'Your-Strong-Passwd'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabaguser'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit;
第5步。在 Ubuntu 22.04 上安装 Wallabag。
现在我们可以下载并安装瓦拉巴格了。运行以下命令以下载最新版本的 Wallabag:
sudo mkdir /var/www/html/wallabag -p wget https://wllbg.org/latest-v2-package
然后,使用以下命令提取下载的文件:
tar xzf latest-v2-package mv wallabag-2.5.4/* /var/www/html/wallabag
接下来,创建资产目录:
mkdir /var/www/html/wallabag/data/assets
授予 Wallabag 目录写入和执行权限:
chown -R $USER:$USER /var/www/html/wallabag
之后,切换到目录:
cd /var/www/html/wallabag
现在通过复制示例文件来创建文件:parameters.yml
cp app/config/parameters.yml.dist app/config/parameters.yml
在开始配置 Wallabag 之前,我们会生成一个密钥。记下稍后要使用的密钥:
openssl rand -base64 32 DMV/GpZwDobQbyQZQGDTHvt+ZFJZXwMEIF4KR46=
接下来,打开参数文件进行编辑:
nano app/config/parameters.yml
添加以下配置:
.......... database_driver: pdo_mysql database_host: 127.0.0.1 database_port: 3306 database_name: wallabag database_user: wallabaguser database_password: Your-Strong-Passwd
填写服务器描述和域名:
domain_name: https://your-domain.com server_name: "idroot Wallabag"
填写之前生成的密钥。如果要保留双因素身份验证,请确保应用以下设置:
# A secret key that's used to generate certain security-related tokens secret: DMV/GpZwDobQbyQZQGDTHvt+ZFJZXwMEIF4KR46= # two factor stuff twofactor_auth: true twofactor_sender: nagdimin@wallabag.it # fosuser stuff fosuser_registration: true fosuser_confirmation: true ..... from_email: ngadimin@wallabag.it .....
保存并关闭文件,然后运行 Composer 下载并安装 Wallabag 所需的依赖项:
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
使用 Wallabag 命令行工具完成安装:
php bin/console wallabag:install --env=prod
系统将提示您是否要重置数据库及其架构。两次都输入作为响应。接下来,系统将询问您是否要创建管理员帐户。键入以继续并输入帐户的用户名、密码和电子邮件 ID。NO
yes
第 6 步。配置 Nginx。
现在为 Wallabag 安装创建一个新的虚拟主机配置文件。您可以通过运行以下命令来创建文件:
nano /etc/nginx/conf.d/wallabag.conf
添加以下文件:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name your-domain.com; access_log /var/log/nginx/wallabag.access.log; error_log /var/log/nginx/wallabag.error.log; # SSL ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/your-domain.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; root /var/www/html/wallabag/web; location / { try_files $uri /app.php$is_args$args; } # Pass PHP Scripts To FastCGI Server location ~ ^/app.php(/|$) { fastcgi_split_path_info ^(.+.php)(/.*)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Depends On The PHP Version fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; include fastcgi_params; internal; } location ~ .php$ { return 404; } } # enforce HTTPS server { listen 80; listen [::]:80; server_name your-domain.com; return 301 https://$host$request_uri; }
保存并关闭文件,然后重新启动 Nginx 服务以使其更改生效:
sudo systemctl restart nginx
步骤 7.使用Let’s Encrypt SSL保护Wallabag。
首先,使用以下命令安装 Certbot 客户端:
sudo apt install certbot python3-certbot-nginx
接下来,按照以下步骤使用Let’s Encrypt获取SSL证书:
certbot --nginx -d your-domain.com
让我们加密证书的有效期为 90 天,强烈建议在证书过期之前续订证书。您可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
第8步。配置防火墙。
现在我们使用Nginx设置了一个简单的防火墙(UFW),以允许在HTTP和HTTPS的默认Web端口上进行公共访问:
sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' sudo ufw enable
第9步。访问Wallabag Web界面。
成功安装后,现在打开您的网络浏览器并使用 URL 访问 Wallabag 网络界面。您将被重定向到以下页面:https://your-domain.com
感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 Wallabag。如需其他帮助或有用信息,我们建议您查看 Wallabag 网站。