bitbucket配置_Bitbucket和Confluence安装配置
Atlassian提供了許多用于項(xiàng)目管理和軟件開(kāi)發(fā)的產(chǎn)品,本文介紹用于Git代碼管理的Bitbucket和用于文檔協(xié)作的Confluence這兩個(gè)產(chǎn)品的安裝配置。
Atlassian的Java服務(wù)都極其占內(nèi)存,我選用了8GB的云服務(wù)器,安裝這兩個(gè)服務(wù)剛好內(nèi)存夠用。系統(tǒng)選擇了Ubuntu 20.04 x64 Server版,其它Linux系統(tǒng)也大致相同。
安裝完Ubuntu系統(tǒng)后,更新系統(tǒng)并安裝必須的軟件:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo apt install mysql-server git
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo apt install mysql-server git
接下來(lái)分別安裝Bitbucket和Confluence軟件:
$ chmod +x atlassian-bitbucket-7.7.1-x64.bin atlassian-confluence-7.4.6-x64.bin
$ sudo ./atlassian-bitbucket-7.7.1-x64.bin
$ sudo ./atlassian-confluence-7.4.6-x64.bin
$ chmod +x atlassian-bitbucket-7.7.1-x64.bin atlassian-confluence-7.4.6-x64.bin
$ sudo ./atlassian-bitbucket-7.7.1-x64.bin
$ sudo ./atlassian-confluence-7.4.6-x64.bin
Bitbucket和Confluence安裝時(shí),大多數(shù)選項(xiàng)直接回車(chē)即可,同時(shí)可以修改默認(rèn)儲(chǔ)存數(shù)據(jù)的路徑:
[/var/atlassian/application-data/bitbucket] -> /opt/atlassian/application-data/bitbucket
[/var/atlassian/application-data/confluence] -> /opt/atlassian/application-data/confluence
[/var/atlassian/application-data/bitbucket] -> /opt/atlassian/application-data/bitbucket
[/var/atlassian/application-data/confluence] -> /opt/atlassian/application-data/confluence
Bitbucket和Confluence默認(rèn)沒(méi)有包含連接MySQL的JDBC驅(qū)動(dòng),根據(jù)此文檔頁(yè)面的指引,我們到對(duì)應(yīng)的MySQL官網(wǎng)下載mysql-connector-java-5.1.XX-bin.jar版本的文件即可。然后拷貝到安裝目錄中,并修改Confluence存儲(chǔ)數(shù)據(jù)庫(kù)配置的文件的權(quán)限:
$ sudo cp mysql-connector-java-5.1.46-bin.jar /opt/atlassian/bitbucket/7.7.1/app/WEB-INF/lib/
$ sudo cp mysql-connector-java-5.1.46-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
$ sudo chmod 666 /opt/atlassian/application-data/confluence/confluence.cfg.xml
$ sudo cp mysql-connector-java-5.1.46-bin.jar /opt/atlassian/bitbucket/7.7.1/app/WEB-INF/lib/
$ sudo cp mysql-connector-java-5.1.46-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
$ sudo chmod 666 /opt/atlassian/application-data/confluence/confluence.cfg.xml
為了增強(qiáng)安全性,建議在/opt/atlassian/bitbucket/7.7.1/bin/_start-webapp.sh文件中找到并取消以下行的注釋:
# umask 0027
# umask 0027
然后重啟Bitbucket和Confluence:
$ sudo service atlbitbucket restart
$ sudo /etc/init.d/confluence restart
$ sudo service atlbitbucket restart
$ sudo /etc/init.d/confluence restart
啟動(dòng)時(shí),在Ubuntu 20.04上若出現(xiàn)如下錯(cuò)誤,則可參考此頁(yè)面進(jìn)行修改:
pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
pam_unix(sudo:auth): Couldn't open /etc/securetty: No such file or directory
Bitbucket和Confluence都需要用到數(shù)據(jù)庫(kù),所以我們先配置MySQL。首先向mysqld的配置文件/etc/mysql/my.cnf中增加以下內(nèi)容:
[mysqld]
transaction-isolation=READ-COMMITTED
innodb_log_file_size=512M
[mysqld]
transaction-isolation=READ-COMMITTED
innodb_log_file_size=512M
然后重啟mysqld:
sudo service mysql restart
sudo service mysql restart
較新的Ubuntu上,要登錄MySQL需要首先獲取管理員用戶名和密碼:
$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = WPAhowIN3uvVHtVI
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = WPAhowIN3uvVHtVI
socket = /var/run/mysqld/mysqld.sock
$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = WPAhowIN3uvVHtVI
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = WPAhowIN3uvVHtVI
socket = /var/run/mysqld/mysqld.sock
使用這組用戶名和密碼連接MySQL并新增Bitbucket和Confluence的數(shù)據(jù)庫(kù)和用戶:
$ mysql -u debian-sys-maint -p
mysql> CREATE DATABASE bitbucket CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'bitbucketuser'@'127.0.0.1' IDENTIFIED BY 'password';
mysql> SHOW GRANTS FOR 'bitbucketuser'@'127.0.0.1';
mysql> GRANT ALL PRIVILEGES ON bitbucket.* TO 'bitbucketuser'@'127.0.0.1';
mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'confluenceuser'@'127.0.0.1' IDENTIFIED BY 'password';
mysql> SHOW GRANTS FOR 'confluenceuser'@'127.0.0.1';
mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'127.0.0.1';
mysql> quit;
$ mysql -u debian-sys-maint -p
mysql> CREATE DATABASE bitbucket CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'bitbucketuser'@'127.0.0.1' IDENTIFIED BY 'password';
mysql> SHOW GRANTS FOR 'bitbucketuser'@'127.0.0.1';
mysql> GRANT ALL PRIVILEGES ON bitbucket.* TO 'bitbucketuser'@'127.0.0.1';
mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'confluenceuser'@'127.0.0.1' IDENTIFIED BY 'password';
mysql> SHOW GRANTS FOR 'confluenceuser'@'127.0.0.1';
mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'127.0.0.1';
mysql> quit;
此時(shí)可以通過(guò)瀏覽器打開(kāi)http://ip:7990,開(kāi)始配置Bitbucket。首先選擇數(shù)據(jù)庫(kù)為External,然后選擇類型為MySQL,依次填寫(xiě):
Hostname: 127.0.0.1
Database name: bitbucket
Database username: bitbucketuser
Database password: password
Hostname: 127.0.0.1
Database name: bitbucket
Database username: bitbucketuser
Database password: password
同樣可通過(guò)8090端口訪問(wèn)Confluence并配置,MySQL信息為:
Hostname: 127.0.0.1
Database name: confluence
Database username: confluenceuser
Database password: password
Hostname: 127.0.0.1
Database name: confluence
Database username: confluenceuser
Database password: password
Atlassian自2021年初即將終止服務(wù)器版本和數(shù)據(jù)中心版本的銷售,也就是說(shuō)無(wú)法下載部署了。我們可以參考Atlassian Agent來(lái)繼續(xù)使用。首先將atlassian-agent.jar文件放到一個(gè)固定的位置:
$ sudo cp atlassian-agent.jar /opt/atlassian/
$ sudo chmod 666 /opt/atlassian/atlassian-agent.jar
$ sudo cp atlassian-agent.jar /opt/atlassian/
$ sudo chmod 666 /opt/atlassian/atlassian-agent.jar
然后我們按照Atlassian Agent的要求來(lái)設(shè)定JAVA_OPTS。因?yàn)锽itbucket通過(guò)其自動(dòng)創(chuàng)創(chuàng)建的atlbitbucket用戶運(yùn)行,而此用戶的默認(rèn)shell是sh而非bash,所以我們?cè)?etc/profile中設(shè)定JAVA_OPTS:
export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent.jar ${JAVA_OPTS}"
export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent.jar ${JAVA_OPTS}"
對(duì)于Confluence,則需要在設(shè)定其啟動(dòng)環(huán)境變量的腳本/opt/atlassian/confluence/bin/setenv.sh中增加以下內(nèi)容:
CATALINA_OPTS="-javaagent:/opt/atlassian/atlassian-agent.jar ${CATALINA_OPTS}"
CATALINA_OPTS="-javaagent:/opt/atlassian/atlassian-agent.jar ${CATALINA_OPTS}"
重啟系統(tǒng)后,Bitbucket和Confluence啟動(dòng)時(shí)的JVM參數(shù)中就會(huì)帶有-javaagent參數(shù)了。
使用Server ID生成Bitbucket和Confluence的License key:
$ /opt/atlassian/bitbucket/7.7.1/jre/bin/java -jar /opt/atlassian/atlassian-agent.jar -p bitbucket -m "name@example.com" -n name -o name -s AAAA-BBBB-CCCC-DDDD
$ /opt/atlassian/confluence/jre/bin/java -jar /opt/atlassian/atlassian-agent.jar -p conf -m "name@example.com" -n name -o name -s AAAA-BBBB-CCCC-DDDD
$ /opt/atlassian/bitbucket/7.7.1/jre/bin/java -jar /opt/atlassian/atlassian-agent.jar -p bitbucket -m "name@example.com" -n name -o name -s AAAA-BBBB-CCCC-DDDD
$ /opt/atlassian/confluence/jre/bin/java -jar /opt/atlassian/atlassian-agent.jar -p conf -m "name@example.com" -n name -o name -s AAAA-BBBB-CCCC-DDDD
為了更安全地訪問(wèn),我們可以配置HTTPS的方式,首先我們將SSL證書(shū)文件放到一個(gè)固定的位置:
$ sudo mkdir -p /opt/atlassian/ssl
$ sudo cp example.com.jks /opt/atlassian/ssl/
$ sudo chmod 666 /opt/atlassian/ssl/example.com.jks
$ sudo mkdir -p /opt/atlassian/ssl
$ sudo cp example.com.jks /opt/atlassian/ssl/
$ sudo chmod 666 /opt/atlassian/ssl/example.com.jks
查看證書(shū)文件的別名,Entry type為PrivateKeyEntry的別名是我們要找的:
$ /opt/atlassian/bitbucket/7.7.1/jre/bin/keytool -list -v -keystore /opt/atlassian/ssl/example.com.jks
...
Alias name: alias-key
Creation date: Nov 24, 2020
Entry type: PrivateKeyEntry
...
$ /opt/atlassian/bitbucket/7.7.1/jre/bin/keytool -list -v -keystore /opt/atlassian/ssl/example.com.jks
...
Alias name: alias-key
Creation date: Nov 24, 2020
Entry type: PrivateKeyEntry
...
對(duì)于Bitbucket,可參考此頁(yè)面,將證書(shū)別名、jks的密碼等信息一并填入/opt/atlassian/application-data/bitbucket/shared/bitbucket.properties中:
server.port=7990
server.ssl.enabled=true
server.ssl.key-store=/opt/atlassian/ssl/example.com.jks
server.ssl.key-store-password=12345678
server.ssl.key-password=12345678
server.ssl.key-alias=alias-key
server.port=7990
server.ssl.enabled=true
server.ssl.key-store=/opt/atlassian/ssl/example.com.jks
server.ssl.key-store-password=12345678
server.ssl.key-password=12345678
server.ssl.key-alias=alias-key
對(duì)于Confluence,可參考此頁(yè)面,在/opt/atlassian/confluence/conf/server.xml文件內(nèi)打開(kāi)并修改HTTPS相關(guān)的設(shè)置,并注釋掉原HTTP的服務(wù):
maxThreads="150" minSpareThreads="25"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2" SSLEnabled="true"
URIEncoding="UTF-8" keystorePass="9Ci6i7oi"
keystoreFile="/opt/atlassian/ssl/example.com.jks"
keyAlias="alias-key"/>
maxThreads="150" minSpareThreads="25"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2" SSLEnabled="true"
URIEncoding="UTF-8" keystorePass="9Ci6i7oi"
keystoreFile="/opt/atlassian/ssl/example.com.jks"
keyAlias="alias-key"/>
重啟Bitbucket和Confluence服務(wù)后就必須通過(guò)HTTPS來(lái)訪問(wèn)了。
總結(jié)
以上是生活随笔為你收集整理的bitbucket配置_Bitbucket和Confluence安装配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: bucket list java,Jav
- 下一篇: Turtlbot仿真之Stage