ubuntu搭建Gogs仓库

说到项目管理,GitHub几乎是完美的解决方案,唯一的不足就是免费用户无法私有自己的仓库了。所以为了方便还是打算搭建一个Gogs服务器。

环境搭建

Gogs 需要安装Nginx、MySQL和git

  1. 安装nginx
$ apt-get install nginx
  1. 安装git
$ apt-get install git
  1. 安装mysql
$ apt-get install mysql-server

添加系统新用户

  1. 添加用户git
    注意这里的git是一个新的系统用户的名字而已
$ adduser git
  1. 切换到git用户
$ su git

下载并安装

  1. 下载安装包到服务器
    注意下面的链接可能会根据不同的版本而变化,实际安装时应去官网查找最新的链接
$ sudo wget -c http://7d9nal.com2.z0.glb.qiniucdn.com/gogs_0.11.43_linux_amd64.tar.gz
ubuntu搭建Gogs仓库_第1张图片

打开官方下载链接,找到对应版本

ubuntu搭建Gogs仓库_第2张图片

我们这里选的是Linux amd64,然后HTTPS / CDN(通常来说CDN会更快):TAR.GZ 右键复制链接即可

  1. 解压
$  tar zxvf gogs_0.11.43_linux_amd64.tar.gz 
ubuntu搭建Gogs仓库_第3张图片
  1. 初始化数据库
$ cd gogs/scripts
$ mysql -u root -p < mysql.sql
  1. 建立新数据库
$ mysql -u root -p
> # (输入密码)
> create user 'gogs'@'localhost' identified by '密码';
> grant all privileges on gogs.* to 'gogs'@'localhost';
> flush privileges;
> exit;

配置与运行Gogs

  1. 修改Gogs service配置文件
vim /home/git/gogs/scripts/init/debian/gogs
1
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Go Git Service"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/git/gogs #这个根据自己的目录修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git  #如果运行gogs不是用的这个用户,修改对应用户

#说明:
#1.如果是创建的git用户 则目录修改为/home/git/gogs.对应的USER修改为git
#2.如果是在root用户下安装在/usr/local/gogs/下 则对应的目录为:/usr/local/gogs/gogs.对应的USER修改为root

2.切回root用户然后复制到/etc/init.d/

$ cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/

(如果没有创建git用户而是root用户下则不需要切换用户而是直接复制)

  1. 增加执行权限
$ chmod +x /etc/init.d/gogs
#也可以cd /etc/init.d/
# chmod -x gogs
  1. 复制service
$ cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

(同样,如果没有创建git用户而是root用户下则不需要切换)

  1. 启动Gogs
$ service gogs start

此时,可以在服务器的浏览器上访问http://localhost:3000/install来完成配置

如果没有安装图形界面,则可以先进行以下的步骤再配置

Nginx 反代理

创建相应的配置文件

$ vim /etc/nginx/sites-enabled/gogs.conf
1
server {
        listen 80;
        server_name  0.0.0.0; 
        location / {
                proxy_pass http://127.0.0.1:3000/;
        }
}

其中server_name 字段填的是服务器ip或域名

配置完成后就可以通过 http://服务器ip/install 来开始Gogs了

对于gogs的用户配置都在custom/conf/app.ini这里修改

更多详细的配置可以参考官方文档

你可能感兴趣的:(ubuntu搭建Gogs仓库)