Gogs (Go Git Service) 是一款極易搭建的自助 Git 服務。linux
Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語言開發使得 Gogs 可以經過獨立的二進制分發,而且支持 Go 語言支持的 全部平臺,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。git
更多介紹請查看。web
本篇記錄了在內網簡單搭建gogs系統的過程,本連接爲內網域名請勿點擊。sql
sudo apt-get install git
sudo adduser git
....
su git
cd ~
密碼:qweapache
wget https://dl.gogs.io/gogs_v0.8.10_linux_amd64.zip
unzip ./gogs_v0.8.10_linux_amd64.zip
./gogs web
而後打開瀏覽器,http://服務器IP:3000/,默認就進入安裝配置界面,進行簡單的配置。瀏覽器
若是要在後臺以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/bin DESC="Go 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 #若是運行gogs不是用的這個用戶,修改對應用戶
之後可使用服務器
/etc/init.d/gogs start|restart|stop|status
進行gogs應用各類操做了。session
第一次打開應用能夠進行web界面的配置,以後的修改要在/home/git/gogs/custom/conf/app.ini文件中進行修改,能夠參考這裏。我這裏主要修改了app
APP_NAME = 雲銅代碼管理平臺-Git-Gogs RUN_USER = git RUN_MODE = prod [database] DB_TYPE = sqlite3 HOST = 127.0.0.1:3306 NAME = gogs USER = root PASSWD = SSL_MODE = disable PATH = data/gogs.db [repository] ROOT = /home/git/gogs-repositories [server] #修改了域名,說是生成git默認使用的ssh協議地址用的 DOMAIN = git.yncic.com HTTP_PORT = 3000 #修改了應用目錄,這個是生成git庫url鏈接用的 ROOT_URL = http://git.yncic.com/ DISABLE_SSH = false SSH_PORT = 22 OFFLINE_MODE = false [mailer] ENABLED = false [service] REGISTER_EMAIL_CONFIRM = false ENABLE_NOTIFY_MAIL = false DISABLE_REGISTRATION = false ENABLE_CAPTCHA = true REQUIRE_SIGNIN_VIEW = false #激活了AVATAR頭像的本地緩存,AVATAR頭像默認被牆 ENABLE_CACHE_AVATAR = true [picture] #修改了GRAVATAR從多說緩存取照片 GRAVATAR_SOURCE = duoshuo DISABLE_GRAVATAR = false [session] PROVIDER = file [log] MODE = file LEVEL = Info [security] INSTALL_LOCK = true SECRET_KEY = D6Lo2U0eDD4w2PL
爲了綁定域名,須要作反向代理,可是因爲安裝在以前用binami redmine搭建的issue管理系統的那臺服務器上,所以使用了bitnami提供的apache2作了反向代理,在/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>
問題已經解決:將/opt/redmine-2.3.1-0/apps/redmine/conf/redmine.conf更改成以下內容,即將以前的「默認目錄設置」改成「虛擬主機設置」運行並綁定域名便可兩個應用經過不一樣域名分別訪問:
<VirtualHost *:80> DocumentRoot "/opt/redmine-2.3.1-0/apps/redmine/htdocs/public/" ServerName qa.yncic.com ServerAlias qa.yncic.com </VirtualHost>
在受權認證管理-添加新的源: