2020-10-12 centos7 git 代碼服務(wù)器gogs搭建

此文介紹使用gogs搭建git代碼服務(wù)器

  1. 下載二進制安裝包 wget https://github.com/gogs/gogs/releases/download/v0.12.3/gogs_0.12.3_linux_amd64.zip
  2. 解壓 unzip gogs_0.12.3_linux_amd64.zip & mv gogs/ /servers/
  3. 安裝git yum install git 服務(wù)端和客戶端均需版本 >= 1.8.3
  4. 配置mysql數(shù)據(jù)庫
    CREATE USER 'gogs'@'%' IDENTIFIED BY '1qaz2wsx';
    FLUSH PRIVILEGES

說明
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

  • username:你將創(chuàng)建的用戶名
  • host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
  • password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務(wù)器
  1. 新建數(shù)據(jù)庫 gogs CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. 給gogs用戶添加數(shù)據(jù)庫gogs權(quán)限 GRANT ALL ON gogs.* TO 'gogs'@'%'

說明
GRANT privileges ON databasename.tablename TO 'username'@'host'

  • privileges:用戶的操作權(quán)限,如SELECT,INSERT,UPDATE等,如果要授予所的權(quán)限則使用ALL
  • databasename:數(shù)據(jù)庫名
  • tablename:表名,如果要授予該用戶對所有數(shù)據(jù)庫和表的相應(yīng)操作權(quán)限則可用表示,如.*
  1. 為gogs設(shè)置系統(tǒng)用戶
    添加系統(tǒng)用戶git [root@localhost servers]#useradd git
    為git設(shè)置密碼 [root@localhost servers]# passwd git
    為git用戶添加gogs目錄權(quán)限 [root@localhost servers]# chown -R git gogs/
    切換到git用戶,并啟動gogs web服務(wù)注意一定要用git賬戶啟動
    [root@localhost servers]# su git
    [root@localhost servers]# cd /servers/gogs/
    啟動gogs服務(wù)
[git@localhost gogs]$ ./gogs web   
2020/10/12 13:48:30 [ WARN] Custom config "/servers/gogs/custom/conf/app.ini" not found. Ignore this warning if you're running for the first time    
2020/10/12 13:48:30 [TRACE] Log mode: Console (Trace)
2020/10/12 13:48:30 [ INFO] Gogs 0.12.3
2020/10/12 13:48:30 [TRACE] Work directory: /servers/gogs
2020/10/12 13:48:30 [TRACE] Custom path: /servers/gogs/custom
2020/10/12 13:48:30 [TRACE] Custom config: /servers/gogs/custom/conf/app.ini
2020/10/12 13:48:30 [TRACE] Log path: /servers/gogs/log
2020/10/12 13:48:30 [TRACE] Build time: 2020-10-07 03:03:48 UTC
2020/10/12 13:48:30 [TRACE] Build commit: f0e3cd90f8d7695960eeef2e4e54b2e717302f6c
2020/10/12 13:48:30 [ INFO] Run mode: Development
2020/10/12 13:48:31 [ INFO] Listen on http://0.0.0.0:3000
  1. 瀏覽器訪問 http://ip:3000/install
    插播個問題,我這里centos開啟的防火墻,查看防火墻狀態(tài)
    [git@localhost gogs]$ systemctl status firewalld
    查看所有打開的端口:[git@localhost gogs]$ firewall-cmd --zone=public --list-ports
    添加3000端口 firewall-cmd --zone=public --add-port=3000/tcp --permanent (--permanent永久生效,沒有此參數(shù)重啟后失效)
    重新載入firewall-cmd --reload 然后就可以訪問了,打開如下圖所示
    配置1.png

    配置2.png

    image.png

    配置好以上信息之后,點擊立即安裝,gogs就搭建完成了

守護進程

安裝完成gogs 現(xiàn)在有個問題,就是你如果關(guān)閉當(dāng)前 shell,Gogs 服務(wù)也對應(yīng)關(guān)閉了;修改配置 /servers/gogs/script/init/centos/gogs

[git@localhost gogs]$ vim scripts/init/centos/gogs
# Default values
NAME=gogs
GOGS_HOME=/servers/gogs
GOGS_PATH=${GOGS_HOME}/$NAME
GOGS_USER=git
SERVICENAME="Gogs"
LOCKFILE=/var/lock/subsys/gogs
LOGPATH=${GOGS_HOME}/log
LOGFILE=${LOGPATH}/gogs.log
RETVAL=0

我們需要確保以下兩項配置是正確的:

  • GOGS_HOME 指向你 Gogs 的目錄,我這里是/servers/gogs
  • GOGS_USER 指向你運行 Gogs 所用的用戶,這個用戶一定要存在且有相關(guān)權(quán)限,我這里是git

然后將該文件拷貝到系統(tǒng)目錄,并為其增加相關(guān)權(quán)限

sudo cp /servers/gogs/scripts/init/centos/gogs /etc/init.d/   
sudo chmod +x /etc/init.d/gogs

最后只需要運行以下命令就行了:

sudo service gogs start   
sudo service gogs stop
sudo service gogs restart

然后就可以用git了
http://10.1.1.109:3000/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容