如何在 Ubuntu 22.04 LTS 上安装 Wallabag

2023年 7月 20日 23.1k 0

Wallabag是一个自托管的应用程序,允许用户保存Web内容以供以后阅读。这是一个开源项目,旨在为想要保存文章、视频和其他 Web 内容以供离线阅读的用户提供简单、隐私友好且无广告的体验。Wallabag适用于Linux,macOS和Windows操作系统,以及运行Android或iOS的移动设备。ubuntu-logo-22-04-lts-18

在 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。NOyes

第 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

wallabag-login-web-ui

感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 Wallabag。如需其他帮助或有用信息,我们建议您查看 Wallabag 网站。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论