在阿里云ubuntu 14.04 上部署Gogs

在阿里云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/;
    }
}

你可能感兴趣的:(linux,git)