如何使用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快速入门页面
设置基本的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页面上关注我们。