Ubuntu24.04 安装 禅道

Ubuntu24.04 安装 禅道

环境:

软件版本
Ubuntu24.04.3
Nginx1.24.0
MySQL8.4.6
PHP8.3.6
phpMyAdmin5.2.2
ZenTaoPMS21.7.5

LNMP

1. 更新本地软件包索引并升级已安装软件

  • 更新可用软件包列表

  • 把已安装的软件升级到最新版

  • 安装常用工具

sudo apt update && sudo apt -y upgrade
sudo apt -y install curl wget vim unzip net-tools

2. 安装 Nginx Web 服务器

  • 安装 Nginx
  • 设置开机自启
  • 设置开机自启
  • 查看运行状态(按 q 退出)
sudo apt -y install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx
journalctl -u nginx -f

修改nginx启动端口为66

vim /etc/nginx/sites-available/default
sudo systemctl restart nginx

浏览器访问测试

nginx

3. 安装 MySQL

  1. MySQL APT存储库的下载页面
    MySQL APT存储库的下载页面

    wget https://repo.mysql.com//mysql-apt-config_0.8.34-1_all.deb
    
  2. 安装mySQL APT存储库

    sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb
    

    设置MySQL存储库

  3. 使用以下命令从MySQL APT存储库更新包信息(此步骤是必需的):

    sudo apt-get update
    
  4. 使用APT安装MySQL

    sudo apt-get -y install mysql-server
    

    这将安装MySQL服务器的包,以及客户端和数据库公共文件的包。

    在安装过程中,您需要为MySQL安装的根用户提供密码。

    设置MySQL密码
    设置MySQL密码

  5. 启动和关闭MySQL服务

    MySQL服务器在安装后自动启动。您可以使用以下命令检查MySQL服务器的状态:

    sudo systemctl status mysql
    

    如果操作系统启用了systemd,则应该使用标准的systemctl(或者参数相反的服务)命令(如stop、start、status和restart)来管理MySQL服务器服务。默认情况下,mysql服务是启用的,它在系统重新启动时启动。

    一些依赖于本地MySQL包的第三方本地存储库包可能无法与MySQL APT存储库包一起使用,

    不应与它们一起使用;其中包括akonadi后端mysql、handlersocket-mysql-5.5和zoneminder。

  6. 登录MySQL

    mysql -uroot -p
    
  7. 修改密码并设置访问主机

    运行安全初始化脚本(交互式,按提示操作)

    本案例未使用该方法,可略过此步骤

    # 设置 root 密码、删除匿名用户、禁止远程 root 等,本案例未使用该方法,可略过此步骤
    # sudo mysql_secure_installation          
    

    使用SQL语句方式,本案例使用

    select host , user , plugin ,authentication_string from mysql.user;

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'lihaozhe';
    flush privileges;
    
    update mysql.user set host = '%' where user='root';
    flush privileges;
    
    quit;
    
    sudo systemctl restart mysql
    

4. 安装 PHP 8.3 及常用扩展

sudo apt -y install php-fpm php-mysqlnd php-cli
sudo apt -y install php-{mbstring,zip,gd,curl,json,intl,bcmath,xml,opcache}
sudo systemctl enable --now php$(php -v | awk '/^PHP [0-9]/{print $2}' | cut -d. -f1,2)-fpm

下面把这两条命令逐段、逐包拆开,告诉你“为什么要装、装了什么、不装会怎样”。

  1. php-fpm

    • 全称:PHP FastCGI Process Manager

    • 作用:把 PHP 解释器变成常驻进程,供 Nginx/Apache 通过 FastCGI 协议调用,比传统 mod_php 省内存、易池化、易隔离。

    • 不装:Nginx 无法解析 .php,浏览器访问直接下载源码。

  2. php-mysql

    • 作用:给 PHP 提供与 MySQL/MariaDB 通信的驱动(新版里实际是 php-mysqlnd)。

    • 不装:mysqli、PDO_MySQL 都不可用,程序连不上数据库。

  3. php-cli

    • 作用:命令行版 PHP。你在终端里敲 php -vcomposerartisandrush 之类都要用它。

    • 不装:无法离线跑 PHP 脚本、无法使用 Composer 等 CLI 工具。

逐个解释:

扩展功能场景缺了会怎样
mbstring多字节字符串(UTF-8/中文/日文/emoji)处理,正则、截取、大小写转换。出现乱码、strlen 算错字数、Laravel 直接报错。
zip读写 .zip 压缩包(WordPress/Composer 更新、备份)。无法解压上传的插件、无法生成备份。
gd图片处理:缩略图、加水印、验证码。无法调用 imagecreatefromjpeg() ,上传头像失败。
curlHTTP 客户端,访问 API、抓取网页。无法使用 Guzzle、无法请求微信/支付宝接口。
json编码/解码 JSON。与前端、第三方 API 交互失败(现在已内置,但仍需显式安装)。
intlICU 国际化库:格式化货币、日期、排序、转换字符集。Laravel Carbon、Symfony Intl 直接抛异常。
bcmath任意精度数学计算,财务场景避免浮点误差。金额计算出现 0.30000000000000004 之类问题。
xml解析 XML、RSS、SOAP、微信支付回调。无法使用 SimpleXML/DOMDocument。
opcache字节码缓存,把编译后的 PHP 脚本放内存,提速 2~5 倍。性能大幅下降,每次请求都重新编译。

5. Nginx配置PHP并验证安装

配置PHP时区
  1. 修改 /etc/php/8.3/fpm/php.ini 配置文件,添加以下内容:

    date.timezone = Asia/Shanghai
    
  2. 重启服务

    sudo systemctl restart php8.3-fpm nginx
    
验证安装
  1. 创建测试 PHP 文件:

    vim /usr/share/nginx/html/info.php
    

    添加内容:

    <?php
    phpinfo();
    ?>
    
  2. 通过浏览器访问:

    • PHP 信息:http://服务器IP:PORT/info.php

6. 安装 phpMyAdmin

  1. 下载并解压phpMyAdmin

    wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.zip
    unzip phpMyAdmin-5.2.2-all-languages.zip -d /usr/share
    mv /usr/share/phpMyAdmin-5.2.2-all-languages /usr/share/phpmyadmin
    
  2. 创建缓存模板文件的临时目录并授权

    mkdir /usr/share/phpmyadmin/tmp
    sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp/ 
    sudo chmod -R 755 /usr/share/phpmyadmin/tmp/
    
  3. 配置cookie加密密钥

    cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php 
    

    打开 /usr/share/phpmyadmin/config.inc.php 文件,添加或修改以下配置:

    c f g [ ′ b l o w f i s h s e c r e t ′ ] = ′ 这里填随机复杂字符 串 ′ ; 示例:可生成 32 位随机字符,如在线工具生成后替换,也可简单写(但越复杂越安全)比如: cfg['blowfish_secret'] = '这里填随机复杂字符串'; 示例:可生成 32 位随机字符,如在线工具生成后替换,也可简单写(但越复杂越安全) 比如: cfg[blowfishsecret]=这里填随机复杂字符;示例:可生成32位随机字符,如在线工具生成后替换,也可简单写(但越复杂越安全)比如:cfg[‘blowfish_secret’] = ‘abcdefghijklmnopqrstuvwxyz123456’;

    $cfg['blowfish_secret'] = 'abcdefghijklmnopqrstuvwxyz123456';
    
  4. 创建独立的 Nginx 虚拟主机

    创建并编写 /etc/nginx/conf.d/phpmyadmin.conf 文件,内容如下:

    server {
        listen 33;
        # server_name _;                 # 如要域名访问,把 _ 改成 phpmyadmin.example.com
        root /usr/share/phpmyadmin;
    
        index index.php index.html;
    
        # 安全:禁止访问 .ht* 隐藏文件
        location ~ /\.ht { deny all; }
    
        # 禁止访问敏感目录
        location ~ ^/(doc|sql|setup)/ { deny all; }
    
        # 处理 PHP
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            # Ubuntu 24.04 默认 php-fpm sock 路径,若版本不同请自行调整
            fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        }
    
        # 其余静态文件
        location / {
            try_files $uri $uri/ =404;
        }
    }
    
    

    注意:云服务器厂商对80和8080常用web服务端口有限制故而监听端口改成了33

  5. 重启服务

    systemctl restart nginx php8.3-fpm
    
  6. 配置连接

    • 使用浏览器打开链接 http://服务器IP:33,见到如下界面:

      phpmyadmin_login

  • 使用数据库账号密码登录后进入主界面
    phpMyAdmin
    点击查找原因

  • 创建一个名为’phpmyadmin’的数据库,并在那里设置phpMyAdmin配置存储。

    phpMyAdmin

    点击创建

    phpMyAdmin

  • 重新访问主页

    phpMyAdmin

禅道

1. 下载禅道

禅道下载页面:https://www.zentao.net/downloads.html

禅道下载页面

注意:根据实际情况选择对应版本

2. 成为 root 用户

以 root 权限启动新的 shell 会话。

sudo -s

3. 下载并配置禅道

# 下载禅道开源版21.7.5
wget https://dl.zentao.net/zentao/21.7/ZenTaoPMS-21.7.5-php8.1.zip

# 解压到网站目录
unzip ZenTaoPMS-21.7.5-php8.1.zip -d /usr/share

4. 配置 Nginx 虚拟主机

vim /etc/nginx/sites-available/zentao

添加以下配置:

server {
  listen 6633;

  root /usr/share/zentaopms/www;
  index index.php index.html index.htm;

  access_log /var/log/nginx/zentao_access.log;
  error_log /var/log/nginx/zentao_error.log;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  # 禁止访问.ht文件
  location ~ /\.ht {
    deny all;
  }
}

启用站点配置:

ln -s /etc/nginx/sites-available/zentao /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

5. 设置文件权限

chown -R www-data:www-data /usr/share/zentaopms

6. 为禅道创建数据库

-- 登录MySQL
sudo mysql -u root -p

-- 执行以下SQL命令创建数据库和用户
CREATE DATABASE zentao CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'zentao'@'localhost' IDENTIFIED BY 'zentao';  # 替换为你的密码
GRANT ALL PRIVILEGES ON zentao.* TO 'zentao'@'localhost';
FLUSH PRIVILEGES;
EXIT;

7. 完成禅道安装

  1. 打开浏览器,访问你的服务器 IP 或域名、

  2. 按照禅道安装向导进行操作

  3. 在数据库配置页面,输入之前创建的数据库信息:

    • 数据库类型:MySQL
    • 数据库主机:localhost
    • 数据库名:zentao
    • 用户名:zentao
    • 密码:你设置的数据库密码
  4. 截图如下:

    开始安装条件检查
    生成配置文件
    正在安装数据库
    保存配置文件
    选择使用模式
    设置账号
    image-20250921162008304
    禅道登录
    禅道首页

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李昊哲小课

桃李不言下自成蹊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值