Atlassian办公全家桶部署文档

目录

jira

整体思路

  1. 环境准备:安装并配置 JDK、MySQL 数据库。

  2. 部署 Jira:解压 Jira 软件包,配置 JIRA_HOME 和数据库连接。

  3. 配置与启动:通过 Web 界面完成 Jira 的最终配置。


第一部分:环境准备

1. 更新系统并安装必要工具

root 用户或使用 sudo 执行以下命令:

dnf update -y
dnf install -y wget tar nano

2. 安装 Java (JDK 8)

Jira 7.13.0 官方推荐使用 JDK 8。我们将安装 OpenJDK 8。

dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装完成后,验证安装并设置 JAVA_HOME 环境变量。

# 查看 Java 版本
java -version

# 查找 JDK 的安装路径。通常安装在 /usr/lib/jvm/ 下。
alternatives --config java
# 输出中会显示路径,例如:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-4.0.1.el8_9.x86_64/jre/bin/java
# 那么 JAVA_HOME 就是 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-4.0.1.el8_9.x86_64(去掉 /jre/bin/java)

# 设置全局环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile.d/java.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile.d/java.sh

# 使环境变量立即生效
source /etc/profile.d/java.sh

# 再次验证 JAVA_HOME
echo $JAVA_HOME

3. 安装并配置 MySQL 数据库

a. 安装 MySQL Server :安装mysql5.7

CentOS8安装mysql5.7详细可用教程-CSDN博客

1.获取安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.开始安装

yum localinstall mysql57-community-release-el7-11.noarch.rpm

检查mysql源是否安装成功:如果没成功重新上一步

yum repolist enabled | grep "mysql.*.community.*"

再依次执行下面两条语句:

yum module disable mysql
yum -y install mysql-community-server

这里显示GPG-check有问题的可以执行下下面这个语句:(没问题的可以不执行)

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum clean packages
#或者临时禁用gpg检查
yum -y install mysql-community-server --nogpgcheck

4.启动MySQL

systemctl start mysqld.service

5.查看状态

systemctl status mysqld.service

# 如果出现如下报错,请换成 service mysqld status 这条命令
Unit mysql.service could not be found.

6.设置开机启动

systemctl enable mysqld
systemctl daemon-reload

7.查看开机启动状态

systemctl list-unit-files | grep mysqld

8.获取初始密码

grep 'temporary password' /var/log/mysqld.log

9.登录mysql修改密码,并开启远程访问

mysql -u root -p

设置新密码与远程访问:(默认密码需要强密码,大小写+数字+字符)

# 设置新密码(需要大写、小写、数字、符号)
set password for 'root'@'localhost'='你的新密码';

# 设置远程访问
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘你的新密码’ WITH GRANT OPTION;

# 刷新使配置生效
flush privileges;

到此,大功告成,记得去把 3306 端口的防火墙放开!

#测试环境关闭防火墙
systemctl disable --now firewalld

以上配置后如果出现无法登录mysql的问题可以执行下面步骤重新安装

# 卸载现有MySQL
sudo yum remove mysql mysql-server

# 清理残留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf

# 重新安装
sudo yum install mysql-server
sudo systemctl start mysqld

yum -y install mysql-community-server –nogpgcheck

d. 创建 Jira 专用数据库和用户

登录 MySQL:

mysql -u root -p

在 MySQL 提示符下执行以下命令:

-- 切换到mysql数据库
USE mysql;

— 删除已存在的jira用户(如果有)
DROP USER IF EXISTS ‘jirauser’@’localhost’;

— 创建jira数据库
CREATE DATABASE jira CHARACTER SET utf8 COLLATE utf8_bin;

— 创建jira用户并设置密码(MySQL 5.7语法)
CREATE USER ‘jirauser’@’localhost’ IDENTIFIED BY ‘jiraPASSWORD123.’;
CREATE USER ‘jirauser’@’%’ IDENTIFIED BY ‘jiraPASSWORD123.’;
— 授予权限
GRANT ALL PRIVILEGES ON jira.* TO ‘jirauser’@’localhost’;
GRANT ALL PRIVILEGES ON jira.* TO ‘jirauser’@’%’;
— 刷新权限
FLUSH PRIVILEGES;

— 查看用户创建情况
SELECT user, host, authentication_string FROM user WHERE user = ‘jirauser’;

— 退出
EXIT;


第二部分:部署 Jira

1. 创建系统用户和目录

为了安全起见,我们为 Jira 创建一个专用的系统用户。

# 创建 jira 用户组和用户,并指定主目录
groupadd jira
useradd -r -g jira -d /opt/atlassian/jira -s /bin/bash jira

# 创建必要的目录
mkdir -p /opt/atlassian/jira # Jira 安装目录
mkdir -p /var/atlassian/application-data/jira # JIRA_HOME 目录,用于存储数据

# 将 Jira 软件包移动到安装目录并更改所有权
# 假设您的 atlassian-jira-software-7.13.0.tar.gz 文件在当前目录
cp atlassian-jira-software-7.13.0.tar.gz /opt/atlassian/jira/

# 更改目录所有权给 jira 用户
chown -R jira:jira /opt/atlassian/jira /var/atlassian/application-data/jira

2. 解压并配置 Jira

切换到 jira 用户进行操作:

# 切换到 jira 用户
su - jira

# 导航到安装目录
cd /opt/atlassian/jira

# 解压软件包
tar -xvzf atlassian-jira-software-7.13.0.tar.gz

# 解压后会生成一个目录,如 atlassian-jira-software-7.13.0-standalone
# 可以创建一个软链接以便管理
ln -s atlassian-jira-software-7.13.0-standalone/ jira

3. 配置 JIRA_HOME 和数据库连接器

a. 配置 JIRA_HOME

编辑 current/bin/setenv.sh 文件:

nano current/bin/setenv.sh

在文件末尾添加或修改 JIRA_HOME 变量:

export JIRA_HOME="/var/atlassian/application-data/jira"

保存并退出(按 Ctrl+X,然后 Y,然后 Enter)。

b. 下载 MySQL JDBC 驱动

Jira 需要 MySQL 的 JDBC 驱动(Connector/J)才能连接数据库。驱动版本很重要,Jira 7.13.0 推荐使用 5.1.x 版本。

# 切换回 root 用户下载驱动
exit # 退出 jira 用户会话

# 下载驱动(以 5.1.49 为例,这是一个稳定版本)
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.49.tar.gz

