配置 rho.one 的开发环境

开发环境选用 Windows 10 和 Linux 子系统配合。其中 Apache 2.4、PHP 7.2、MySQL 8.0、Redis 4.0、Composer 1.6 等与服务器有关的软件安装在 Linux 子系统上(参考《准备 Ubuntu on Windows 服务器环境》),PhpStorm、GitHub、UltraEdit 等与编辑和版本管理有关的工具则安装在 Windows 上。

另外,本项目会用到 MongoDB,而截至本文发稿时(2018年7月29日),MongoDB 官方还未发布适用于 Ubuntu 18.04 的发行版。故 MongoDB 暂时选用 Windows 版。

一、准备开发工具

1. GitHub

此项目全部托管到 GitHub。如果没有 GitHub 账号,先注册账号。注册后建议使用二因素验证。

GitHub 提供教育优惠,可以访问这里申请。

GitHub 官方有适用于 Windows 的版本管理工具,点击此处下载并安装。安装完成后登录。

2. PhpStorm

此项目开发语言主要为 PHP,因此使用 PhpStorm。推荐使用 Toolbox App,以便管理项目和软件更新。

JetBrains 提供教育优惠,可以访问这里申请。


二、部署服务器

参考《准备 Ubuntu on Windows 服务器环境》的描述部署服务器环境。

1. 服务器软件参数

其中,Apache2 的配置文件目录为 /etc/apache2,日志目录为 /var/log/apache2,www 根本目录为 /var/www,用户名为 www-data,组为 www-data。MySQL 的 root 账户密码为 123456。

2. 检出代码

可以使用前述提到的 Windows 下的 GitHub 工具,登录后将代码克隆到 D:\Source\Repos\rho.one 中。

也可以使用 git 工具将项目从版本仓库中检出,检出到本地目录,然后在 GitHub 中打开。例如:

其中 clone 命令的第二个参数为存放该版本仓库的目录。若存放在当前目录,则可以不加此参数。

检出后,在 /var/www 目录下建立软链接指向刚才检出的目录:

这么做的目的是使用 Windows 下的 PhpStorm 开发项目,且同时能在 ubuntu 中生效,而不必重新部署。

3. 安装依赖

使用 composer 安装项目所需的全部依赖:

如果有需要,可以在其后添加 -vvv 参数,查看详细过程。

因包管理服务在境外,安装过程对外网访问质量有较高要求。

4. 指定日志目录和配置文件

在 rho.one 目录下可以找到 server.log 和 server.config 两个目录。其中 server.log 目录用于存放该网站运行过程中产生的日志,server.config 目录下存放的是该网站的 Apache2 配置文件。

为了方便随时调试服务器配置以及查看运行日志,我们分别在 /etc/apache2/sites-availables 目录下建立软链接 rho.one.conf 指向 server.config 目录中的 rho.one.conf 文件,以及在 /var/log/apache2 目录下建立软链接 rho.one 指向 server.log 目录。

这么做的目的是为了方便在 Windows 下查看日志和编辑服务器配置。

如果不需要随时查看运行日志,也不会更改服务器配置,那可以在 /var/log/apache2 目录下新建 rho.one 文件夹,将 server.config 目录下的 rho.one.conf 复制到 /etc/apache2/sites-available 目录下。

完成上述步骤后启用 rho.one:

5. 添加项目本地配置

在 rho.one/common/config 目录下需要新建 main-local.php 文件,并填入如下代码:

其中 ‘db’ 部分根据实际内容填写。

在 rho.one/console/config 目录下新建 main-local.php 文件,并填入以下内容:

在 rho.one/rho.one/config 目录下新建 main-local.php 文件,并填入以下内容:

其中 cookieValidationKey 对应的内容应该是一个 32 位字母数字横线下划线随机字符串。可以访问这里随机生成一个包含数字字母的 32 位字符串。

这个字符串直接决定了 CSRF 令牌的生成。因此需要妥善保管,切勿泄露到公开渠道中。

再在 rho.one/common/config 、 rho.one/console/config 、 rho.one/rho.one/config 目录下均新建 params-local.php 文件,并填入以下代码:

6. 导入数据库

在 rho.one/databases 目录下找到最新的 rho_one.sql 文件。然后将其导入:

其中 xx 代表生成此文件的日。

导入前需要删除 rho.one 数据库。

仅支持 MySQL 8.0。

7. 验证部署

在 Ubuntu on Windows 中,切换到 /var/www/rho.one 目录下,运行 ./yii,如果看到帮助内容,则表示部署成功。

在浏览器中输入 http://rhoone 并回车,如果看到有黑色菜单栏,菜单栏下方是一个搜索框,则表明部署成功。

其中 rhoone 并非预置计算机名,需要你自行修改 hosts 文件,并将 rhoone 指定为 127.0.0.1。

三、更新流程

1. 更新依赖

使用 composer update 命令即可。

2. 更新项目本身

更新前需要和其他合作者确认是否有冲突,在没有冲突的情况下,使用 git pull 命令即可。更新后,项目本身的 composer.json 可能发生改变。此时,需要使用 composer update 命令更新依赖。

具体更新流程应遵循每次更新发布后的更新说明。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据