在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 update
$ 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,刷新就可以了。