环境
CentOS 8 禅道16.x Nginx Mysql PHP
PHP 配置
centos 自带的有 php环境
代码语言:javascript复制sudo dnf module list php # 查看版本,默认7.2
安装php7.2以及所需组件。
代码语言:javascript复制sudo dnf install php php-pdo php-gd php-mbstring php-mysqlnd php-ldap php-json php-xml php-zip
重启服务
代码语言:javascript复制systemctl start php-fpm.service #开启
systemctl status php-fpm.service #查看状态
systemctl enable php-fpm.service #开机启动
权限配置,编辑 www.conf
vi /etc/php-fpm.d/www.conf
找到 做修改
代码语言:javascript复制user = (非root 用户)
group = (非root 用户)
这里没配好 503,500
注意这里 使用端口和非端口的区别,和下面nignx 配置对应
代码语言:javascript复制;listen = /run/php-fpm/www.sock
listen = 9000
配置好了重启
代码语言:javascript复制systemctl restart php-fpm.service
Mysql 安装配置
安装 mariadb
代码语言:javascript复制dnf -y install mariadb mariadb-server
systemctl start mariadb.service # 开启服务
systemctl enable mariadb.service # 开机启动
systemctl status mariadb.service # 查看服务状态
systemctl stop mariadb.service # 关闭服务
mariadb 为mysql 分支
数据库安装设置,重置数据库root账号密码,执行该命令前必须开启mariadb服务。
代码语言:javascript复制mysql_secure_installation
Enter current password for root (enter for none): 输入当前root账号密码,刚安装默认为空,直接回车即可
Set root password? [Y/n] 是否输入root密码,输入y 回车
New password: 输入密码
Re-enter new password: 重复输入
Remove anonymous users? [Y/n] 删除其他用户 y
Disallow root login remotely? [Y/n] 允许root账号远程登录 y
Remove test database and access to it? [Y/n] 删除测试表 y
Reload privilege tables now? [Y/n] 重新加载配置表 y
登陆测试,执行如下命令并输入密码。
mysql -uroot -p
mariadb 的远程链接配置
代码语言:javascript复制select User, host from mysql.user;
输出
代码语言:javascript复制 ------ -----------
| User | host |
------ -----------
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
------ -----------
允许外部ip连接
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
输出
代码语言:javascript复制 ------ -----------
| User | host |
------ -----------
| root | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
------ -----------
允许单独的ip链接
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
最后一步还需要配置防火墙 / 安全策略组,开放3306 端口
安装禅道 v16.x
下载地址:http://www.zentao.net/download.html
[安装包下载] For php 7.4
代码语言:javascript复制wget https://www.zentao.net/dl/zentao/16.5/ZenTaoPMS.16.5.php7.2_7.4.zip
dnf -y install unzip # 安装unzip解压 ,有就不装
unzip ZenTaoPMS.16.5.php7.2_7.4.zip # 解压禅道源码包
Nginx 绑定域名
代码语言:javascript复制yum install nginx # 有就跳过
systemctl start nginx.service
权限
代码语言:javascript复制vi /etc/nginx/nginx.conf
修改 user 为 root
代码语言:javascript复制user = root
代理配置
代码语言:javascript复制vi /etc/nginx/conf.d/zentao.conf
server{
server_name xxx.com;
client_max_body_size 1000M;
location / {
root /home/[user]/www/zentaopms; # 安装前
#root /home/[user]/www/zentaopms/www; # 安装后
index index.php index.html index.htm;
}
location ~ .*.php$ {
fastcgi_pass 127.0.0.1:9000; #注意这里和php 配置对应
#fastcgi_pass unix:/run/php-fpm/www.sock
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
## For https
listen 443 ssl http2;
ssl_certificate /etc/nginx/cer/fullchain.cer;
ssl_certificate_key /etc/nginx/cer/cert.key;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
server{
if ($host = xxx.com) {
return 301 https://$host$request_uri;
}
server_name xxx.com;
listen 80;
return 404;
}
重启服务
代码语言:javascript复制nginx -s reload
访问 http://xxx.com/www/index.php
开始安装
安装之后把 nginx
root 路径加上www
即可
完工!