这套 JIRA 8.6 环境只保证文中提及的版本可复现,其余版本没有验证过。记录安装步骤和一个重启后启动失败的完整排查过程。
安装 JDK
用 RPM 直接装 Oracle JDK 1.8。Atlassian 的产品安装包自带 JDK,这步其实可以跳过:
[root@jira soft]# rpm -ivh jdk-8u231-linux-x64.rpm

部署数据库
MySQL 5.7.22,RPM 方式,安装包如下:

先卸载系统自带的 MariaDB:
[root@jira soft]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@jira soft]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
再装 MySQL:
[root@jira soft]# rpm -ivh mysql-community-*

配置数据库
改配置后启动并设开机自启:
#先把配置修改下
[root@jira ~]# vim /etc/my.cnf
[mysqld]
...
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_file_format=Barracuda
innodb_log_file_size=2G
sql_mode=ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#这里修改后,后面就无需再次修改了
[root@jira ~]# systemctl start mysqld
[root@jira ~]# systemctl enable mysqld
从日志里取初始 root 密码:
[root@jira ~]# cat /var/log/mysqld.log |grep password

[root@jira ~]# mysql -uroot -p
降低密码策略限制并重置 root 密码,同时放开远程访问:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_number_count=0;
mysql> set global validate_password_special_char_count=0;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'dqz123456';
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'dqz123456';
mysql> grant all privileges on *.* to root@'%';
创建 jira 库:
mysql> CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
授权语句分版本。MySQL 5.7.0-5.7.5:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on <JIRADB>.* TO 'jira'@'%' IDENTIFIED BY 'dqz123456';
mysql> flush privileges;
MySQL 5.7.6 及以上:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jira.* TO 'jira'@'%' IDENTIFIED BY 'dqz123456';
mysql> flush privileges;
安装 JIRA 并走初始化
赋权执行安装程序:
[root@jira soft]# chmod +x atlassian-jira-software-8.6.0-x64.bin
[root@jira soft]# ./atlassian-jira-software-8.6.0-x64.bin


安装完成后 JIRA 自动启动,放通 8080 端口:
[root@jira soft]# firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
[root@jira soft]# firewall-cmd --reload
success
浏览器访问,等数据库初始化(会创建 264 张表,需要一段时间):


没有正式 license 时,在官网注册账号申请一个 30 天试用许可证,生成后填入:


页面会自动跳回填写 KEY 的界面并带上许可证,一路下一步完成配置:










登录 JIRA 查看授权信息,到期时间显示到了 2033 年,安装阶段结束:

重启后启动失败的排查
服务器重启后 JIRA 起不来,看日志:
[root@jira ~]# cd /opt/atlassian/jira/logs
[root@jira logs]# cat catalina.out

提示数据库配置管理器不可用,无法继续。处理过程分三步。
第一步,把 dbconfig.xml 重命名备份再启动,启动失败:
[root@jira ~]# cd /var/atlassian/application-data/jira
[root@jira jira]# mv dbconfig.xml dbconfig.xml_bak
[root@jira jira]# /etc/init.d/jira start
第二步,改回原名重启,旧报错没了,来了新报错:
[root@jira jira]# mv dbconfig.xml_bak dbconfig.xml
[root@jira jira]# /etc/init.d/jira stop
[root@jira jira]# /etc/init.d/jira start
[root@jira jira]# cd /opt/atlassian/jira/logs
[root@jira logs]# tailf catalina.out

按提示停服务,重命名 /var/atlassian/application-data/jira/plugins/.osgi-plugins/felix 目录再启动:
[root@jira logs]# /etc/init.d/jira stop
[root@jira logs]# cd /var/atlassian/application-data/jira/plugins/.osgi-plugins/
[root@jira .osgi-plugins]# mv felix felix_bak
[root@jira .osgi-plugins]# /etc/init.d/jira start
报错继续变成权限类提示:

第三步,参考官方文档修权限:把 JIRA 相关目录属主改成 jira 用户并收紧权限位,把 logs 下的 catalina.out 和 work 下的 catalina.pid 挪走:
[root@jira ~]# /etc/init.d/jira stop
[root@jira ~]# chown -R jira:jira /var/atlassian/application-data/jira
[root@jira ~]# chown -R jira:jira /opt/atlassian/jira/logs
[root@jira ~]# chown -R jira:jira /opt/atlassian/jira/temp
[root@jira ~]# chown -R jira:jira /opt/atlassian/jira/work
[root@jira ~]# chmod -R u=rwx,g=rx,o=rx /var/atlassian/application-data/jira
[root@jira ~]# chmod -R u=rwx,g=rx,o=rx /opt/atlassian/jira/logs
[root@jira ~]# chmod -R u=rwx,g=rx,o=rx /opt/atlassian/jira/temp
[root@jira ~]# chmod -R u=rwx,g=rx,o=rx /opt/atlassian/jira/work
[root@jira ~]# cd /opt/atlassian/jira/logs
[root@jira logs]# mv catalina.out catalina.out_bak
[root@jira work]# mv catalina.pid catalina.pid_bak
再次启动并观察新生成的日志:
[root@jira work]# /etc/init.d/jira start
日志里只剩 WARN 和 INFO、没有 ERROR,页面访问恢复,问题解决。
声明
文中方法与程序仅用于个人学习研究,不得用于商业用途;正式使用请到 https://www.atlassian.com/zh 购买正版。















暂无评论内容