在宝塔面板下安装项目管理系统禅道
环境搭建
在宝塔面板中安装web环境必要的软件,包括:
web服务:Apache或Nginx( 本文以nginx为例讲解, apache可以参考下 源码安装 的方式部署)
数据库:Mysql(推荐5.5/5.6)
PHP:PHP7.0/7.1/7.2都可以(本文以php7.0版本为例介绍如何安装)
其他软件工具,根据自己实际情况与需要来选择安装即可。
添加站点
登录宝塔面板,在站点管理中点击“添加站点”。

绑定多个域名时,每个域名占一行;
默认会在建站目录(/www/wwwroot/)下自动创建一个与域名同名的目录作为网站根目录;
数据库选用mysql,并设置数据库用户名和密码;
PHP选择 PHP7版本。(本文操作及配置都以PHP7为例)。
上传文件
注:下面以安装禅道开源版为例进行演示,如果您是要安装禅道专业版,需要先 安装ioncube 。
如果是新版本的宝塔,可以开启ioncube扩展:

下载禅道源码包,解压后得到zentaopms文件夹,将里面的所有文件上传到网站根目录下。
注意下载源码包的时候一定要跟你的环境对应,否则可能出现不可预测的错误。例如我换进是7.4。那我就下载这个包。

站点设置
1.运行名录设置
在宝塔面板的网站管理中,点击相应站点的设置按钮,在网站目录中设置运行目录。将运行目录指向/www目录,如下图:

2.配置文件设置

上面配置代码如下:
注:配置文件中端口号、域名、站点根目录等信息根据自己实际情况填写,切勿直接复制粘贴。
server { listen 80; server_name www.zentao.com; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/www.zentao.com/www; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 error_page 404 /404.html; error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-70.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/www.zentao.com.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log off; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log off; } access_log /www/wwwlogs/www.zentao.com.log; error_log /www/wwwlogs/www.zentao.com.error.log; }
注:默认是80端口,如果需要修改其他端口,需要在配置里修改 listen 端口号。
下面为nginx配置中引用文件的内容,仅供参考
1、enable-php-70.conf 文件中内容: location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-70.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
2、fastcgi.conf 文件中的内容; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
3、pathinfo.conf 文件中的内容: set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info;
3.伪静态设置 【设置后禅道手机APP才能访问】

上面伪静态代码如下:
if (!-d $request_filename){
set $rule_0 1$rule_0;
}
if (!-f $request_filename){
set $rule_0 2$rule_0;
}
if ($request_filename ~* "api.php"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "21"){
rewrite /(.*)$ /index.php/$1 last;
}
if ($rule_0 = "31"){
rewrite /(.*)$ /api.php/$1 last;
}
设置后,重启nginx。

安装禅道
注: 请确保域名已经解析到服务器上。




注意:经过本人测试,这里的数据库一定要用root,用其他账户就会报错,还没搞懂,所以先用root角色安装。其次,我安装时报错:
SQLSTATE [42S01]:基表或视图已存在:1050 表“zt_ticketrelation”已存在
我数据库是全新的数据库,并且数据库清空安装也是这个报错。所以就赶紧进入数据库控制面板。把zt_ticketrelation表彻底删除。然后再安装,就神奇的通过了。

4、安装禅道过程中常见问题 :

(1)如果遇到如上图一样的报错,找到session配置页面,检查下储存模式是否是files,如果不是修改为files。(宝塔的新版本增加了这个功能,老版本没有这个功能的话,可以不用设置)。
(2)修改php.ini 配置文件的 session.save_path 的值为实际的目录 并给这个目录分配读写权限。 重启服务后刷新页面。
注意:session.save_path前的注释分号需要去掉

(3)修改网站-设置中PHP版本,session隔离选项为打开。

注:
备注1:如果模块或者目录检查不通过的话,请按照系统给出的提示进行操作以解决问题。
备注2:linux系统部署时需要注意selinux是否会限制目录操作权限,建议关闭后再安装。

安装成功后,即可使用上面设置的管理员账号登录禅道。
然后在登录过程中又报错。提示date权限不够。给DATE目录777权限。所以需要再运行一下:
chmod 777 -R /www/wwwroot/www.chandao.com/www/data/