# 解压并复制 jar 文件到 Jira 的 lib 目录
tar -xvzf mysql-connector-java-5.1.49.tar.gz
cp mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /opt/atlassian/jira/jira/lib/

# 确保 jira 用户拥有该文件的所有权
chown jira:jira /opt/atlassian/jira/jira/lib/mysql-connector-java-5.1.49.jar

4. 启动 Jira

现在回到 jira 用户启动服务:

# 再次切换到 jira 用户
su - jira

# 启动 Jira
cd /opt/atlassian/jira/current/bin
./start-jira.sh

首次启动会需要一些时间来初始化和创建数据库表。您可以通过查看日志文件来监控启动过程:

# 在一个新的终端窗口查看日志
tail -f /var/atlassian/application-data/jira/log/atlassian-jira.log

当看到类似 Server startup 的日志时,说明启动成功。


第三部分:通过 Web 界面完成配置

  1. 打开浏览器:访问 http://<您的服务器IP地址>:8080

  2. 选择语言:选择中文或英文。

  3. 设置向导

    • 设置类型:选择“我将自己设置”。

    • 数据库连接

      • 选择“我的数据库”为 MySQL

      • 驱动程序类名com.mysql.jdbc.Driver

      • 数据库 URLjdbc:mysql://localhost:3306/jira?useUnicode=true&characterEncoding=utf8&sessionVariables=default_storage_engine=InnoDB

      • 用户名jirauser

      • 密码:您之前设置的 jirauserpassword

      • 点击“测试连接”,应该显示成功。然后点下一步

    • 设置应用程序属性

      • 填写您的 Jira 实例名称、模式(公开/私有)和基础 URL(例如 http://您的服务器IP或域名:8080)。

    • 指定许可证:输入您购买的 Jira 软件许可证密钥。如果没有,可以选择“申请试用许可证”或“我想申请评估许可证”。

    • 设置管理员账户:创建第一个管理员用户。

    • 电子邮件通知:可以稍后配置。

    • 完成:配置完成后,您将进入 Jira 主界面。

后续优化(重要)

  1. 配置为系统服务:目前 Jira 在前台运行,关闭终端会停止服务。您需要创建一个 systemd 服务文件,让 Jira 在后台运行并开机自启。

很好!将 Jira 配置为系统服务是推荐的做法。以下是详细的配置步骤:

第一步:创建 systemd 服务文件

# 切换到 root 用户
su -

# 创建 systemd 服务文件
cat > /etc/systemd/system/jira.service << ‘EOF’
[Unit]
Description=Atlassian JIRA
After=network.target

[Service]
Type=forking
User=jira
Group=jira
Environment=JIRA_HOME=/var/atlassian/application-data/jira
WorkingDirectory=/opt/atlassian/jira/jira
PIDFile=/opt/atlassian/jira/jira/work/catalina.pid
ExecStart=/opt/atlassian/jira/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/jira/bin/stop-jira.sh
Restart=on-failure
RestartSec=30
TimeoutSec=300
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

第二步:设置正确的权限

# 设置服务文件权限
chmod 644 /etc/systemd/system/jira.service

# 确保 Jira 目录权限正确
chown -R jira:jira /opt/atlassian/jira
chown -R jira:jira /var/atlassian/application-data/jira

# 创建必要的日志目录
mkdir -p /var/log/jira
chown jira:jira /var/log/jira

第三步:重新加载 systemd 配置

# 重新加载 systemd 配置
systemctl daemon-reload

# 启用 Jira 服务开机自启动
systemctl enable jira.service

第四步:停止当前手动运行的 Jira

# 在运行 Jira 的终端中按 Ctrl+C 停止
# 或者使用 pkill
pkill -f catalina
#ps拿到pid然后kill
ps -ef | grep java
kill -9 pid

第五步:启动 Jira 系统服务

# 启动 Jira 服务
systemctl start jira

# 检查服务状态
systemctl status jira

# 查看实时日志
journalctl -u jira -f

第六步:验证服务运行状态

# 检查服务状态
systemctl status jira

# 检查进程
ps aux | grep jira | grep -v grep

# 检查端口监听
netstat -tlnp | grep 8080

# 测试访问
curl -I http://localhost:8080

第七步:常用管理命令

# 启动 Jira
systemctl start jira

# 停止 Jira
systemctl stop jira

# 重启 Jira
systemctl restart jira

# 查看状态
systemctl status jira

# 查看日志
journalctl -u jira -f
journalctl -u jira –since “1 hour ago”

# 启用开机自启
systemctl enable jira

# 禁用开机自启
systemctl disable jira

第八步:验证配置

执行以下脚本来验证所有配置:

# 创建新的验证脚本
cat > /tmp/verify-jira-fixed.sh << 'EOF'
#!/bin/bash
echo "=== Jira 服务修复验证 ==="

echo “1. 服务状态:”
systemctl status jira –no-pager

echo “”
echo “2. 进程检查 (应该显示通过 systemd 启动):”
ps aux | grep jira | grep -v grep | head -2

echo “”
echo “3. 检查 systemd 环境变量:”
systemctl show jira | grep Environment

echo “”
echo “4. 端口检查:”
netstat -tlnp | grep :8080

echo “”
echo “5. 最近日志:”
journalctl -u jira -n 10 –no-pager
EOF

chmod +x /tmp/verify-jira-fixed.sh
/tmp/verify-jira-fixed.sh

完成!

  1. 配置反向代理和 HTTPS:使用 Nginx 或 Apache 作为反向代理,配置域名和 SSL 证书,使访问更安全、更便捷。

  2. 调整 JVM 内存参数:根据服务器内存大小,编辑 /opt/atlassian/jira/current/bin/setenv.sh 文件中的 JVM_MINIMUM_MEMORY1024M 和 JVM_MAXIMUM_MEMORY2048M 参数以提高性能。

输入许可证

  • 页面输入完数据库之后进入许可证页面

下载生成许可证的工具:atlassian-agent.jar

#编译好的jar包下载
#https://pan.baidu.com/s/1-hdPFmIEb7yD5S9M7nXMGg
#提取码s8uw
#代码仓库地址:https://gitcode.com/gh_mirrors/at/atlassian-agent/ (需要自行编译)
#下载好zip后unzip命令解压,我直接下载到root家目录了
#编译步骤:
#1. 确保安装了必要的工具
# 检查是否安装了Maven
mvn --version
# 如果没有安装Maven,先安装
dnf install maven -y
# 检查Java环境(需要JDK 8或以上)
java -version
#2. 执行编译命令
# 进入项目目录(你已经在这个目录了)
cd ~/atlassian-agent-master

# 执行Maven打包命令
mvn clean package
#3. 编译完成后的操作
#编译成功后,你会看到类似这样的输出:
#[INFO] Building jar: /root/atlassian-agent-master/target/atlassian-agent-jar-with-dependencies.jar
#[INFO] BUILD SUCCESS
#4. 找到编译好的JAR文件
# 查看target目录下的文件
ls -la target/
# 通常生成的JAR文件名为:
# atlassian-agent-jar-with-dependencies.jar
#5. 使用编译好的agent
#编译完成后,你可以这样使用:
# 运行agent生成许可证
java -jar target/atlassian-agent-jar-with-dependencies.jar
# 或者指定具体产品,比如Confluence
java -jar target/atlassian-agent-jar-with-dependencies.jar -p conf

# 查看帮助信息
java -jar target/atlassian-agent-jar-with-dependencies.jar -h

得到jar包之后进行以下操作:
#将工具复制到opt目录
cp -a atlassian-agent.jar /opt
#编辑jira目录中的/bin/setenv.sh

JAVA_OPTS=”-Xms384m -Xmx768m -XX:InitialCodeCacheSize=32m -XX:ReservedCodeCacheSize=512m -Djava.awt.headless=true -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Dorg.dom4j.factory=com.atlassian.core.xml.InterningDocumentFactory -XX:-OmitStackTraceInFastThrow -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Djira.home=$JIRA_HOME”

# 在export之前添加javaagent
JAVA_OPTS=”-javaagent:/opt/atlassian-agent.jar $JAVA_OPTS”
export JAVA_OPTS

重启jira:

systemctl restart jira

在jira的web页面http://10.0.0.122:8080拿到服务器IDBECW-MDF0-Z69O-B358

java -jar /root/atlassian-agent-v1.3.1/atlassian-agent.jar \
-p jira \
-m 2429644376@qq.com \
-n "hs888p" \
-o hs888p \
-s BECW-MDF0-Z69O-B358
得到许可证密钥,粘贴到许可证关键字页面即可进入jira后台

完成jira部署,现在可以使用了

confluence (Anolis 8.10 + MySQL 5.7 + JDK8)

Atlassian Confluence 6.10.0 详细部署文档 (Anolis 8.10 + MySQL 5.7 + JDK8)

环境规格

  • 操作系统: Anolis OS 8.10

  • 数据库: MySQL 5.7

  • Java: JDK 8

  • Confluence: 6.10.0

第一步:系统准备和依赖安装

1.2 安装 JDK 8

# 安装 OpenJDK 8
dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# 配置 Java 环境变量
cat >> /etc/profile << 'EOF'

# Java Environment(JAVA_HOME根据java实际安装位置写)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF

# 生效环境变量
source /etc/profile

# 验证安装
java -version
javac -version
echo "JAVA_HOME: $JAVA_HOME"

1.3 创建专用用户和目录

# 创建 confluence 用户和组
groupadd confluence
useradd -g confluence -m -d /home/confluence -s /bin/bash confluence
echo "confluence:Confluence2024!" | chpasswd

# 创建应用目录
mkdir -p /opt/atlassian/confluence
mkdir -p /var/atlassian/application-data/confluence

# 设置目录权限
chown -R confluence:confluence /opt/atlassian/confluence
chown -R confluence:confluence /var/atlassian/application-data/confluence

第二步:安装和配置 MySQL 5.7

安装并配置 MySQL 数据库

a. 安装 MySQL Server :安装mysql5.7

CentOS8安装mysql5.7详细可用教程-CSDN博客

1.获取安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.开始安装

yum localinstall mysql57-community-release-el7-11.noarch.rpm

检查mysql源是否安装成功:如果没成功重新上一步

yum repolist enabled | grep "mysql.*.community.*"

再依次执行下面两条语句:

yum module disable mysql
yum -y install mysql-community-server

这里显示GPG-check有问题的可以执行下下面这个语句:(没问题的可以不执行)

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum clean packages
#或者临时禁用gpg检查
yum -y install mysql-community-server --nogpgcheck

4.启动MySQL

systemctl start mysqld.service

5.查看状态

systemctl status mysqld.service

# 如果出现如下报错,请换成 service mysqld status 这条命令
Unit mysql.service could not be found.

6.设置开机启动

systemctl enable mysqld
systemctl daemon-reload

7.查看开机启动状态

systemctl list-unit-files | grep mysqld

8.获取初始密码

grep 'temporary password' /var/log/mysqld.log

9.登录mysql修改密码,并开启远程访问

mysql -u root -p

设置新密码与远程访问:(默认密码需要强密码,大小写+数字+字符)

# 如果想要密码规则简单一点,可以修改两个全局参数(可以不用设置)
set global validate_password_policy=0;
set global validate_password_length=1;

# 设置新密码(需要大写、小写、数字、符号)
set password for 'root'@'localhost'='你的新密码';

# 设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的新密码'  WITH GRANT OPTION;

# 刷新使配置生效
flush privileges;

到此,大功告成,记得去把 3306 端口的防火墙放开!

#测试环境关闭防火墙
systemctl disable --now  firewalld

以上配置后如果出现无法登录mysql的问题可以执行下面步骤重新安装

# 卸载现有MySQL
sudo yum remove mysql mysql-server

# 清理残留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf

# 重新安装
sudo yum install mysql-server
sudo systemctl start mysqld

yum -y install mysql-community-server --nogpgcheck

2.3 创建 Confluence 数据库和用户

-- 登录 MySQL(使用新设置的密码)
mysql -u root -p

-- 删除数据库和用户
DROP DATABASE IF EXISTS confluencedb;
DROP USER IF EXISTS 'confluenceuser'@'localhost';
DROP USER IF EXISTS 'confluenceuser'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 创建数据库(使用utf8字符集)
CREATE DATABASE confluencedb CHARACTER SET utf8 COLLATE utf8_bin;

-- 创建本地用户
CREATE USER 'confluenceuser'@'localhost' IDENTIFIED BY 'confluenceuserPASSWORD123.';

-- 创建远程用户
CREATE USER 'confluenceuser'@'%' IDENTIFIED BY 'confluenceuserPASSWORD123.';

-- 授予权限
GRANT ALL PRIVILEGES ON confluencedb.* TO 'confluenceuser'@'localhost';
GRANT ALL PRIVILEGES ON confluencedb.* TO 'confluenceuser'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 验证数据库字符集
SHOW CREATE DATABASE confluencedb;

-- 验证服务器字符集配置
SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'collation_server';

EXIT;


-- 验证数据库连接
mysql -u confluenceuser -p  confluencedb -e "SHOW DATABASES;"

2.4 配置 MySQL 支持 Confluence

# 编辑 MySQL 配置文件
vim /etc/my.cnf

# 在 [mysqld] 部分添加以下配置:
[mysqld]
# Confluence 特定配置
character-set-server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
transaction-isolation=READ-COMMITTED
binlog_format=row

# 重启 MySQL
systemctl restart mysqld

第三步:下载和安装 Confluence 6.10.0

3.1 下载 Confluence

# 切换到 confluence 用户
su - confluence

# 下载 Confluence 6.10.0
cd /opt/atlassian/confluence
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-6.10.0.tar.gz
# 验证下载文件
ls -lh atlassian-confluence-6.10.0.tar.gz

# 解压安装包
tar -xzf atlassian-confluence-6.10.0.tar.gz

# 创建符号链接
ln -s atlassian-confluence-6.10.0 confluence

# 返回 root 用户
exit

3.2 设置目录权限

# 确保权限正确
chown -R confluence:confluence /opt/atlassian/confluence/
chown -R confluence:confluence /var/atlassian/application-data/confluence

# 创建日志目录
mkdir -p /var/log/confluence
chown confluence:confluence /var/log/confluence

第四步:配置 Confluence

4.1 配置 setenv.sh(JVM 参数)

# 创建 setenv.sh 配置文件
cat > /opt/atlassian/confluence/confluence/bin/setenv.sh << 'EOF'
#!/bin/sh
# Confluence 主目录
export CONFLUENCE_HOME="/var/atlassian/application-data/confluence"

# Java 设置
export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64"
export JRE_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64/jre"

# JVM 内存设置(根据服务器内存调整)
JVM_MINIMUM_MEMORY="1024m"
JVM_MAXIMUM_MEMORY="2048m"
JVM_PERM_SIZE="256m"
JVM_MAX_PERM_SIZE="512m"

# Confluence 特定参数
JVM_SUPPORT_RECOMMENDED_ARGS="-Dconfluence.home=${CONFLUENCE_HOME} -Djava.awt.headless=true"

# 垃圾回收设置
JVM_GarbageCollector_PARAMS="-XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent"

# 最终 JVM 参数
#export JAVA_OPTS="-Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} -XX:PermSize=${JVM_PERM_SIZE} -XX:MaxPermSize=${JVM_MAX_PERM_SIZE} ${JVM_SUPPORT_RECOMMENDED_ARGS} ${JVM_GarbageCollector_PARAMS}"
export JAVA_OPTS="-javaagent:/opt/atlassian-agent.jar -Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} -XX:PermSize=${JVM_PERM_SIZE} -XX:MaxPermSize=${JVM_MAX_PERM_SIZE} ${JVM_SUPPORT_RECOMMENDED_ARGS} ${JVM_GarbageCollector_PARAMS}"

# 日志输出
echo "Using CONFLUENCE_HOME: $CONFLUENCE_HOME"
echo "Using JAVA_HOME: $JAVA_HOME"
EOF

# 设置执行权限
chmod +x /opt/atlassian/confluence/confluence/bin/setenv.sh
chown confluence:confluence /opt/atlassian/confluence/confluence/bin/setenv.sh

4.2 配置 server.xml

# 备份原始配置
cp /opt/atlassian/confluence/confluence/conf/server.xml /opt/atlassian/confluence/confluence/conf/server.xml.backup

# 创建优化的 server.xml
cat > /opt/atlassian/confluence/confluence/conf/server.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8000" shutdown="SHUTDOWN">
    <Service name="Catalina">
        <Connector port="8090" 
                   maxHttpHeaderSize="8192"
                   maxThreads="150"
                   minSpareThreads="25"
                   connectionTimeout="20000"
                   disableUploadTimeout="true"
                   enableLookups="false"
                   protocol="HTTP/1.1"
                   URIEncoding="UTF-8"
                   redirectPort="8443"
                   acceptCount="100"
                   compression="on"
                   compressionMinSize="2048"
                   compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"/>

        <Engine name="Catalina" defaultHost="localhost">
            <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
                <Context path="" docBase="../confluence" reloadable="false" useHttpOnly="true">
                    <Manager pathname="" />
                </Context>
                
                <Valve className="org.apache.catalina.valves.AccessLogValve" 
                       directory="logs" 
                       prefix="localhost_access_log." 
                       suffix=".txt"
                       pattern="%h %l %u %t &quot;%r&quot; %s %b" />
            </Host>
        </Engine>
    </Service>
</Server>
EOF

chown confluence:confluence /opt/atlassian/confluence/confluence/conf/server.xml

4.3 配置 confluence-init.properties

# 创建配置文件
cat > /opt/atlassian/confluence/confluence/confluence/WEB-INF/classes/confluence-init.properties << 'EOF'
confluence.home=/var/atlassian/application-data/confluence
EOF

chown confluence:confluence /opt/atlassian/confluence/confluence/confluence/WEB-INF/classes/confluence-init.properties

4.4 安装mysql驱动

# 下载驱动(以 5.1.49 为例,这是一个稳定版本)
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.49.tar.gz

# 解压并复制 jar 文件到 confluence 的 lib 目录
tar -xvzf mysql-connector-java-5.1.49.tar.gz
cp mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /opt/atlassian/confluence/confluence/lib/

# 确保 jira 用户拥有该文件的所有权
chown jira:jira /opt/atlassian/jira/current/lib/mysql-connector-java-5.1.49.jar

第五步:配置系统服务

5.1 创建 systemd 服务文件

cat > /etc/systemd/system/confluence.service << 'EOF'
[Unit]
Description=Atlassian Confluence
After=syslog.target network.target mysqld.service

[Service]
Type=forking
User=confluence
Group=confluence
Environment=CONFLUENCE_HOME=/var/atlassian/application-data/confluence
ExecStart=/opt/atlassian/confluence/confluence/bin/start-confluence.sh
ExecStop=/opt/atlassian/confluence/confluence/bin/stop-confluence.sh
Restart=on-failure
RestartSec=30
TimeoutSec=300
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

创建 work 目录(确保存在)

mkdir -p /opt/atlassian/confluence/confluence/work
chown confluence:confluence /opt/atlassian/confluence/confluence/work

5.2 创建启动/停止脚本

# 创建启动脚本
cat > /opt/atlassian/confluence/confluence/bin/start-confluence.sh << 'EOF'
#!/bin/bash
export CONFLUENCE_HOME="/var/atlassian/application-data/confluence"
/opt/atlassian/confluence/confluence/bin/startup.sh
EOF

# 创建停止脚本
cat > /opt/atlassian/confluence/confluence/bin/stop-confluence.sh << 'EOF'
#!/bin/bash
export CONFLUENCE_HOME="/var/atlassian/application-data/confluence"
/opt/atlassian/confluence/confluence/bin/shutdown.sh
EOF

# 设置脚本权限
chmod +x /opt/atlassian/confluence/confluence/bin/start-confluence.sh
chmod +x /opt/atlassian/confluence/confluence/bin/stop-confluence.sh
chown confluence:confluence /opt/atlassian/confluence/confluence/bin/start-confluence.sh
chown confluence:confluence /opt/atlassian/confluence/confluence/bin/stop-confluence.sh

5.3 启用系统服务

# 重新加载 systemd
systemctl daemon-reload

# 启用开机自启
systemctl enable confluence

# 设置服务文件权限
chmod 644 /etc/systemd/system/confluence.service


第六步:启动和验证安装

7.1 启动 Confluence 服务

# 启动服务
systemctl start confluence

# 检查状态
systemctl status confluence

# 查看启动日志
tail -f /opt/atlassian/confluence/confluence/logs/catalina.out

7.2 验证安装

# 创建验证脚本
cat > /tmp/verify-confluence.sh << 'EOF'
#!/bin/bash
echo "=== Confluence 安装验证 ==="

echo "1. 服务状态:"
systemctl status confluence --no-pager

echo ""
echo "2. 进程检查:"
ps aux | grep confluence | grep -v grep

echo ""
echo "3. 端口检查:"
netstat -tlnp | grep :8090

echo ""
echo "4. 目录权限:"
ls -la /opt/atlassian/confluence/ | head -5
ls -la /var/atlassian/application-data/confluence/ | head -5

echo ""
echo "5. 环境变量:"
echo "JAVA_HOME: $JAVA_HOME"
echo "CONFLUENCE_HOME: $CONFLUENCE_HOME"

echo ""
echo "6. 最近日志:"
tail -5 /opt/atlassian/confluence/confluence/logs/catalina.out
EOF

chmod +x /tmp/verify-confluence.sh
/tmp/verify-confluence.sh

第八步:通过 Web 界面完成配置

8.1 初始配置步骤

  1. 访问 Confluence: 打开浏览器访问 http://10.0.0.112:8090

  2. 选择安装类型: 选择产品安装

  3. 获取许可证:

    • 选择获取试用许可证(60天试用)

    • 或输入已有许可证

根据服务器ID:BXEY-EQ97-DGYI-WZVO

  1. 生成Confluence许可证

java -jar atlassian-agent.jar -p conf -m 2429644376@qq.com -o hs888p -s BXEY-EQ97-DGYI-WZVO

  1. 生成团队日程表(Team Calendars)许可证

java -jar atlassian-agent.jar -p tc -m 2429644376@qq.com -o hs888p -s BXEY-EQ97-DGYI-WZVO

  1. 生成Confluence Questions许可证

java -jar atlassian-agent.jar -p questions -m 2429644376@qq.com -o hs888p -s BXEY-EQ97-DGYI-WZVO

  1. 数据库配置:

    • 选择我自己的数据库

    • 数据库类型: MySQL

    • 主机名: 10.0.0.112

    • 端口: 3306

    • 数据库名: confluencedb

    • 用户名: confluenceuser

    • 密码: confluenceuserPASSWORD123.

  2. 配置管理员账户:

    • 设置管理员用户名: hs888p

    • 设置管理员密码: 123456ok

    • 填写管理员邮箱

  3. 选择设置: 选择空白站点

8.2 安装后优化

# 创建备份脚本
cat > /home/confluence/confluence-backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/var/atlassian/application-data/confluence/backups"

mkdir -p $BACKUP_DIR

# 备份数据库
mysqldump -u confluenceuser -p'ConfluenceDB2024!' confluencedb > $BACKUP_DIR/confluence_db_$DATE.sql

# 备份 Home 目录
tar -czf $BACKUP_DIR/confluence_home_$DATE.tar.gz /var/atlassian/application-data/confluence

echo "Backup completed: $BACKUP_DIR/confluence_$DATE"
EOF

chmod +x /home/confluence/confluence-backup.sh
chown confluence:confluence /home/confluence/confluence-backup.sh

第九步:日常管理命令

9.1 服务管理

# 启动服务
systemctl start confluence

# 停止服务
systemctl stop confluence

# 重启服务
systemctl restart confluence

# 查看状态
systemctl status confluence

# 查看日志
journalctl -u confluence -f

9.2 日志查看

# 实时查看启动日志
tail -f /opt/atlassian/confluence/confluence/logs/catalina.out

# 查看应用日志
tail -f /var/atlassian/application-data/confluence/logs/atlassian-confluence.log

# 查看访问日志
tail -f /opt/atlassian/confluence/confluence/logs/localhost_access_log.*

第十步:故障排除

10.1 常见问题解决

问题1: 端口冲突

# 检查端口占用
netstat -tlnp | grep 8090

# 修改端口
vim /opt/atlassian/confluence/confluence/conf/server.xml

问题2: 内存不足

# 调整内存设置
vim /opt/atlassian/confluence/confluence/bin/setenv.sh
# 增加 JVM_MAXIMUM_MEMORY 值

问题3: MySQL 连接问题

# 测试连接
mysql -u confluenceuser -p'ConfluenceDB2024!' -h localhost confluencedb -e "SELECT 1;"

# 检查 MySQL 日志
tail -f /var/log/mysqld.log

10.2 健康检查脚本

cat > /home/confluence/health-check.sh << 'EOF'
#!/bin/bash
echo "=== Confluence 健康检查 ==="

# 检查服务
echo "服务状态: $(systemctl is-active confluence)"

# 检查端口
echo "端口监听: $(netstat -tln | grep :8090 | wc -l)"

# 检查进程
echo "进程数量: $(ps aux | grep confluence | grep -v grep | wc -l)"

# 检查磁盘空间
echo "磁盘空间:"
df -h /opt/atlassian/confluence /var/atlassian/application-data/confluence

# 检查最近错误
echo "最近错误日志:"
grep -i error /opt/atlassian/confluence/confluence/logs/catalina.out | tail -3
EOF

chmod +x /home/confluence/health-check.sh

完成部署!

现在 Confluence 6.10.0 已经在 Anolis 8.10 系统上成功部署。访问 http://10.0.0.112:8090 完成 web 界面配置。

访问信息:

  • URL: http://10.0.0.112:8090

  • 管理员账号: hs888p

  • 管理员密码: 123456ok

  • 数据库: MySQL 5.7 (confluencedb)

连接jira:

通过Confluence管理界面配置

步骤:
  • 登录Confluence管理员账户

    # 获取管理员账户(如果不是默认admin)
    # 默认通常是admin/admin
  • 进入应用链接配置

    • 点击右上角设置(齿轮图标)

    • 选择一般配置(General Configuration)

    • 在左侧菜单找到应用链接(Application Links

    • 输入Jira的URL(如:http://10.0.0.0112:8080

    • 选择创建新的链接

    • 选择双向(2-way)连接

  • 配置验证

    • 在Jira端:使用Jira管理员账户

    • 在Confluence端:使用Confluence管理员账户

    • 或者使用相同的服务账户

    • 跳转到jira:

  • 链接成功:

bitbucket

Atlassian Bitbucket 部署文档

1. 系统环境准备

操作系统: Anolis OS 8.10 Java环境: OpenJDK 1.8.0 数据库: MySQL 5.7 Bitbucket版本: 7.x

2. 用户和组创建

# 创建用户和组
sudo groupadd atlassian
sudo useradd -g atlassian -d /opt/atlassian/bitbucket bitbucket

3. 目录结构规划

mkdir -p /opt/atlassian/bitbucket/                # Bitbucket 安装目录
mkdir -p /var/atlassian/application-data/bitbucket/   # Bitbucket 数据目录

#下载地址
https://www.atlassian.com/zh/software/bitbucket/download-archives
#解压代码
tar -xzf atlassian-bitbucket-7.0.1.tar.gz -C /opt/atlassian/
mv /opt/atlassian/atlassian-bitbucket-7.0.1 /opt/atlassian/bitbucket
#配置权限
chown -R bitbucket:atlassian /opt/atlassian/bitbucket/   /var/atlassian/application-data/bitbucket/

4. Java 环境配置

确保 Java 8 已正确安装:

java -version
# 输出应显示: java version "1.8.0_xxx"

# 安装 OpenJDK 8
dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# 配置 Java 环境变量
cat >> /etc/profile << 'EOF'

# Java Environment(JAVA_HOME根据java实际安装位置写)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF

# 生效环境变量
source /etc/profile

# 验证安装
java -version
javac -version
echo "JAVA_HOME: $JAVA_HOME"

5. MySQL 数据库配置

创建数据库和用户

-- 登录 MySQL(使用新设置的密码)
mysql -u root -p

-- 删除数据库和用户
DROP DATABASE IF EXISTS bitbucket;
DROP USER IF EXISTS 'bitbucketuser'@'localhost';
DROP USER IF EXISTS 'bitbucketuser'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 创建数据库(使用utf8字符集)
CREATE DATABASE bitbucket CHARACTER SET utf8 COLLATE utf8_bin;

-- 创建本地用户
CREATE USER 'bitbucketuser'@'localhost' IDENTIFIED BY 'bitbucketPASSWORD123.';

-- 创建远程用户
CREATE USER 'bitbucketuser'@'%' IDENTIFIED BY 'bitbucketPASSWORD123.';

-- 授予权限
GRANT ALL PRIVILEGES ON bitbucket.* TO 'bitbucketuser'@'localhost';
GRANT ALL PRIVILEGES ON bitbucket.* TO 'bitbucketuser'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 验证数据库字符集
SHOW CREATE DATABASE bitbucket;

-- 验证服务器字符集配置
SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'collation_server';

EXIT;


-- 验证数据库连接
mysql -u bitbucketuser -p bitbucket -e "SHOW DATABASES;"

6. Bitbucket 配置文件

6.1 环境变量配置文件

编辑 /opt/atlassian/bitbucket/bin/_start-webapp.sh

# 在第97行 设置 atlassian-agent和内存参数
JAVA_OPTS="-javaagent:/opt/atlassian-agent.jar -classpath $INST_DIR/app $JAVA_OPTS $BITBUCKET_ARGS $JMX_OPTS $JVM_REQUIRED_ARGS $JVM_SUPPORT_RECOMMENDED_ARGS -Xms1024m -Xmx4096m -XX:MaxPermS   ize=512m -Dfile.encoding=UTF-8 ${JAVA_OPTS}"

cat >> /opt/atlassian/bitbucket/bin/_start-webapp.sh << 'EOF'
# 设置 JAVA_HOME 和 JRE_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64/jre

# 设置 Bitbucket 主目录
export BITBUCKET_HOME="/var/atlassian/application-data/bitbucket"
EOF

6.2 数据库连接配置

创建共享配置目录
mkdir -p /var/atlassian/application-data/bitbucket/shared
chown bitbucket:atlassian /var/atlassian/application-data/bitbucket/shared

创建 /var/atlassian/application-data/bitbucket/shared/bitbucket.properties

cat >> /var/atlassian/application-data/bitbucket/shared/bitbucket.properties << 'EOF'
# Bitbucket 数据库配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bitbucket?useUnicode=true&characterEncoding=utf8&sessionVariables=default_storage_engine=InnoDB
jdbc.user=bitbucketuser
jdbc.password=bitbucketPASSWORD123.

# 其他配置
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.connection.autocommit=false

EOF

7. MySQL 驱动安装

将 MySQL Connector/J 驱动放置到正确位置:

# 复制驱动到 Bitbucket lib 目录
cp mysql-connector-java-5.1.49.jar /opt/atlassian/bitbucket/lib/
chown bitbucket:atlassian /opt/atlassian/bitbucket/lib/mysql-connector-java-5.1.49.jar

7.1 Git安装

  1. 更新系统包管理器

dnf update -y

安装 Git

dnf install git -y

验证 Git 安装

git --version
  1. 检查 Git 版本是否符合要求(Git 版本需要 >= 2.11.0)

git --version
  1. 设置 Git 全局配置(可选)

#设置 Git 用户信息
git config --global user.name "Bitbucket Server"
git config --global user.email "bitbucket@yourcompany.com"

#设置合适的行尾符处理
git config --global core.autocrlf input

8. Systemd 服务配置

创建 /etc/systemd/system/bitbucket.service

cat >> /etc/systemd/system/bitbucket.service << 'EOF'
[Unit]
Description=Atlassian Bitbucket
After=syslog.target network.target mysqld.service

[Service]
Type=forking
User=bitbucket
Group=atlassian
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64
Environment=JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64/jre
Environment=BITBUCKET_HOME=/var/atlassian/application-data/bitbucket
WorkingDirectory=/opt/atlassian/bitbucket
ExecStart=/opt/atlassian/bitbucket/bin/start-bitbucket.sh
ExecStop=/opt/atlassian/bitbucket/bin/stop-bitbucket.sh
Restart=on-failure
RestartSec=30
TimeoutSec=300
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

EOF

9. 权限设置

# 设置目录权限
chown -R bitbucket:atlassian /opt/atlassian/bitbucket
chown -R bitbucket:atlassian /var/atlassian/application-data/bitbucket

# 设置脚本可执行权限
chmod +x /opt/atlassian/bitbucket/bin/setenv.sh
chmod +x /opt/atlassian/bitbucket/bin/start-bitbucket.sh
chmod +x /opt/atlassian/bitbucket/bin/stop-bitbucket.sh

10. 服务管理

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 Bitbucket 服务
sudo systemctl start bitbucket

# 设置开机自启
sudo systemctl enable bitbucket

# 检查服务状态
sudo systemctl status bitbucket

# 查看服务日志
sudo journalctl -u bitbucket -f

11. 访问验证

服务启动后,通过浏览器访问:

http://服务器IP:7990

首次访问将进入设置向导,配置管理员账户和许可证。

java -jar /opt/atlassian-agent.jar -p bitbucket \

-m 2429644376@qq.com \ -n hs888p \ -o hs888p \ -s BVOK-1UBX-BHYY-91UZ

12. 故障排查

12.1 检查日志

# Bitbucket 应用日志
tail -f /var/atlassian/application-data/bitbucket/log/atlassian-bitbucket.log

# Systemd 服务日志
journalctl -u bitbucket -f

# 启动脚本日志
tail -f /opt/atlassian/bitbucket/logs/catalina.out

12.2 数据库连接测试

mysql -u bitbucketuser -p -e "SELECT 1;" bitbucket

12.3 端口检查

# 检查 Bitbucket 默认端口 7990
netstat -tlnp | grep 7990

# 检查进程
ps aux | grep bitbucket

13. 配置优化

13.1 数据库配置优化

# 连接池配置
jdbc.maximumPoolSize=20
jdbc.minimumIdle=10
jdbc.maxLifetime=600000
jdbc.connectionTimeout=30000
jdbc.idleTimeout=60000

13.2 Elasticsearch 配置(如果启用搜索)

/var/atlassian/application-data/bitbucket/shared/bitbucket.properties

# 禁用内置 Elasticsearch(推荐使用外部集群)
#search.external.enabled=false
# 或配置外部 Elasticsearch
# search.external.url=http://elasticsearch-host:9200
cat /var/atlassian/application-data/bitbucket/shared/bitbucket.properties


#外部es设置
search.external.enabled=true
search.external.url=http://localhost:9200
检查配置是否生效
# 查看日志确认配置加载
tail -f /var/atlassian/application-data/bitbucket/log/atlassian-bitbucket.log | grep -i elasticsearch

# 或者查看所有加载的属性
tail -f /var/atlassian/application-data/bitbucket/log/atlassian-bitbucket.log | grep -i "search"


## 在管理界面检查
登录 Bitbucket 后,在 管理 > 系统 > 搜索 中查看当前搜索配置。

13.3汉化插件

下载bitbucket汉化包: https://marketplace.atlassian.com/download/apps/1220595/version/1001000973

管理插件上传

#命令行执行
java -jar /opt/atlassian-agent.jar \
 -p csdn.bitbucket.languagepack.zh_CN \
 -m 2429644376@qq.com \
 -n hs888p \
 -o hs888p \
 -s BVOK-1UBX-BHYY-91UZ

14 备份策略

14.1 数据库备份

# MySQL 备份
mysqldump -u bitbucketuser -p bitbucket > /backup/bitbucket-$(date +%Y%m%d).sql

14.2 文件备份

# 备份 Bitbucket Home 目录
tar -czf /backup/bitbucket-home-$(date +%Y%m%d).tar.gz /var/atlassian/application-data/bitbucket

crowd

Atlassian Crowd 部署文档

1. 系统环境准备

操作系统: Anolis OS 8.10 Java环境: OpenJDK 1.8.0 数据库: MySQL 5.7

2. 用户和组创建

# 创建用户和组
sudo groupadd atlassian
sudo useradd -g atlassian -d /opt/atlassian/crowd crowd

3. 目录结构规划

# Crowd 安装目录
mkdir -p /opt/atlassian/crowd/  
# Crowd 数据目录
mkdir -p /var/atlassian/application-data/crowd/  

tar -xzf atlassian-crowd-3.2.1.tar.gz -C /opt/atlassian/
mv /opt/atlassian/atlassian-crowd-3.2.1 /opt/atlassian/crowd
chown -R crowd:atlassian /opt/atlassian/crowd

4. Java 环境配置

确保 Java 8 已正确安装:

java -version
# 输出应显示: java version "1.8.0_462"

# 安装 OpenJDK 8
dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# 配置 Java 环境变量
cat >> /etc/profile << 'EOF'

# Java Environment(JAVA_HOME根据java实际安装位置写)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF

# 生效环境变量
source /etc/profile

# 验证安装
java -version
javac -version
echo "JAVA_HOME: $JAVA_HOME"

5. MySQL 数据库配置

创建数据库和用户

-- 登录 MySQL(使用新设置的密码)
mysql -u root -p

-- 删除数据库和用户
DROP DATABASE IF EXISTS crowd;
DROP USER IF EXISTS 'crowd'@'localhost';
DROP USER IF EXISTS 'crowd'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 创建数据库(使用utf8字符集)
CREATE DATABASE crowd CHARACTER SET utf8 COLLATE utf8_bin;

-- 创建本地用户
CREATE USER 'crowd'@'localhost' IDENTIFIED BY 'crowdPASSWORD123.';

-- 创建远程用户
CREATE USER 'crowd'@'%' IDENTIFIED BY 'crowdPASSWORD123.';

-- 授予权限
GRANT ALL PRIVILEGES ON crowd.* TO 'crowd'@'localhost';
GRANT ALL PRIVILEGES ON crowd.* TO 'crowd'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

-- 验证数据库字符集
SHOW CREATE DATABASE crowd;

-- 验证服务器字符集配置
SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'collation_server';

EXIT;


-- 验证数据库连接
mysql -u crowd -p crowd -e "SHOW DATABASES;"

6. Crowd 服务配置文件

6.1 Systemd 服务文件

创建 /etc/systemd/system/crowd.service

cat >> /etc/systemd/system/crowd.service << 'EOF'
[Unit]
Description=Atlassian Crowd
After=syslog.target network.target mysqld.service

[Service]
Type=forking
User=crowd
Group=atlassian
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64
Environment=JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64/jre/
Environment=CROWD_HOME=/var/atlassian/application-data/crowd
WorkingDirectory=/opt/atlassian/crowd
ExecStart=/opt/atlassian/crowd/start_crowd.sh
ExecStop=/opt/atlassian/crowd/stop_crowd.sh
Restart=on-failure
RestartSec=30
TimeoutSec=300
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

EOF

#重载配置
systemctl daemon-reload

6.2 Tomcat 环境配置

创建 /opt/atlassian/crowd/apache-tomcat/bin/setenv.sh

cat >> /opt/atlassian/crowd/apache-tomcat/bin/setenv.sh << 'EOF'
#!/bin/sh

# 设置 JAVA_HOME 和 JRE_HOME(如果未设置)
if [ -z "$JAVA_HOME" ]; then
   JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64
   export JAVA_HOME
fi

if [ -z "$JRE_HOME" ]; then
   JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-2.0.1.an8.x86_64/jre
   export JRE_HOME
fi

# 设置 atlassian-agent
JAVA_OPTS="-javaagent:/opt/atlassian-agent.jar ${JAVA_OPTS}"

# 设置内存参数
JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8 ${JAVA_OPTS}"

export JAVA_OPTS

# 设置 CATALINA_PID
if [ -z "$CATALINA_PID" ]; then
   CATALINA_PID="/opt/atlassian/crowd/apache-tomcat/work/catalina.pid"
   export CATALINA_PID
fi

# 设置 Crowd 主目录
if [ -z "$CROWD_HOME" ]; then
   CROWD_HOME="/var/atlassian/application-data/crowd"
   export CROWD_HOME
fi

echo "JAVA_OPTS set to: $JAVA_OPTS"
echo "CATALINA_PID set to: $CATALINA_PID"
echo "CROWD_HOME set to: $CROWD_HOME"

EOF

 

6.3 数据源配置

创建 /opt/atlassian/crowd/apache-tomcat/conf/Catalina/localhost/crowd.xml

> /opt/atlassian/crowd/apache-tomcat/conf/Catalina/localhost/crowd.xml
cat >> /opt/atlassian/crowd/apache-tomcat/conf/Catalina/localhost/crowd.xml << 'EOF'
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/opt/atlassian/crowd/crowd-webapp"
        path="/crowd"
        reloadable="false"
        useHttpOnly="true">
       
   <!-- 配置 MySQL 数据源 -->
   <Resource name="jdbc/CrowdDS"
             auth="Container"
             type="javax.sql.DataSource"
             driverClassName="com.mysql.jdbc.Driver"
             url="jdbc:mysql://localhost:3306/crowd?useUnicode=true&amp;characterEncoding=utf8"
             username="crowd"
             password="crowdPASSWORD123."
             maxTotal="20"
             maxIdle="10"
             maxWaitMillis="10000"
             validationQuery="SELECT 1"/>
             
   <Resource name="UserTransaction"
             auth="Container"
             type="javax.transaction.UserTransaction"
             factory="org.objectweb.jotm.UserTransactionFactory"
             jotm.timeout="60"/>
   <Manager pathname=""/>
</Context>
EOF

6.4 crowd家目录设置:

echo crowd.home=/var/atlassian/application-data/crowd >> /opt/atlassian/crowd/crowd-webapp/WEB-INF/classes/crowd-init.properties

6.5 许可证agent配置:

cp atlassian-agent.jar /opt/atlassian-agent.jar
#测试能否正常使用:
java -jar /opt/atlassian-agent.jar
#有输出即可

7. MySQL 驱动安装

将 MySQL Connector/J 5.1.49 驱动放置到正确位置:

cp mysql-connector-java-5.1.49.jar /opt/atlassian/crowd/apache-tomcat/lib/
chown crowd:atlassian /opt/atlassian/crowd/apache-tomcat/lib/mysql-connector-java-5.1.49.jar

8. 权限设置

# 设置目录权限
chown -R crowd:atlassian /opt/atlassian/crowd
chown -R crowd:atlassian /var/atlassian/application-data/crowd

# 设置脚本可执行权限
chmod +x /opt/atlassian/crowd/apache-tomcat/bin/setenv.sh
chmod +x /opt/atlassian/crowd/start_crowd.sh
chmod +x /opt/atlassian/crowd/stop_crowd.sh

9. 服务管理

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 Crowd 服务
sudo systemctl start crowd

# 设置开机自启
sudo systemctl enable crowd

# 检查服务状态
sudo systemctl status crowd

# 查看服务日志
sudo journalctl -u crowd -f

10. 访问验证

服务启动后,通过浏览器访问:

http://服务器IP:8095/crowd

10.1 许可证生成

#根据页面提示的服务器ID进行许可证生成,填入web页面
# 生成 Crowd 许可证的命令示例
java -jar /opt/atlassian-agent.jar \
-p crowd \
-m 2429644376@qq.com \
-n hs888p \
-o hs888p \
-s B9HW-C8SL-U3C8-KLQ1

10.2 页面操作:

Driver class name:选择mysql自动填入
JDBC URL: jdbc:mysql://localhost:3306/crowd?characterEncoding=utf8&useUnicode=true&serverTimezone=Asia/Shanghai
Username:crowd
Password:crowdPASSWORD123.
Hibernate dialectrequired:自动填入

11. 故障排查

检查日志

# Tomcat 日志
tail -f /opt/atlassian/crowd/apache-tomcat/logs/catalina.out

# Crowd 应用日志
tail -f /var/atlassian/application-data/crowd/logs/atlassian-crowd.log

# Systemd 服务日志
journalctl -u crowd -f

数据库连接测试

mysql -u crowd -p -e "SELECT 1;" crowd

12. 重要注意事项

  1. 数据库编码: 使用 utf8 字符集,确保中文字符支持

  2. 内存配置: 根据实际使用情况调整 Xms 和 Xmx 参数

  3. 备份策略: 定期备份数据库和 CROWD_HOME 目录

  4. 安全配置: 定期更新密码和检查权限设置

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部