1.创建用户
sudo adduser gogs //创建gogs用户
sudo usermod -G sudo gogs //使用户gogs有sudo权限
su gogs//切换到gogs用户
cd ~ //进入用户gogs根目录
2.安装mySql数据库
sudo apt-get install mysql-server //安装mysql数据库
mysql //看数据库是不是安装成功
2.1 建立属于gogs专用的数据库
mysql -u root -p //登录数据库
CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin; //创建名为gogs的数据库
GRANT ALL PRIVILEGES ON gogs.* TO ‘gogs’@‘localhost’ IDENTIFIED BY ‘gogs用户的登录密码’; //添加数据库用户gogs并设置其密码,并把gogs数据库的所有权限都给他
FLUSH PRIVILEGES; //刷新权限
quit //退出
3.配置Go环境
对于配置go环境的方法,可以自己百度或者google搜索方法,能配好go环境就ok。但主要的也就几个步骤而已(这里以二进制包的方法说一下)(参考两个链接:https://studygolang.com/articles/6188 和 https://jingyan.baidu.com/article/fdffd1f8257645f3e98ca1f8.html)
(1)获得go语言的二进制包,可以自己用windows电脑下载,然后上传到服务器,也可以在服务器中用命令 sudo weget http://xxx.com/xxx.tar.gz 总之目的都是得到我们需要的安装包
(2)解压包
(3)配置环境变量
(4)检验是否安装成功
下面是以上几个步骤执行的代码:
wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz //获得安装包
sudo tar -zxvf ./Downloads/go1.4.1.linux-amd64.tar.gz -C /usr/local/ //把文件解压到/usr/local/目录下
//开始配置环境变量
sudo vim ~/.bashrc
//在文档的未尾加入下面两句话
export GOPATH=/usr/local/go
export PATH=$GOPATH/bin:$PATH
source ~/.bashrc //使上面的修改生效
go env //查看go环境是否生效,有一些信息输出表示成功了
4.安装gogs
可以参考:http://blog.csdn.net/s89QL/article/details/50346521 里面安装gogs的部分
sudo mkdir goapp //创建gogapp目录,在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文件
cd gogs //进入解压创建的文件gogs
mkdir custom
mkdir custom/conf //创建自定义配置文件目录
sudo chmod -R 777 custom //修改custom文件夹权限
mkdir log //创建日志目录
sudo chmod -R 777 log//修改log文件夹权限
5.启动gogs
(1)进入gogs安装包解压的目录
cd /home/gogs/goapp/gogs
(2)启动web项目
./gogs web
这样启动的话就不能进行其它操作了,可以用下面的命令后台运行些程序
nohup ./gogs web &
最后访问地址 http://localhost:3000/install (localhost也可以改成服务器的公网ip地址)进行访问就可以了,然后通过web页面进行一些配置就好了
6.附加(反向代理)
这一步可以做也可以不做,做反向代理只是为了让项目更好的访问,反向代理可以用Nginx服务器做代理也可以用apache做代理,做代理的原因就是在我的服务器上比如我用apache做为网站的服务器,我可以通过配置站点进行访问gogs项目了,就可以通过 (例:http://gogs.domain.com来访问了而不需要访问http://localhost:3000),是不是更方便了
关于反向代理的东西可以自己百度这里我找了一篇关于apache反向代理的:利用Apache的转发模块实现反向代理服务器(http://blog.csdn.net/smstong/article/details/48976333)