最近在折腾git相关的,想自己搭建一个类似github那种的服务,搜了一下,GitLab好是好,但占用资源太多。后来找到Gogs,看起来挺好的,于是尝试搭建一个。我是在Ubuntu 14.04 LTS上安装的,但看gogs说明里推荐使用Windows的新版git……搞不明白了
Gogs需要git相关组件,版本>1.7.1,除此之外别的组件都不是必须的。在安装gogs之前建议把系统升级到最新版。gogs支持MySQL,PostgreSQL,SQLite3和TiDB,其中TiDB为试验性质,SQLite3不需要另外安装。我使用SQLite3作为gogs数据库。
首先升级系统和安装git
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
如果你想要SSH登陆的话还要安装ssh。服务器版本Ubuntu自带SSH,桌面版需要另外安装
sudo apt-get install ssh
安装完成后运行
sudo service ssh restart
让ssh开机自动启动
如果你不想拿自己现有的账号建立gogs服务的话可以新建一个账号供gogs使用。gogs默认账号是git一般不用改
sudo adduser git
输入密码什么的并确认
su git
切换到git用户操作
然后下载gogs二进制文件。这里直接使用gogs编译好的二进制文件安装。安装之前可以到https://gogs.io/docs/installation/install_from_binary下载最新的二进制文件。
wget https://dl.gogs.io/gogs_v0.9.13_linux_amd64.tar.gz
tar -xvf gogs_v0.9.13_linux_amd64.tar.gz
cd gogs
然后运行
./gogs web
#后台运行
nohup gogs/gogs web > log/gogs_web.log 2>&1 &
在浏览器里打开http://127.0.0.1:3000/,能够看到gogs安装页面
输入基本信息,如数据库类型,文件存放位置之类的信息,然后在最下面点Install Now即可完成安装,然后就能像github那样使用了
在安装完成后,gogs会在安装目录下的custom\conf目录下生成app.ini配置文件,可以修改配置然后重启gogs就可以应用新配置。附配置文件:
APP_NAME = Gogs: Go Git Service
RUN_USER = xxxxxx //gogs运行使用的用户名
RUN_MODE = prod[database] //gogs数据库相关配置,在安装时候可以选择,安装后请勿修改
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gogs
USER = root
PASSWD =
SSL_MODE = disable
PATH = /home/xxxxxx/gogs-database/gogs.db[repository] //代码仓库位置
ROOT = /home/xxxxxx/gogs-repositories[server] //对外服务器地址,如果绑定域名此处为域名
DOMAIN = xxx.xxx.xxx.xxx
HTTP_PORT = 3000
ROOT_URL = http://xxx.xxx.xxx.xxx:3000/
DISABLE_SSH = true
SSH_PORT = 22
OFFLINE_MODE = true[mailer] //邮件设置。这里服务器位于内网,所以此项没有启用
ENABLED = false[service] //网站设置,是否启用邮件提醒,开启注册,验证码等
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false[picture] //是否使用gravatar头像
DISABLE_GRAVATAR = true[session]
PROVIDER = file[log]
MODE = file
LEVEL = Info
ROOT_PATH = /home/xxxxxx/gogs/log[security]
INSTALL_LOCK = true
SECRET_KEY = ***************