在caddy安装VtigerCRM7.2

以前是在LAMP下安装过vtigerCRM,但是在使用过caddy后,发现caddy实在是太好用了,方便简洁。就想能不能在caddy下安装配置呢?于是开试,本来菜鸟,走了好多弯路。于是成功后把步骤写来来。

环境为 unbuntu20.04+php7.4+mysql8.0

一. 安装php7, 这里以7.4为例

1
$ sudo apt install -y php7.4-fpm php7.4-cli php7.4-json php7.4-curl php7.4-imap php7.4-gd php7.4-mysql php7.4-xml php7.4-zip php7.4-intl php7.4-imagick php7.4-mbstring php7.4-bcmath
以上php-fpm与caddy配置比较方便,别的组件在与mysql时会用到。

二 . 安装 Mysql

1
$ sudo apt install mysql-server

三. 安装caddy

  1. 自动安装
1
$ sudo curl https://getcaddy.com | bash -s personal  #方法一

caddy v2 新的安装方法是

1
2
3
4
$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt updated
$ sudo apt install caddy
  1. 手动安装
    进入https://caddyserver.com/download 点这个链接进入到 caddy 官网的下载界面,网页左侧可以选择平台和插件,如果在 Linux 服务器上使用的话,platform 选择 Linux 64-bit 就可以了,plugins 如果暂时不需要的话,可以不选。然后点击下面的 DOWNLOAD 按钮,就下载到 caddy 了。同理,解压之后用 cp 命令放到 /usr/local/bin/caddy 就完成了安装。

四. 修改 php 配置文件

方法1
1
2
3
$ cd /usr/local/bin
$ ls -l # 查看caddy的用户名:组名,例如是 abc123:abc123
$ sudo vim /etc/php/7.4/fpm/pool.d/www.conf # 更改如下:

user = abc123
group = abc123

listen.owner = abc123
listen.group = abc123

pm.max_children = 60 ;改大
request_terminate_timeout = 100 ;改大

方法2
1
2
3
4
$ cd /usr/local/bin
$ ls -l # 查看caddy的用户名:组名,例如是 abc123:abc123
$ sudo chown www-data.www-data caddy #更改caddy所属的用户名:组名
$ sudo vim /etc/php/7.4/fpm/pool.d/www.conf # 更改如下:

pm.max_children = 60 ;改大
request_terminate_timeout = 100 ;改大

五. mysql 配置

  1. 修改 /etc/mysql/my.cnf 文件,增加语句

    [mysql] #新增语句
    default-character-set=utf8 #新增语句

    [mysqld] #新增语句
    sql_mode= #新增语句,vtigercrm语明要求为sql_mode值为空,很重要,主要是这一句要增加,不然安装进行不下去
    !includedir /etc/mysql/conf.d/ #原语句
    !includedir —————— #原语句

  2. 创建vtiger空数据库备用
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
# 登录MySQL
$ sudo mysql -u root

# 新建abc123账号,并设密码:10086, @'%"的意思是外网可访问
mysql> create user 'abc123'@'%' identified by '10086';

# 创建数据库,名字叫vtiger
mysql> create database vtiger;

# 使上述配置生效
mysql> flush privileges;

# 退出
mysql> exit;

# 重新以root身份登录MySQL
$ sudo mysql -u root
# 给abc123账号授权,对数据库vtiger进行所有操作权限
mysql> grant all privileges on vtiger.* to 'abc123'@'%' ;
# 使上述配置生效
mysql> flush privileges;
# 退出
mysql> exit;

# 登录MySQL
$ sudo mysql -u abc123 -p
mysql> show databases;
# 就可以看到用户abc123下的数据库有vtiger了


# 使上述配置生效
mysql> flush privileges;

# 退出
mysql> exit

六. Caddyfile

localhost:80 {
gzip
fastcgi / /run/php/php7.4-fpm.sock php {
env PATH / bin
ext .php
split .php
index index.php
}

1
$ caddy

七. 把下载的vtigercrm.tar解压到mywww目录下。

1
2
3
chown www-data:www-data -R ~/mywww/vtigercrm/

chmod 755 -R ~/mywww/vtigercrm/

浏览器运行 localhost/vtigercrm 安装,快完成时会有504 Gateway Timeout,刷新就可以了。