简介
Gogs的目标是打造一个最简单、最快速和最轻松的方式搭建自助Git服务。使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括Linux、Mac OS X、Windows以及ARM平台。
截图


功能
- 支持活动时间线 
- 支持 - SSH以及- HTTP/- HTTPS协议
- 支持 - SMTP、- LDAP和反向代理的用户认证
- 支持反向代理子路径 
- 支持用户、组织和仓库管理系统 
- 支持添加和删除仓库协作者 
- 支持仓库和组织级别 - Web钩子(包括- Slack和- Discord集成)
- 支持仓库 - Git钩子和部署密钥
- 支持仓库工单( - Issue)、合并请求(- Pull Request)、- Wiki和保护分支
- 支持迁移和镜像仓库以及它的 - Wiki
- 支持在线编辑仓库文件和 - Wiki
- 支持自定义源的 - Gravatar和- Federated Avatar
- 支持 - Jupyter Notebook
- 支持两步验证登录 
- 支持邮件服务 
- 支持后台管理面板 
- 支持 - MySQL、- PostgreSQL、- SQLite3、- MSSQL和- TiDB(通过- MySQL协议)数据库
- 支持多语言本地化( - 28种语言)
安装
Github地址:https://github.com/gogits/gogs
1、安装MySQL数据库
建议使用CentOS系统,查看:CentOS下Mysql 5.6安装教程及创建数据库,其他系统不会手动安装的直接使用宝塔面板。
#Centos系统 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh #Ubuntu系统 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh #Debian系统 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
安装完成后,安装MySQL,至少5.5.3版本。
2、安装Git
#Debian和Ubuntu系统 apt-get -y install git #CentOS系统 yum -y install git
3、安装Gogs
这里说2种方法,二进制安装或者Docker安装,建议使用二进制,Docker了解下就行了。
#二进制安装 wget http://7d9nal.com2.z0.glb.qiniucdn.com/0.11.4/linux_amd64.tar.gz tar -zxvf linux_amd64.tar.gz cd gogs ./gogs web #Docker安装 curl -sSL https://get.docker.com/ | sh service docker start docker pull gogs/gogs mkdir -p /var/gogs docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs docker start gogs #关闭后运行gogs
如果使用二进制安装的打开http://ip:3000,如果是Docker安装的打开http://ip:10080进行安装。且使用Docker安装的数据映射在/var/gogs文件夹。

如果网站打不开,则是防火墙问题,运行命令:
#CentOS 7 systemctl stop firewalld.service systemctl disable firewalld.service #其它系统 iptables -I INPUT -p tcp --dport 3000 -j ACCEPT #端口自行修改 service iptables save service iptables restart
程序运行建议配合screen使用,查看:使用screen来实现多任务不断线操作命令。
Nginx反代
如果你想用域名访问的话,就需要反代下,配置参考:
#在配置文件里添加
location / {
     proxy_pass http://localhost:3000/10080;  #端口自行修改
     proxy_redirect off;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

