Ubuntu22.04、PHP8、Apache2、MySQL8环境下源码方式安装禅道17.7
Ubuntu22.04、PHP8、Apache2、MySQL8环境下源码方式安装禅道17.7
官方方式下没有较新版本的安装教程,但实测发现能够成功安装
环境配置
- PHP8和Apache2环境安装
sudo apt install apache2 php php-mysql php-curl php-mbstring
# 重新加载php模块
sudo systemctl reload apache2
访问
localhost:80
检验Apache2是否启动
- MySQL8安装
sudo apt install mysql-server
安装禅道
以开源版17.7为例
sudo unzip ~/Downloads/ZenTaoPMS.17.7.php8.0.zip -d /var/www/html/
sudo chown -hR $USER /var/www/html/zentaopms/
- 必要的源码修改
由于源码/var/www/html/zentaopms/db/zentao.sql
中存在DDL
没有添加IF NOT EXISTS
约束导致一部分表创建失败,可以针对某些表进行修改,增加上该约束即可。
- 配置数据库
用户名 | 密码 | 数据库 |
---|---|---|
zentaopms_17_7_man | 1234 | zentaopms_17_7 |
create user zentaopms_17_7_man identified by '1234';
create database zentaopms_17_7;
-- 数据库授权
grant all privileges on zentaopms_17_7.* to zentaopms_17_7_man@'%';
-- 函数使用授权(报警告,但目前还没有更好的解决方案)
grant super on *.* to zentaopms_17_7_man@'%';
flush privileges;
- 访问localhost:80/zentaopms/www/index.php(也可以修改Apahce配置安装到其他位置
- 同意许可
- 等待禅道系统检查环境
如果出现红色未安装,则在确保已经安装的情况下,重启Apache并刷新(或重新访问网址)
- 输入数据库配置(按照之前创建的数据库信息输入即可),并选择清空数据,这一步由于在创建数据库,因此需要两三分钟时间
- 确认配置
- 进入系统
数据库配置成功基本就安装成功了
自定义安装路径和端口
- 在
/etc/apache2/ports.conf
中添加端口xxxxx
Listen xxxxx
- 在
/etc/apache2/apache2.conf
中添加允许访问目录/any/path/
<Directory /any/path/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
- 在
/etc/apache2/sites-enabled/000-default.conf
中添加虚拟主机
<VirtualHost *:xxxxx> # 自定义端口xxxxx
ServerAdmin webmaster@localhost
DocumentRoot /any/path # 自定义目录/any/path
ErrorLog ${APACHE_LOG_DIR}/error-xxxxx.log # 自定义错误日志
CustomLog ${APACHE_LOG_DIR}/access-xxxxx.log combined # 自定义访问日志
</VirtualHost>
- 修改
/any/path/
的访问权限
由于Apache使用www-data:www-data
进行访问(从/etc/apache2/envvar
中得到),因此为了正常访问,请为该用户(组)赋予读写(执行)权限
- 验证访问正确性,访问
localhost:xxxxx
验证