在 Ubuntu16.04 搭建轻量级 git 服务器 Gogs

本贴最后更新于 248 天前,其中的信息可能已经事过境迁

屏幕快照 20190521 下午 3.02.14.png

1、更新源

$ apt-get update

2、安装 MySQL 和 Git

$ apt-get install mysql-server git

安装过程中要输入数据库密码

3、下载 Gogs 并解压于家目录

此处建议先用梯子去 Gogs 官方下载合适的版本,然后用 ftp 上传服务器。

4、初始化并配置数据库

$ sudo mysql -u root -p < gogs/scripts/mysql.sql
$ sudo mysql -u root -p

mysql> create user 'gogs'@'localhost' identified by  '<pwd>';
mysql> grant all privileges on gogs.* to  'gogs'@'localhost';
mysql> flush privileges;
mysql> exit;

pwd 为 MySQL 中 gogs 用户的密码

4、创建 Git 用户并将 Gogs 做成服务

$ sudo adduser git
$ sudo cp -r gogs/ /home/git/
$ sudo chown -R git /home/git/gogs/
$ cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
$ sudo su - git

5、运行并配置 Gogs

$ cd ~/gogs/
$ chmod +x gogs
$ ./gogs web

最后这里也可以用服务启动

$ su
$ service gogs start

Gogs 参数配置文档

格式化 Gogs 配置

执行以下命令

$ cd ..
$ rm -rf gogs gogs-repositories/
$ su
$ sudo cp -r /root/gogs/ /home/git/
$ sudo chown -R git /home/git/gogs/
$ sudo su - git
$ cd gogs
$ chmod +x gogs
$ ./gogs web

配置 nginx 反向代理

在/etc/nginx/conf.d/目录下新建 gogs.conf

server{
        listen 80;
        server_name <域名或ip>;
        location / {
                proxy_pass http://127.0.0.1:3000/;
        }
}

然后重启 nginx

  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    167 引用 • 323 回帖 • 640 关注
5 回帖
请输入回帖内容...
  • someone756

    没有配置 HTTPS 啥的么?安全怎么保证?

    1 回复
  • 其他回帖
  • jinghong

    nginx 里配置下 https ,转发到 gogs 就行啦trollface

  • BB-fat

    是在 nginx 里配置的反向代理 https

  • power721

    谁知道和 gitea 比较怎么样?

  • 查看更多回帖