Serv00 服务器部署 Cypht 网页邮箱客户端

Serv00 服务器部署 Cypht 网页邮箱客户端

Cypht 的一大特点就是可以混合显示多个电子邮件账户的收、发、草稿等信息。 而 Serv00 又是著名免费服务器提供商。 遂决定部署。

需注意:

  • 本文中所有的 <username> 需完整替换为您的 Serv00 用户名,大小写敏感。

注册并连接至 Serv00 账户

注册需电子邮箱,前往官网注册登录即可。此处不多赘述。

需注意:

  • 若 IP 地址被 Serv00 拦截,前往这个地址清除。
  • SSH 连接服务器:ssh <username>@sX.serv00.com ;其中,sX.serv00.com 中的 X 需替换为您的账户所在的服务器编号。

部署 Cypht

创建 “网站”

可选。若选择直接使用 Serv00 默认配置的网站 <username>.serv00.com ,可直接前往安装 Cypht 这一步。

前往控制台:https://panelX.serv00.com/www/ ,其中,panelX.serv00.com 中的 X 需替换为您的账户所在的服务器编号。

打开 -> WWW websites ,可选择 Serv00 默认配置的域名 <username>.serv00.com ,或新建 Serv00 的 <username>.serv00.com 的子域名,又或绑定您自己的域名皆可。

下文用 <your.domain> 替代您配置的域名。

访问 <your.domain> 以确保其已准确配置。

安装 Cypht

SSH 连接至服务器后,运行以下命令在删除默认的演示网页后,查看并来到上一步配置的域名 <your.domain> 的工作目录下。

1
2
rm -r ~/domains/<your.domain>/public_html
cd ~/domains/<your.domain>

后文命令均在 ~/domains/<your.domain> 工作目录下运行。

获取并初始化 Cypht 主目录

1
2
3
git clone https://github.com/cypht-org/cypht.git
cd cypht && composer2 install && cd ..
cp cypht/.env.example cypht/.env

初始化数据文件夹

1
2
3
4
mkdir data
mkdir data/attachments
mkdir data/users
mkdir data/app_data

配置数据库

前往控制台:https://panel3.serv00.com/mysql/ ,其中,panelX.serv00.com 中的 X 需替换为您的账户所在的服务器编号。

打开 MySQL -> Add user ,创建用户 <username> ,设密码为 <passwd> 。注意,实际的用户名称形似 xXXXX_<username>

打开 MySQL -> Add database ,创建数据库 cypht 。注意,实际的数据库名称形似 xXXXX_cypht 。用户选择 Existing user -> xXXXX_<username>

用命令初始化数据库表:

1
2
3
4
5
mysql --host mysqlX.serv00.com --user xXXXX_<username> -p -e "CREATE TABLE `xXXXX_cypht`.`hm_user_session` (hm_id varchar(180), data longblob, date timestamp, primary key (hm_id));"

mysql --host mysqlX.serv00.com --user xXXXX_<username> -p -e "CREATE TABLE `xXXXX_cypht`.`hm_user` (username varchar(250), hash varchar(250), primary key (username));"

mysql --host mysqlX.serv00.com --user xXXXX_<username> -p -e "CREATE TABLE `xXXXX_cypht`.`hm_user_settings` (username varchar(250), settings longblob, primary key (username));"

其中,mysqlX.serv00.com 中的 X 需替换为您的账户所在的服务器编号。xXXXX_<username>xXXXX_cypht 中的 xXXXX_ 需替换成实际的前缀。

配置 Cypht

编辑 .env 文件。

1
nano cypht/.env

如下为必要修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- DB_HOST=localhost
- DB_NAME=test
- DB_USER=test
- DB_PASS=123456
+ DB_HOST=mysqlX.serv00.com
+ DB_NAME=xXXXX_cypht
+ DB_USER=xXXXX_<username>
+ DB_PASS=<passwd>

- USER_SETTINGS_DIR=/var/lib/hm3/users
- ATTACHMENT_DIR=/var/lib/hm3/attachments
- APP_DATA_DIR=/var/lib/hm3/app_data
+ USER_SETTINGS_DIR=/home/<username>/domains/<your.domain>/data/users
+ ATTACHMENT_DIR=/home/<username>/domains/<your.domain>/data/attachments
+ APP_DATA_DIR=/home/<username>/domains/<your.domain>/data/app_data

- ENABLE_REDIS=true
+ ENABLE_REDIS=false

- ENABLE_MEMCACHED=true
+ ENABLE_MEMCACHED=false

上线 Cypht

应用更改,每次改过设置后都要执行:

1
cd cypht && php ./scripts/config_gen.php && cd ..

Debug 模式部署(性能差,不安全,勿日用):

1
ln -s /home/<username>/domains/<your.domain>/cypht /home/<username>/domains/<your.domain>/public_html

Release 模式部署:

1
ln -s /home/<username>/domains/<your.domain>/cypht/site /home/<username>/domains/<your.domain>/public_html

切换脚本(可选)

deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash

cd $PWD

printf "\n请选择欲部署的版本:\n"

# 模拟循环
while true; do
printf "\n==========\n"
printf "1. Cypht.\n"
printf "2. Cypht_Debug.\n"
printf "3. 退出。\n"
printf "请选择:"

read choice

if [ "$choice" -eq 1 ]; then
unlink /home/<username>/domains/<your.domain>/public_html
cd /home/<username>/domains/<your.domain>/cypht
git checkout .
git pull
php scripts/config_gen.php
ln -s /home/<username>/domains/<your.domain>/cypht/site /home/<username>/domains/<your.domain>/public_html
elif [ "$choice" -eq 2 ]; then
unlink /home/<username>/domains/<your.domain>/public_html
cd /home/<username>/domains/<your.domain>/cypht
git checkout .
git pull
php scripts/config_gen.php
ln -s /home/<username>/domains/<your.domain>/cypht /home/<username>/domains/<your.domain>/public_html
elif [ "$choice" -eq 3 ]; then
break
else
printf "\n选择“"
printf "$choice"
printf "”无效。\n"
fi
done

使用 Cypht

访问 <your.domain> ,用吧。

Serv00 服务器部署 Cypht 网页邮箱客户端

https://blog.pj568.sbs/2024/04-21-Deploy_Cypht_on_Serv00/

作者

PJ568

发布于

2024-04-21

更新于

2024-08-28

许可协议

评论