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

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

屏幕快照 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 内核开发而开发的一个开放源码的版本控制软件。

    209 引用 • 358 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone756

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

    1 回复
  • nginx 里配置下 https ,转发到 gogs 就行啦trollface

  • someone
    作者

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

  • power721

    谁知道和 gitea 比较怎么样?

  • someone
    作者

    gitea 没用过,我用过 gitlab,那个需要服务器配置高点才不会卡,gogs 就对机器的配置就没啥要求,阿里云学生机也可以用的很流畅。