這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
一、Gogs介紹
Gogs (Go Git Service) 是一款極易搭建的自助 Git 服務。
Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語言開發使得 Gogs 能夠通過獨立的二進位分發,並且支援 Go 語言支援的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
更多介紹請查看。
本篇記錄了在內網簡單搭建gogs系統的過程,本連結為內網網域名稱請勿點擊。
二、安裝過程
1. 安裝git
sudo apt-get install git
2.建立使用者
sudo adduser git
....
su git
cd ~
密碼:qwe
3.下載最新版gogs
wget https://dl.gogs.io/gogs_v0.8.10_linux_amd64.zip
unzip ./gogs_v0.8.10_linux_amd64.zip
4.運行gogs
./gogs web
然後開啟瀏覽器,http://伺服器IP:3000/,預設就進入安裝配置介面,進行簡單的配置。
三、配置和運行
1.後台運行
如果要在後台以service模式運行,先將/home/git/gogs/scripts/init/debian/gogs檔案拷貝到/etc/init.d/目錄下,切換回原來的使用者Ctrl+d,並增加運行許可權sudo chmod +x /etc/init.d/gogs,並將檔案做對應修改如下:
PATH=/sbin:/usr/sbin:/bin:/usr/binDESC="Go Git Service"NAME=gogsSERVICEVERBOSE=yesPIDFILE=/var/run/$NAME.pidSCRIPTNAME=/etc/init.d/$NAMEWORKINGDIR=/home/git/gogs #這個根據自己的目錄修改DAEMON=$WORKINGDIR/$NAMEDAEMON_ARGS="web"USER=git #如果運行gogs不是用的這個使用者,修改對應使用者
2.自訂配置
第一次開啟應用可以進行web介面的配置,之後的修改要在/home/git/gogs/custom/conf/app.ini檔案中進行修改,可以參考這裡。我這裡主要修改了
APP_NAME = 雲銅代碼管理平台-Git-GogsRUN_USER = gitRUN_MODE = prod[database]DB_TYPE = sqlite3HOST = 127.0.0.1:3306NAME = gogsUSER = rootPASSWD =SSL_MODE = disablePATH = data/gogs.db[repository]ROOT = /home/git/gogs-repositories[server]#修改了網域名稱,說是產生git預設使用的ssh協議地址用的DOMAIN = git.yncic.comHTTP_PORT = 3000#修改了應用目錄,這個是產生git庫url串連用的ROOT_URL = http://git.yncic.com/DISABLE_SSH = falseSSH_PORT = 22OFFLINE_MODE = false[mailer]ENABLED = false[service]REGISTER_EMAIL_CONFIRM = falseENABLE_NOTIFY_MAIL = falseDISABLE_REGISTRATION = falseENABLE_CAPTCHA = trueREQUIRE_SIGNIN_VIEW = false#啟用了AVATAR頭像的本機快取,AVATAR頭像預設被牆ENABLE_CACHE_AVATAR = true[picture]#修改了GRAVATAR從多說緩衝取照片GRAVATAR_SOURCE = duoshuoDISABLE_GRAVATAR = false[session]PROVIDER = file[log]MODE = fileLEVEL = Info[security]INSTALL_LOCK = trueSECRET_KEY = D6Lo2U0eDD4w2PL
3.反向 Proxy
為了綁定網域名稱,需要做反向 Proxy,但是由於安裝在之前用binami redmine搭建的issue管理系統的那台伺服器上,因此使用了bitnami提供的apache2做了反向 Proxy,在/opt/redmine-2.3.1-0/apache2/conf/httpd.conf檔案最後添加:
<VirtualHost *:80> ServerAdmin webmaster@domain.tld ServerName git.yncic.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/</VirtualHost>
這個還有點問題,添加這個完後原來的應用也跳到了gogs,最後在後面又加了一段,問題才解決,但是也不知道為什麼:
<VirtualHost *:80> ServerAdmin webmaster@domain.tld ServerName qa.yncic.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/</VirtualHost>
4.LDAP認證配置
在授權認證管理-添加新的源: