如何使用LEMP Stack在Arch Linux VPS上安装Wallabag

袋鼠 是用于保存网页的免费的可自我托管的应用程序。 这是一个 Pocket的开源替代品,使您可以管理在互联网上偶然发现的文章列表,以供日后阅读。 本教程将向您展示如何在带有LEMP堆栈(Nginx,MariaDB,PHP)的Arch Linux VPS上安装Wallabag。

假定您已在VPS上安装了Arch Linux,并且在Arch VPS上安装了LEMP堆栈。 如果您还没有这样做,请查看以下两个教程。

  • 如何通过VNC在KVM VPS上手动安装Arch Linux
  • 如何在Arch Linux上安装LEMP堆栈

现在继续安装。

步骤1:为Wallabag创建数据库和用户

首先,将ssh插入Arch Linux VPS。

Wallabag需要一个数据库来存储您的网页,本教程中我们将使用MariaDB数据库。 运行以下命令以root用户身份登录MariaDB shell。

mysql -u root -p

然后使用以下命令为Wallabag创建一个新数据库。 本教程将其命名 wallabag,您可以为数据库使用任意名称。

create database wallabag;

接下来,使用以下命令在localhost上创建一个新的数据库用户。 同样,本教程将其命名为 wallabaguser,您可以使用任何喜欢的名称。

create user [email protected];

为用户设置密码。 用您的首选密码替换您的密码。

set password for [email protected]= password("your-password");

然后将新数据库的所有权限授予新用户,以便以后在Wallabag上可以写入数据库。

grant all privileges on wallabag.* to [email protected] identified by 'your-password';

刷新特权表,以使更改生效。

flush privileges;

退出MariaDB Shell:

exit;

您的网页将存储在 wallabag_entry 完成本教程末尾的wallabag安装后的表格。

步骤2:在Arch Linux上安装Wallabag

我们将使用git工具从Github克隆Wallabag存储库,然后使用Composer安装Wallabag,Composer是PHP的依赖管理器。 因此,使用以下命令在Arch Linux上安装git:

sudo pacman -S git

然后克隆Wallabag存储库,并将您的工作目录更改为该存储库。

git clone https://github.com/wallabag/wallabag.git

cd wallabag

最新版本的Wallabag(2.1.2)于2016年10月17日发布。使用 git checkout 命令。

git checkout 2.1.2

在使用Composer安装Wallabag之前,我们需要编辑 php.ini 文件以启用一些PHP扩展。

sudo nano /etc/php/php.ini

查找以下行并删除分号以启用这些扩展。

;extension=bcmath.so
;extension=curl.so
;extension=gd.so
;extension=iconv.so
;extension=mysqli.so
;extension=pdo_mysql.so
;extension=zip.so

保存并关闭文件。 然后重新加载php-fpm服务,以使更改生效。

sudo systemctl reload php-fpm

接下来,安装作曲家。

sudo pacman -S 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服务。

为简单起见,让我们将问题分为两部分。 第一部分是关于数据库参数的。 这是本教程提供的问题和参数。

Creating the "app/config/parameters.yml" file
 Some parameters are missing. Please provide them.
 database_driver (pdo_sqlite): pdo_mysql
 database_host (127.0.0.1): 127.0.0.1
 database_port (null): 3306
 database_name (symfony): wallabag
 database_user (root): wallabaguser
 database_password (null): your-password
 database_path ('%kernel.root_dir%/../data/db/wallabag.sqlite'): /var/lib/mysql/wallabag
 database_table_prefix (wallabag_): wallabag_
 database_socket(null): Press Enter

第一个问题是什么数据库驱动程序,即,您要用于Wallabag的数据库。 默认驱动程序是pdo_sqlite 这意味着将使用SQLite数据库存储网页。 本文将使用MariaDB / MySQL,因为它们速度很快,并且是最受欢迎的开源关系数据库管理系统。 我们已经启用了 pdo_mysql 本文开头的驱动程序。 所以输入 pdo_mysql 作为第一个问题的答案。

其他问题很容易回答。 输入 127.0.0.1 作为数据库主机,并且 3306 作为数据库端口,因为默认情况下,MariaDB数据库将侦听127.0.0.1:3306。 然后输入您在步骤1中创建的数据库名称,数据库用户和数据库用户密码。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

它将检查系统要求并建立数据库。 当询问您是否要重置数据库时,请按 ñ 回答不。 然后将要求您创建一个管理员用户。

Installing Wallabag...

Step 1 of 5. Checking system requirements.
+-----------------+--------+----------------+
| Checked         | Status | Recommendation |
+-----------------+--------+----------------+
| PDO Driver      | OK!    |                |
| curl_exec       | OK!    |                |
| curl_multi_init | OK!    |                |
+-----------------+--------+----------------+
Success! Your system can run Wallabag properly.

Step 2 of 5. Setting up database.
It appears that your database already exists. Would you like to reset it? (y/N)n
Creating schema
Clearing the cache

Step 3 of 5. Administration setup.
Would you like to create a new admin user (recommended) ? (Y/n)y
Username (default: wallabag) : your-admin-username
Password (default: wallabag) : admin-pasword-here
Email: admin-email-here

Step 4 of 5. Config setup.

Step 5 of 5. Installing assets.

Wallabag has been successfully installed.
Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000

第2步将创建wallabag数据库表。 完成后,我们将wallabag目录移动到Nginx文档根目录。

cd ~

sudo mv ~/wallabag/ /usr/share/nginx/

然后将Nginx用户(http)设置为所有者。

sudo chown http:http /usr/share/nginx/wallabag -R

步骤3:设置Nginx服务器阻止文件

创建文件。

sudo nano /etc/nginx/conf.d/wallabag.conf

将以下文本复制并粘贴到配置文件中。 更换 wallabag.example.com 用您自己的域名。 您还应该将域名指向DNS中Arch Linux VPS的IP地址。

server {
  server_name wallabag.example.com;
  root /usr/share/nginx/wallabag/web;

  location / {
    # try to serve file directly, fallback to 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 Web界面 wallabag.example.com 并登录。

Wallabag快速入门页面

wallabag-快速开始页面

设置基本的SMTP服务器

请注意,为了注册新用户,您的Arch Linux VPS需要运行SMTP服务器以向新用户发送确认电子邮件。 您可以为此使用Postfix。

sudo pacman -S postfix

然后启动并启用后缀服务。

sudo systemctl start postfix

sudo systemctl enable postfix

而已!

我希望本教程可以帮助您在带有LEMP堆栈的Arch Linux VPS上安装Wallabag。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯,或在Google +,Twitter或喜欢我们的Facebook页面上关注我们。

Sidebar