本來想在 Github 上建一個私倉,但是發現只能設置 3 個貢獻者。
國內的碼雲也只能設置 5 個。
無意間看到了使用 gogs 可以搭建私服,正好手頭有空閑的服務器,於是開干!
1、安裝 git
yum install git
2、安裝MySQL
安裝過程省略。
安裝后登錄 MySQL 進行如下配置:
create database gogs default character set utf8mb4 collate utf8mb4_unicode_ci;
# 這里我新建了一個用戶用來訪問gogs數據庫
CREATE USER 'pig'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL ON gogs.* TO 'pig'@'%';
3、安裝gogs
3.1 創建git用戶
建議使用 git 用戶,因為 gogs 配置文件默認使用的 git 用戶。
useradd git
passwd git設置密碼
3.2 下載解壓gogs
su git
cd
wget https://dl.gogs.io/0.11.29/linux_amd64.zip
# unzip 命令不可用的話需先安裝
unzip linux_amd64.zip
3.3 配置gogs
vim /home/git/gogs/scripts/init/debian/gogs
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="GoGs Git Service"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/git/gogs #根據自己的目錄修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git #修改對應用戶
3.4 切回root,拷貝文件和服務
#拷貝到init.d下
cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
#添加可執行權限
chmod +x /etc/init.d/gogs
#拷貝service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
3.5 啟動
systemctl start gogs.service
4、配置 gogs
此時,使用 ip:3000
就可以訪問了
P.S. 阿里雲的坑
阿里雲的主機默認是無法訪問 3000 端口的,解決方法
① 登錄到阿里雲控制台,進入到自己的雲主機管理頁面
② 點擊『防火牆』
③ 添加 3000 端口的訪問規則
確定,然后就可以繼續訪問之前的頁面了。
第一次訪問 Gogs,瀏覽器進入安裝頁面,如圖所示填寫字段
點擊 install gogs,安裝成功以后會直接進入 gogs 首頁,在這里可以注冊或者登錄,完全像是一個正常的網站。
若在安裝頁面沒有配置管理員,那么第一個注冊的用戶默認自動變成管理員,之后注冊的用戶都是普通用戶。
配置文件詳解
配置文件位於:
/home/git/gogs/custom/conf/app.ini
其中參數的詳細解釋可以看官網:https://gogs.io/docs/advanced/configuration_cheat_sheet
禁止用戶注冊
為了系統安全性,考慮禁止用戶注冊,只能由管理員創建帳號。
將參數 DISABLE_REGISTRATION 設置為 true。
DISABLE_REGISTRATION = true
此時需要在頁面進行創建賬號:
至此,基於 gogs 的 Git 私倉搭建基本完畢。
參考:
https://www.jianshu.com/p/63206dad0afa
https://blog.csdn.net/qq_22638399/article/details/80658196
https://zhuanlan.zhihu.com/p/30798837
https://www.jianshu.com/p/28e8aa8f9ec4