在阿里云ubuntu 14.04 上部署Gogs
个人一直使用github,考虑到项目代码不能开源,然而毕竟穷没钱买私人仓库,所以为团队搭建一个git服务器o(^▽^)o。
在实验楼学习时,偶然发现实验楼使用了简单自建git托管服务的项目—— Gogs。这次搭建GIT服务器就直接上手用用试试。而且这个项目的四位主要开发者都是中国人( ̄▽ ̄)”。
最大同*交友网站传送门:https://github.com/gogits/gogs/
首页https://gogs.io/
好啦!言归正传~开始搬砖(●’◡’●)
我使用的是阿里云VPS,系统版本是ubuntu14.04LTS,配置是阿里云学生惠的标配(毕竟穷~,毕竟使用go语言,配置要求很低,一个树莓派即可。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo adduser gogs //创建用户
$ sudo usermod -G sudo gogs
$ su gogs//切换到gogs用户
$ cd ~ //进入用户gogs根目录
$ sudo apt-get install git //安装git
$ git //检查git是否安装成功
$ sudo apt-get install mysql-server //安装mysql数据库
$ mysql //检查mysql版本判断是否安装成功
//创建数据gogs
配置MYSQL,Gogs支持各种数据库,我选择了mysql,注意将下面的yourpassword,替换成你的密码。
$ mysql -u root -p
mysql> SET GLOBAL storage_engine = 'InnoDB';
mysql> CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON gogs.* TO ‘root’@‘localhost’ IDENTIFIED BY ‘yourpassword’;
mysql> FLUSH PRIVILEGES;
mysql> QUIT;
配置Go环境
$ sudo mkdir goapp //go应用安装目录
//安装golang环境
$ sudo wget http://www.golangtc.com/static/go/go1.5rc1/go1.5rc1.linux-amd64.tar.gz //下载64位二进制文件
//解压缩二进制文件
$ tar -xzvf go1.5rc1.linux-amd64.tar.gz -C /var/opt/
//然后可以在/var/opt/的目录下发现一个go文件夹
//配置golang环境
$ export PATH=$PATH:/usr/local/go/bin
检查golang是否安装成功
$ go
安装gogs
$ cd goapp
$ sudo wget http://gogs.dn.qbox.me/gogs_v0.8.0_linux_amd64.tar.gz //下载gogs
$ sudo tar -xzvf gogs_v0.8.0_linux_amd64.tar.gz //解压gogs文件
$ ls // 查看/home/git/goapp目录下文件和文件夹
$ cd gogs //进入解压创建的文件gogs
$ mkdir custom
$ mkdir custom/conf //创建自定义配置文件目录
$ sudo chmod -R 777 custom //修改custom文件夹权限
$ mkdir log //创建日志目录
$ sudo chmod -R 777 log//修改log文件夹权限
启动gogs
$ cd /home/git/goapp/gogs
$ ./gogs web
守护进程使用
nohup ./gogs web &
然后访问 http://localhost:3000/install来完成首次运行的配置工作
nginx 反代
配置文件nginx.conf,在http中(nginx的安装和HTTPS配置见另一篇文章):
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/;
}
}