官方地址 url: https://gogs.io/docs/installation/install_from_source.html
源码安装
安装依赖
基本依赖
- Go 语言:版本 >= 1.6
安装 Go 语言
如果您的系统已经安装要求版本的 Go 语言,可以跳过此小节。
下载
您可以通过以下方式安装 Go 语言到 /home/git/local/go
目录:
sudo su - git
cd ~
# create a folder to install 'go'
mkdir local
# Download go (change go$VERSION.$OS-$ARCH.tar.gz to the latest release)
wget https://storage.googleapis.com/golang/go$VERSION.$OS-$ARCH.tar.gz
# expand it to ~/local
tar -C /home/git/local -xzf go$VERSION.$OS-$ARCH.tar.gz
设置环境
请设置和您系统环境对应的路径:
sudo su - git
cd ~
echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc
安装 Gogs
常用的安装方式:
# 下载并安装依赖
$ go get -u github.com/gogs/gogs
# 构建主程序
$ cd $GOPATH/src/github.com/gogs/gogs
$ go build
构建 develop
分支版本
如果您想要安装 develop
(或其它)分支版本,则可以通过以下命令:
$ mkdir -p $GOPATH/src/github.com/gogs
$ cd $GOPATH/src/github.com/gogs
# 请确保没有使用 “https://github.com/gogs/gogs.git”
$ git clone --depth=1 -b develop https://github.com/gogs/gogs
$ cd gogs
$ go build
测试安装
您可以通过以下方式检查 Gogs 是否可以正常工作:
cd $GOPATH/src/github.com/gogs/gogs
./gogs web
如果您没有发现任何错误信息,则可以使用 Ctrl-C
来终止运行。
使用标签构建
Gogs 默认并没有支持一些功能,这些功能需要在构建时明确使用构建标签(build tags)来支持。
目前使用标签构建的功能如下:
sqlite3
:SQLite3 数据库支持pam
:PAM 授权认证支持cert
:生成自定义证书支持miniwinsvc
:Windows 服务内置支持(或者您可以使用 NSSM 来创建服务)
例如,您需要支持以上所有功能,则需要先删除 $GOPATH/pkg/{GOOS_GOARCH}/github.com/gogs/gogs
目录,然后执行以下命令:
$ go get -u -tags "sqlite pam cert" github.com/gogs/gogs
$ cd $GOPATH/src/github.com/gogs/gogs
$ go build -tags "sqlite pam cert"
安装完成后可继续参照 配置与运行
配置与运行
配置文件
默认配置文件
默认配置都保存在 conf/app.ini
,您 永远不需要 编辑它。该文件从 v0.6.0
版本开始被嵌入到二进制中。
自定义配置文件
那么,在不允许修改默认配置文件 conf/app.ini
的情况下,怎么才能自定义配置呢?很简单,只要创建 custom/conf/app.ini
就可以!在 custom/conf/app.ini
文件中修改相应选项的值即可。
例如,需要改变仓库根目录的路径:
[repository]
ROOT = /home/jiahuachen/gogs-repositories
当然,您也可以修改数据库配置:
[database]
PASSWD = root
为什么要这么做?
乍一看,这么做有些复杂,但是这么做可以有效地保护您的自定义配置不被破坏:
- 从二进制安装的用户,可以直接替换二进制及其它文件而不至于重新编写自定义配置。
- 从源码安装的用户,可以避免由于版本管理系统导致的文件修改冲突。
运行 Gogs 服务
开发者模式
- 您需要在
custom/conf/app.ini
文件中将选项security -> INSTALL_LOCK
的值设置为true
。 -
您可以使用超能的
make
命令:$ make $ ./gogs web
部署模式
脚本均放置在 scripts
目录,但请在仓库根目录执行它们
- Gogs 支持多种方式的启动:
- 普通:只需执行
./gogs web
- 守护进程:详见 scripts 文件夹
- 普通:只需执行
- 然后访问
/install
来完成首次运行的配置工作