Ubuntu1404安装gogs过程

一、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/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应用各种操作了。

2.自定义配置

第一次打开应用可以进行web界面的配置,之后的修改要在/home/git/gogs/custom/conf/app.ini文件中进行修改,可以参考这里。我这里主要修改了

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

3.反向代理

为了绑定域名,需要做反向代理,但是由于安装在之前用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>

4.LDAP认证配置

在授权认证管理-添加新的源:

posted @ 2016-01-14 17:56  ddr888  阅读(3952)  评论(1编辑  收藏  举报