Tuleap 17.5 运维命令手册:服务、备份与排障

Tuleap 17.5 日常运维手册:服务拓扑与端口清单、tuleap-cfg 与 tuleap config 命令族、20 余个专用日志文件全景与日志级别、一致性备份与恢复流程、月度升级五步法及排障决策树速查表。

TuleapTuleapUbuntu 22.04Linux运维2026/10/28

Tuleap 17.5 运维命令手册:服务、备份与排障

Tuleap 单机实例由「tuleap 主服务 + nginx + httpd + PHP-FPM + MySQL 8.4」加可选的 Valkey/Postfix 组成,日常运维的要点是分清「哪个动作动哪个服务、日志落在哪里、升级怎么走」。本文是安装(《Ubuntu 22.04 安装 Tuleap 17.5 指南》)与配置(《Tuleap 17.5 配置详解:配置文件与系统变量逐项精讲》)两篇的运维续篇,命令与预期结果整理自官方安装指南、管理指南与升级文档(docs.tuleap.com,查询日 2026-10-28);因 Tuleap 17.5 无法在 Ubuntu 22.04 直装(原因与实测证据见安装篇第一节),本篇命令均为「命令 + 预期结果」口径、未实测,已在各节标注。组件背景见《Tuleap 认知与选型:开源 ALM 敏捷项目管理平台全景》。

一、服务与端口清单

1.1 服务拓扑速查

服务角色关键路径备注
tuleap平台主服务(后台事件、队列)/var/log/tuleap/worker_log官方升级命令的操作对象之一
nginxTLS/443 入口/etc/nginx/conf.d/tuleap.conf证书两行 ssl_certificate*
httpd(Apache)应用层 Web/etc/httpd/conf/httpd.conf、/etc/httpd/conf.d/官方升级命令三单元之一
tuleap-php-fpmPHP 进程池(Remi PHP 8.2)/var/opt/remi/php82/log/php-fpm/error.log官方排障页点名检查
mysqldMySQL 8.4/etc/my.cnf.d/tuleap.cnfsql-mode 强制 NO_ENGINE_SUBSTITUTION
valkey缓存(监控特性场景)/etc/valkey/valkey.conf可选
postfix邮件收发/etc/postfix/main.cf别名库含 /etc/aliases.codendi
sshd + GitoliteGit/SVN 托管/var/lib/gitoliteSSH 22

1.2 端口清单

官方 Services 页原文口径:Web UI 443(HTTPS)、SSH 22、SMTP 25。MySQL 仅本机访问;防火墙要求 80/443 对外(官方排障页)。

1.3 每日巡检命令组合

systemctl is-active tuleap nginx httpd mysqld   # 预期结果:四行 active
ss -lntp | grep -E ':443 |:22 |:25 '            # 预期结果:三条监听齐全
tail -5 /var/log/tuleap/worker_log              # 预期结果:worker 心跳/事件记录持续刷新

口径:未实测(命令整理自官方 Services / Troubleshooting 页;运行时基线为官方支持的 EL9 环境)。

二、平台自带命令行工具

2.1 tuleap-cfg:站点级操作

# 部署站点配置(改配置/升级后必跑;预期结果:正常退出、无 PHP Fatal)
tuleap-cfg site-deploy

site-deploy 官方升级文档原文描述为「Deploy site configurations, run database migration & co」——它同时承担配置模板渲染与数据库迁移检查,是 Tuleap 最重要的单条命令。

2.2 tuleap:配置变量命令族

tuleap config-list                       # 预期结果:列出全部变量及默认值
tuleap config-get sys_logger_level       # 预期结果:warning(默认)
tuleap config-set sys_logger_level info  # 预期结果:写入成功,需 site-deploy 生效

2.3 服务管理标准动作

systemctl restart tuleap nginx httpd     # 配置变更后的重启三连
systemctl status tuleap-php-fpm          # 排障页点名的检查项

三、日志体系与排查

3.1 日志级别

$sys_logger_level(/etc/tuleap/conf/local.inc 或 config-set)可取 8 个值(官方 Logs 页):emergency、alert、critical、error、warning(默认)、notice、info、debug。级别作用于全部驱动(file/syslog/graylog)与全部服务。

3.2 日志文件全景

官方 Logs 页列出的完整清单(查询日 2026-10-28):

类别文件内容
nginx/var/log/nginx/access.log、/var/log/nginx/error.log入口访问与错误
PHP-FPM/var/opt/remi/php82/log/php-fpm/error.logPHP 响应构造错误
Apache/var/log/httpd/access_log、/var/log/httpd/error_log应用层访问与错误
平台事件/var/log/tuleap/codendi_syslog系统事件执行(后台操作)
异步 worker/var/log/tuleap/worker_log后台 worker 活动(异步通知等)
Git/var/log/tuleap/git_syslog、/var/log/tuleap/git_http_error_logGit 系统事件队列、HTTP 错误
REST API/var/log/tuleap/rest_api_logAPI 错误
邮件/var/log/tuleap/mail_syslog邮件分发错误与信息
LDAP/var/log/tuleap/ldap_syslogLDAP 插件活动
认证/var/log/tuleap/openid_connect_client.log、/var/log/tuleap/oauth2_server.logOIDC 客户端、OAuth2 服务端
图表/var/log/tuleap/burndown_syslog、/var/log/tuleap/burnup_syslog燃尽/燃起图生成
导入/迁移/var/log/tuleap/project_xml_import_syslog、/var/log/tuleap/tv3_tv5_migration_syslogXML 项目导入、Tracker v3→v5 迁移
其他/var/log/tuleap/statistics_syslog、/var/log/tuleap/archive_deleted_item.log、/var/log/tuleap/botMattermost_syslog、/var/log/tuleap/onlyoffice_syslog、/var/log/tuleap/webdav_syslog、/var/log/tuleap/frontend_error统计、归档插件、BotMattermost、ONLYOFFICE、WebDAV、前端错误上报

3.3 日志驱动选择

官方建议:file 为默认方式但「unlikely to fit production needs」,生产环境推荐 syslog 或 graylog/gelf(后者上下文信息更丰富),并建议把 nginx/Apache 错误日志一并纳入同一驱动收集。

3.4 高频排查组合

# 预期结果:最近 10 分钟平台侧错误概览
tail -200 /var/log/tuleap/codendi_syslog | grep -i error

# 预期结果:登录死循环时定位重定向源(对比站点 URL 一致性)
grep -i server_name /etc/nginx/conf.d/tuleap.conf
grep sys_default_domain /etc/tuleap/conf/local.inc

# 预期结果:worker 卡住时确认队列活动
tail -f /var/log/tuleap/worker_log

四、备份与恢复

4.1 备份面(官方 Backup/Restore 页)

  • 数据库:主库 tuleap + 各插件库,一把全备:
mysqldump -u tuleapadm -p --all-databases > tuleap_all.sql
  • 目录:/etc/nginx、/etc/valkey、/etc/tuleap、/var/lib/gitolite、/var/lib/tuleap(官方提示部分目录视插件存在)。

4.2 一致性备份流程

systemctl stop nginx
systemctl stop httpd
systemctl stop tuleap
su - gitolite -c "gitolite writable @all off 'Backup in progress'"
# ……执行 mysqldump 与目录打包……
# 备份完成后恢复:gitolite writable @all on 并 systemctl start 三单元

官方原话:先停服务「should guarantee you a consistent backup」;有快照能力的平台可直接停服务后打快照。

4.3 恢复流程(官方 Restore 原文顺序)

  1. 准备同版本 Tuleap 服务器(按安装篇流程);
  2. 停全部服务;
  3. 导入数据库(官方注:从 sqldump 恢复是保证实例间兼容的最稳妥方式);
  4. 还原目录(RPM 部署间迁移需注意 uids/gids 映射一致,官方提供 rsync 重映射方法);
  5. 执行 tuleap-cfg site-deploy;
  6. 重启服务并按 4.4 验证。

4.4 定时备份骨架与验证

# /etc/cron.d/tuleap-backup(示例:每日 02:30,先停后起)
30 2 * * * root systemctl stop nginx httpd tuleap && \
  mysqldump -u tuleapadm -p'PWD' --all-databases > /backup/tuleap_$(date +\%F).sql && \
  tar czf /backup/tuleap_etc_$(date +\%F).tgz /etc/tuleap /var/lib/tuleap /var/lib/gitolite && \
  systemctl start tuleap nginx httpd

恢复演练验证清单:导入库后 tuleap-cfg site-deploy 无报错、以 admin / q1w2e3r4 示例账号登录成功、抽一个项目确认 Tracker 工件与附件完整。

五、升级流程(月度节奏)

5.1 升级前通告

官方 Upgrade 页要求提前告知用户平台将停机:可走站内群发邮件引擎 + 全站横幅(banner)。

5.2 标准升级五步(官方原文命令)

# 1) 检查可用更新(预期结果:列出 tuleap-* 新版本号)
dnf check-update tuleap\*

# 2) 停服务(官方原样命令)
systemctl stop tuleap nginx httpd

# 3) 升级包(预期结果:事务完成,tuleap 版本号前进)
dnf update

# 4) 部署站点配置、跑数据库迁移(官方原样命令)
tuleap-cfg site-deploy

# 5) 起服务
systemctl start tuleap nginx httpd

官方同时要求:升级前必读对应版本的部署指南(deployment guide)说明。

5.3 升级后验证

systemctl is-active 三单元 active;rpm -q tuleap 版本符合预期;登录平台抽测 Tracker 看板、Git 浏览、REST API(/api/ 探活)三类入口;观察 worker_log 恢复滚动。

六、排障速查(结合本系列实测沉淀)

6.1 故障决策树

Web 打不开?
├─ 否 → systemctl status nginx / tuleap-php-fpm / mysqld
│        └─ 有单元挂 → journalctl -u <单元> 看日志 → 修复后 start
│        └─ 全 active → ss -lntp 查 443 → 防火墙 firewall-cmd --list-all 放行 80/443
├─ 白屏/500 → /var/log/nginx/error.log + /var/opt/remi/php82/log/php-fpm/error.log
└─ 登录死循环 → 统一 /etc/tuleap/conf/local.inc 与 tuleap.conf 的站点 URL → site-deploy + 重启
后台事件不动?→ tail /var/log/tuleap/worker_log;需要细节时调高 $sys_logger_level

6.2 速查表

症状一条命令定位处置
前页 502systemctl status tuleap-php-fpm拉起 fpm;查 PHP 错误日志
证书告警openssl x509 -in <cert> -noout -subject按 TLS 配置节换 CA 证书
邮件不出mailq、tail /var/log/tuleap/mail_syslog查 Postfix 四行配置与别名库
Git 推拉失败tail /var/log/tuleap/git_http_error_log、tail /var/log/tuleap/git_syslog核对 SSH 密钥与 Gitolite 权限
API 401tail /var/log/tuleap/rest_api_log检查令牌/OIDC 配置
升级后白屏tuleap-cfg site-deploy 是否漏跑补跑 site-deploy 并重启三单元

延伸阅读

官方文档来源(查询日 2026-10-28):docs.tuleap.com 安装指南 Upgrade、Troubleshooting 页;管理指南 Services、Logs、Backup/Restore 页;tuleap config-list / tuleap-cfg site-deploy / dnf check-update tuleap\* 等命令均出自上述页面原文。