Create a test user:
adduser -w no # name the user gogs # Define as shell bash
To install gogs do the following:
cd /usr/ports/devel/git install install clean cd /usr/ports/lang/go/ make install clean cd /usr/ports/devel/go-sql-driver make install clean cd /usr/ports/databases/gosqlite3/ make install clean su - gogs cd echo 'export GOROOT= /usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bash_profile source $HOME/.bash_profile # go get -u github.com/gpmgo/gopm mkdir -p $GOPATH/src/github.com/gogits cd $GOPATH/src/github.com/gogits git clone -b dev https://github.com/gogits/gogs.git cd gogs go get ./... go build cd $GOPATH/src/github.com/gogits/gogs ./gogs web
If you do not see an error message press ctrl+c.
Create a new mysql user and database.
mysql -u root -p create database gogs; grant all privileges on gogs.* to 'gogs'@'localhost' identified by 'password'; quit
su - gogs cd mkdir -p logs mkdir -p gogs-repositories mkdir -p $GOPATH/src/github.com/gogits/gogs/custom/conf cd $GOPATH/src/github.com/gogits/gogs cp conf/app.ini custom/conf/ vi $GOPATH/src/github.com/gogits/gogs/custom/conf/app.ini
Change the following lines in the configuration:
RUN_USER = gogs
ROOT = /usr/home/gogs/gogs-repositories
DOMAIN = fechner.net
ROOT_URL = %(PROTOCOL)s://git.%(DOMAIN)s:/
HTTP_ADDR = localhost
HTTP_PORT = 3000
Configure database section to match you database user, password and database you configured
Next we configure apache24:
mkdir -p /usr/home/http/git.fechner.net/logs
<VirtualHost *:80 localhost:443>
ServerName git.fechner.net
ServerAdmin idefix@fechner.net
ErrorLog /usr/home/http/git.fechner.net/logs/error.log
TransferLog /usr/home/http/git.fechner.net/logs/access.log
CustomLog /usr/home/http/git.fechner.net/logs/custom.log combined
ProxyPass / http://localhost:3000/
Include etc/apache24/ssl/ssl-template.conf
Include etc/apache24/ssl/https-forward.conf
</VirtualHost>
First config is with:
su - git cd $GOPATH/src/github.com/gogits/gogs ./gogs web