1.環境配置
(1)系統:centos7.8
(2)服務器配置:6H12G/500G
(3)IP地址:192.168.176.238
(4)confluence版本:6.14.3
2.系統初始化
(1)關閉selinux
cat /etc/selinux/config | grep -w SELINUX
SELINUX=disabled
(2)修改ssh端口號
grep -rw "Port 16384" /etc/ssh/sshd_config
Port 16384
(3)啟動firewalld,放行端口
firewall-cmd --zone=public --add-port=8000/tcp
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=8090/tcp
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --zone=public --add-port=16384/tcp
firewall-cmd --zone=public --add-port=16384/tcp --permanent
firewall-cmd --reload
(4)修改主機名
hostnamectl set-hostname gitlab
(5)磁盤格式化
parted /dev/sdb <<EOF #磁盤名稱按實際安裝填寫 mklabel #創建分區表 gpt #修改分區表格式gpt mkpart #創建一個part-type類型的分區 primary #將整塊磁盤設置為主分區 ext4 #設置文件系統類型 1 #從1開始 500G #此數值要根據客戶提供磁盤大小更改 quit EOF #格式化磁盤 mkfs.xfs -f -n ftype=1 /dev/sdb mkdir -p /data/ # 創建邏輯分區(磁盤同上) yes|pvcreate /dev/sdb #此步驟需要y確認 vgcreate vgdata /dev/sdb # 此處將該卷組全部剩余空間划入本邏輯卷 lvcreate -l +100%FREE -n lvdata vgdata # 格式化邏輯卷 mkfs.xfs -f /dev/vgdata/lvdata # 設置開機自動掛載(手動) echo "/dev/vgdata/lvdata /data xfs defaults 0 0" >> /etc/fstab mount -a && df -Th
(6)內核優化
#修改/etc/security/limits.conf,完成系統性能優化的一些設置 cp /etc/security/limits.conf /etc/security/limits_conf_ori_bak echo "# /etc/security/limits.conf" > /etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#Each line describes a limit for a user in the form:">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#<domain> <type> <item> <value>">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#Where:">>/etc/security/limits.conf echo "#<domain> can be:">>/etc/security/limits.conf echo "# - an user name">>/etc/security/limits.conf echo "# - a group name, with @group syntax">>/etc/security/limits.conf echo "# - the wildcard *, for default entry">>/etc/security/limits.conf echo "# - the wildcard %, can be also used with %group syntax,">>/etc/security/limits.conf echo "# for maxlogin limit">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#<type> can have the two values:">>/etc/security/limits.conf echo "# - \"soft\" for enforcing the soft limits">>/etc/security/limits.conf echo "# - \"hard\" for enforcing hard limits">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#<item> can be one of the following:">>/etc/security/limits.conf echo "# - core - limits the core file size (KB)">>/etc/security/limits.conf echo "# - data - max data size (KB)">>/etc/security/limits.conf echo "# - fsize - maximum filesize (KB)">>/etc/security/limits.conf echo "# - memlock - max locked-in-memory address space (KB)">>/etc/security/limits.conf echo "# - nofile - max number of open files">>/etc/security/limits.conf echo "# - rss - max resident set size (KB)">>/etc/security/limits.conf echo "# - stack - max stack size (KB)">>/etc/security/limits.conf echo "# - cpu - max CPU time (MIN)">>/etc/security/limits.conf echo "# - nproc - max number of processes">>/etc/security/limits.conf echo "# - as - address space limit (KB)">>/etc/security/limits.conf echo "# - maxlogins - max number of logins for this user">>/etc/security/limits.conf echo "# - maxsyslogins - max number of logins on the system">>/etc/security/limits.conf echo "# - priority - the priority to run user process with">>/etc/security/limits.conf echo "# - locks - max number of file locks the user can hold">>/etc/security/limits.conf echo "# - sigpending - max number of pending signals">>/etc/security/limits.conf echo "# - msgqueue - max memory used by POSIX message queues (bytes)">>/etc/security/limits.conf echo "# - nice - max nice priority allowed to raise to values: [-20, 19]">>/etc/security/limits.conf echo "# - rtprio - max realtime priority">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo "#<domain> <type> <item> <value>">>/etc/security/limits.conf echo "#">>/etc/security/limits.conf echo >>/etc/security/limits.conf echo "#* soft core 0">>/etc/security/limits.conf echo "#* hard rss 10000">>/etc/security/limits.conf echo "#@student hard nproc 20">>/etc/security/limits.conf echo "#@faculty soft nproc 20">>/etc/security/limits.conf echo "#@faculty hard nproc 50">>/etc/security/limits.conf echo "#ftp hard nproc 0">>/etc/security/limits.conf echo "#@student - maxlogins 4">>/etc/security/limits.conf echo "* soft core unlimited">>/etc/security/limits.conf echo "* hard core unlimited">>/etc/security/limits.conf echo "* soft data unlimited">>/etc/security/limits.conf echo "* hard data unlimited">>/etc/security/limits.conf echo "* soft fsize unlimited">>/etc/security/limits.conf echo "* hard fsize unlimited">>/etc/security/limits.conf echo "* soft memlock unlimited">>/etc/security/limits.conf echo "* hard memlock unlimited">>/etc/security/limits.conf echo "* soft nofile 1024000">>/etc/security/limits.conf echo "* hard nofile 1024000">>/etc/security/limits.conf echo "* soft rss unlimited">>/etc/security/limits.conf echo "* hard rss unlimited">>/etc/security/limits.conf echo "* soft stack unlimited">>/etc/security/limits.conf echo "* hard stack unlimited">>/etc/security/limits.conf echo "$user soft nproc 102400">>/etc/security/limits.conf echo "$user hard nproc 102400">>/etc/security/limits.conf echo "* soft locks unlimited">>/etc/security/limits.conf echo "* hard locks unlimited">>/etc/security/limits.conf echo "* soft sigpending unlimited">>/etc/security/limits.conf echo "* hard sigpending unlimited">>/etc/security/limits.conf echo "* soft msgqueue unlimited">>/etc/security/limits.conf echo "* hard msgqueue unlimited">>/etc/security/limits.conf echo >>/etc/security/limits.conf echo "# End of file">>/etc/security/limits.conf find /etc/security/limits.d/ -name "*nproc*" | while read line;do sed -i 's/.*soft nproc.*/* soft nproc 102400/' $line;done #修改/etc/sysctl.conf cp /etc/sysctl.conf /etc/sysctl.conf_bak echo "kernel.sysrq = 0" >> /etc/sysctl.conf echo "kernel.core_uses_pid = 1" >> /etc/sysctl.conf echo "kernel.msgmnb = 65536" >> /etc/sysctl.conf echo "kernel.msgmax = 65536" >> /etc/sysctl.conf echo "kernel.shmmax = 68719476736" >> /etc/sysctl.conf echo "kernel.shmall = 4294967296" >> /etc/sysctl.conf echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.conf echo "net.core.somaxconn = 65535" >> /etc/sysctl.conf echo "net.core.wmem_max=12582912" >> /etc/sysctl.conf echo "net.core.rmem_max=12582912" >> /etc/sysctl.conf echo "net.core.netdev_max_backlog = 655360" >> /etc/sysctl.conf echo "net.ipv4.conf.default.rp_filter = 1" >> /etc/sysctl.conf echo "net.ipv4.conf.default.accept_source_route = 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse = 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle = 0" >> /etc/sysctl.conf echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_tw_buckets = 600000" >> /etc/sysctl.conf echo "net.ipv4.tcp_abort_on_overflow = 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_rmem= 1024 102400 12582912" >> /etc/sysctl.conf echo "net.ipv4.tcp_wmem= 1024 102400 12582912" >> /etc/sysctl.conf echo "fs.file-max = 1200000" >> /etc/sysctl.conf echo "net.nf_conntrack_max=1200000" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog = 655360" >> /etc/sysctl.conf #設置系統共享內存的最大值 sysctl -w kernel.shmmax=16000000000 #可以生產core文件,方便定位問題 ulimit -c unlimited #設置最大文件限制 ulimit -n 10000
(7)confluence部署
部署參考文檔:
https://www.cnblogs.com/ministep/p/15900860.html
注意:默認端口8090、8000,我這邊修改為8091、8000,需要在firewalld放行
[root@localhost package]# ./atlassian-confluence-6.14.3-x64.bin Unpacking JRE ... Starting Installer ... This will install Confluence 6.14.3 on your computer. OK [o, Enter], Cancel [c] o Click Next to continue, or Cancel to exit Setup. Choose the appropriate installation or upgrade option. Please choose one of the following: Express Install (uses default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Confluence installation [3] 2 Select the folder where you would like Confluence 6.14.3 to be installed, then click Next. Where should Confluence 6.14.3 be installed? [/opt/atlassian/confluence] /data/atlassian/confluence Default location for Confluence data [/var/atlassian/application-data/confluence] /data/atlassian/application-data/confluence Configure which ports Confluence will use. Confluence requires two TCP ports that are not being used by any other applications on this machine. The HTTP port is where you will access Confluence through your browser. The Control port is used to Startup and Shutdown Confluence. Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] 2 HTTP Port Number [8090] 8091 Control Port Number [8000] 8000 Confluence can be run in the background. You may choose to run Confluence as a service, which means it will start automatically whenever the computer restarts. Install Confluence as Service? Yes [y, Enter], No [n] y Extracting files ... Please wait a few moments while we configure Confluence. Installation of Confluence 6.14.3 is complete Start Confluence now? Yes [y, Enter], No [n] y Please wait a few moments while Confluence starts up. Launching Confluence ... Installation of Confluence 6.14.3 is complete Your installation of Confluence 6.14.3 is now ready and can be accessed via your browser. Confluence 6.14.3 can be accessed at http://localhost:8091 Finishing installation ...
#服務器部署完成,接下來就是頁面登陸設置
(8)web頁面配置與激活
1.登陸方式:http://172.16.4.60:8091
2.選擇安裝插件:
3.下載破解工具
我們使用注冊機破解對confluence進行破解,因為confluence不是免費開源的,需要授權碼
破解工具下載鏈接:https://pan.baidu.com/s/1AJ5BgwA5itJjnFeUh1xHMg 密碼:yqzd
4.解壓破解工具
5.從剛剛安裝的目錄重導出jar包進行破解:
sz /data/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
並改名為:atlassian-extras-2.4.jar
#需要注意:windows電腦需要提前安裝好JDK環境
#需要注意:Name不能低於6位,所以后邊修改了
此時先別不要着急將生成的授權碼粘貼到剛剛的web頁面中,還有后續操作:
1.接下來我們把剛剛導出來改名並使用注冊機注冊的jar包導回到Centos7中,並把名字改為原來的名字
mv atlassian-extras-2.4.jar atlassian-extras-decoder-v2-3.4.1.jar mv atlassian-extras-decoder-v2-3.4.1.jar /data/atlassian/confluence/confluence/WEB-INF/lib/
2.並重啟confluence:
sh /data/atlassian/confluence/bin/stop-confluence.sh sh /data/atlassian/confluence/bin/start-confluence.sh
3.回到我們web頁面:http://172.16.4.60:8091
4.復制授權碼並粘貼:
5.設置數據庫連接
5.1 說明:后面的我們可以選擇內嵌數據庫,也可以選擇外部數據庫,測試的話直接使用內嵌就行,但是生產環境建議大家使用外部數據庫
此處需要注意的是,需要自己單獨下載安裝MySQL驅動:
https://www.w3resource.com/mysql/mysql-java-connection.php
下載驅動:
https://dev.mysql.com/downloads/connector/j/
5.2 設置連接mysql驅動
ls /data/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java* cd /data/package/mysql-connector-java-5.1.48 cp -f mysql-connector-java-5.1.48.jar /data/atlassian/confluence/confluence/WEB-INF/lib/ ls /data/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java*
此外Confluence對數據庫配置參數有一定的要求,具體詳情請看:https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html
5.3 創建Confluence專用的數據庫,配置時會自動進行初始化。
create database confluence default character set utf8 collate utf8_bin ;
grant all on confluence.* to 'confluenceuser'@'%' identified by 'keshen@1234' ;
flush privileges;
5.4 按照上面的要求配置完畢后,重啟mysql
5.5 重啟confluence:
# sh /data/atlassian/confluence/bin/stop-confluence.sh
# sh /data/atlassian/confluence/bin/start-confluence.sh
5.6 數據庫測試通過后,進行下一步:
5.7 遇到問題
5.8 登陸mysql數據庫,執行如下操作:
mysql -uroot -P23306 -h127.0.0.1 -p
set global transaction isolation level read committed;
flush privileges;
5.9 數據庫連接通過
5.10 設置站點
5.11 在Confluence中管理用戶和組
5.12 配置系統管理員賬號
5.13 設置完成
5.12 發現問題
問題1:暫時不解決
問題2:
[mysqld]
innodb_log_file_size=512M
問題3:
[mysqld]
max_allowed_packet=64M
5.13 協同編輯報錯,需要Confluence 關閉ssl
第一處關閉:
vim /data/atlassian/application-data/confluence/confluence.cfg.xml
第二處關閉:
vim /data/atlassian/confluence/confluence/setup/includes/js/setup-select-database-type.js
5.14 重啟mysql、confluence服務
5.15 最后展示
(8)部署mysql5.7
參考文檔:https://blog.csdn.net/li1325169021/article/details/121515102
(9)郵箱配置
參考文檔:https://blog.csdn.net/m0_38039437/article/details/114528955
(10)服務啟動
#mysql5.7啟動
docker restart mysql
#wiki啟動
cd /data/atlassian/confluence/bin
start-confluence.sh