gogs可以認(rèn)為是輕型的gitlab馏艾,資源占用小蜂绎,512M的小雞就能流暢運(yùn)行
安裝gogs
https://packager.io/gh/gogs/gogs
選擇系統(tǒng)版本嘿歌,比如debian10 :
wget -qO- https://dl.packager.io/srv/gogs/gogs/key | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/gogs.list \
https://dl.packager.io/srv/gogs/gogs/master/installer/debian/10.repo
sudo apt-get update
sudo apt-get install gogs
上面說明提示用nginx和mysql,但是我這里是用caddy和mariaDB
安裝db:mariaDB
apt install mariadb-server
配置db(注意替換密碼和域名)
USE mysql;
CREATE USER 'gogs'@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'gogs'@'localhost';
UPDATE user SET plugin='mysql_native_password' WHERE User='gogs';
FLUSH PRIVILEGES;
exit;
service mysql restart
nstall -y --force-yes mysql-server
mysql -uroot -p${MYSQL_PASSWORD} -e "create database if not exists gogs;"
安裝 web server:caddy
caddy簡(jiǎn)單配置可自動(dòng)獲取 ATS 證書文搂,需要暫時(shí)使用80 端口
curl https://getcaddy.com | bash -s personal
sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
sudo chown -R root:root /etc/caddy
sudo mkdir /etc/ssl/caddy
sudo chown -R root:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
)
配置caddy 轉(zhuǎn)發(fā) 抡诞,和自動(dòng)獲取證書穷蛹。
注意把example.com替換自己域名。
emacs /etc/caddy/Caddyfile
example.com
{
#gogs
#log ./caddy.log
tls tanpengcd@gmail.com #改成你自己的郵箱
proxy / localhost:6000 {
transparent
}
}
重啟caddy
service caddy restart
service caddy status
防火墻(可選)和安全策略
開啟80/443/22端口(根據(jù)需求)
這里以firewall-cmd 為例
systemctl enable firewalld
systemctl start firewalld
#firewalld的當(dāng)前默認(rèn)區(qū)域設(shè)置為drop
firewall-cmd --set-default-zone=drop
#添加端口
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=22/tcp
#重載服務(wù)昼汗,有的服務(wù)器會(huì)斷開ssh
firewall-cmd --reload
# 查看端口
firewall-cmd --list-all
重新載入
firewall-cmd --reload
訪問網(wǎng)頁(yè)繼續(xù)配置
http://${HOSTNAME}
安裝完后會(huì)生成配置文件的肴熏。
配置文件的路徑/opt/gogs/
,
具體自定義配置詳情參考 https://gogs.io/docs/installation/configuration_and_run
幾個(gè)注意點(diǎn)??:
數(shù)據(jù)庫(kù)用戶和運(yùn)行用戶都填寫gogs
數(shù)據(jù)庫(kù)用戶密碼:這個(gè)改為上面設(shè)置的密碼
域名:改為自己域名
SSH 端口號(hào):默認(rèn)為22,你如果不用ssh直接刪除留空
HTTP 端口號(hào):默認(rèn)是6000端口不要改乔遮,因?yàn)榍懊嬉呀?jīng)把把端80/443 proxy到6000了扮超。
應(yīng)用 URL:改為如https://git.h6.work/,因?yàn)閏addy已經(jīng)開啟tls了,所以用https出刷。
遇到的問題
- 提示 數(shù)據(jù)庫(kù)設(shè)置不正確:Error 1698: Access denied for user 'root'@'localhost'
https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost
參考資料
https://packager.io/gh/gogs/gogs/builds/49/install/debian-10
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-10
gitlab
硬件要求(最低)
- 1 核心CPU最多支持100個(gè)用戶
- 安裝使用GitLab需要至少4GB可用內(nèi)存(RAM + Swap)
- 1GB 物理內(nèi)存 + 3GB 交換分區(qū) 是最低的要求
詳情 https://docs.gitlab.com.cn/ce/install/requirements.html#part-6542a9e251e
配置內(nèi)存 swap
http://blog.csdn.net/ithomer/article/details/53942718
安裝
如需要設(shè)置 域名 需要 配置 /etc/gitlab/gitlab.rb
具體操作:
https://about.gitlab.com/downloads/