官方地址 url: https://gogs.io/docs/installation/install_from_source.html
如果您的系统已经安装要求版本的 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
常用的安装方式:
# 下载并安装依赖
$ 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
乍一看,这么做有些复杂,但是这么做可以有效地保护您的自定义配置不被破坏:
custom/conf/app.ini
文件中将选项 security -> INSTALL_LOCK
的值设置为 true
。您可以使用超能的 make
命令:
$ make
$ ./gogs web
脚本均放置在 scripts
目录,但请在仓库根目录执行它们
./gogs web
/install
来完成首次运行的配置工作