![gogs-logo](https://i-blog.csdnimg.cn/blog_migrate/de3a670828e4975b89f47345a4e84828.png)
环境要求
- MySQl: version>=5.5.3
- git(bash): Version >= 1.7.1 for both server and client sides
- ssh server: Ignore this if you’re only going to use HTTP/HTTPS or use builtin SSH server
- Recommend Cygwin OpenSSH
安装
Tips: 基于centos6.5 64位系统
MySQL安装
这里默认已经安装过mysql数据库,如果未安装有两种安装方式
1、yum安装
2、源码安装,mysql install command
Git安装
1、yum安装,这种方式有个缺点:版本比较老
2、源码安装
yum remove git
yum install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel -y
wget https://github.com/git/git/archive/v2.9.0.tar.gz
tar xzvf v2.9.0.tar.gz
cd git-2.9.0
autoconf
./configure --prefix=/your-path
make && make install
ln -s /your-path/bin/git /usr/bin/git
gogs安装及运行
1、下载预编译二进制包
wget https://cdn.gogs.io/gogs_v0.9.128_linux_amd64.tar.gz
tar -xf gogs_v0.9.128_linux_amd64.tar.gz
2、导入所需的数据库
mysql -u root -p < scripts/mysql.sql
3、配置文件custom/conf/app.ini,如果没有则建立一个,默认配置文件,配置手册
4、创建启动脚本
cp script/init/centos/gogs /etc/init.d/gogs
5、对/etc/init.d/gogs进行编辑,主要按照实际的运行环境来,如日志存放目录,gogs命令位置等,修正过后启动服务
chmod +x gogs
/etc/init.d/gogs start
6、nginx反向代理(非必须)
server {
server_name 域名或IP;
listen 80; # 或者 443,如果你使用 HTTPS 的话
# ssl on; 是否启用加密连接
# 如果你使用 HTTPS,还需要填写 ssl_certificate 和 ssl_certificate_key
location / { # 如果你希望通过子路径访问,此处修改为子路径,注意以 / 开头并以 / 结束
proxy_pass http://127.0.0.1:3000/;
}
}
7、最后说明一下我这里是按照root用户来运行gogs的,推荐使用git用户来运行
sudo adduser git
su git
修改一下配置文件及目录权限,就可重新运行gogs了
gogs使用
使用和GitHub类似,这里重点说下用户权限控制,服务启动后访问配置好的url即可打开页面,第一次进入的时候需要你填写一个表单,填写完毕后就可正常使用gogs了。注意:无需创建admin账户,系统默认ID=1的账户为admin账户
![web-img](https://i-blog.csdnimg.cn/blog_migrate/a784056cb0146e8dead06f7c8af7037f.jpeg)
gogs里面对于用户权限控制,主要是依托于组织下的团队,一个组织里可以创建多个团队,团队权限类型分为:
- 读取权限:这个团队将拥有查看和克隆所属仓库的权限
- 写入权限:这个团队将拥有查看、克隆和推送所属仓库的权限
- 管理权限:这个团队将拥有查看、克隆、推送和添加其他组织成员到团队的权限
创建不同权限类型的团队,然后将相应的组织成员添加到团队里面,并将组织下的某个私有仓库添加到所需的团队中,举个栗子:我添加了一个FE团队权限为写入权限,并将FE的同学添加到团队里面,然后将名为fe-test的私有仓库添加至该团队(fe-test仓库只属于FE团队),这样不在FE团队的同学就无法查看fe-test而FE同学可以。