ubuntu 使用 Gogs 搭建自己的 Git 服务器

1 篇文章 0 订阅

ubuntu 使用 Gogs 搭建自己的 Git 服务器

环境搭建

Gogs 需要安装Nginx、MySQL 和 git

  • 安装nginx
    $ apt-get install nginx

  • 安装git
    $ apt-get install git

  • 安装mysql
    $ apt-get install mysql-server


添加系统新用户

  • 添加系统用户 git
$ adduser git
  • 切换到git用户
$ su git

下载安装

$ sudo wget -c https://dl.gogs.io/0.11.79/gogs_0.11.79_linux_amd64.tar.gz
  • 将安装包下载到 /home/git/ 下,并解压
$ sudo tar -xzvf gogs_0.11.86_linux_amd64.tar.gz*

  • 初始化数据库
$ cd gogs/scripts
$ mysql -u root -p < mysql.sql
  • 建立新数据库
$ mysql -u root -p
> # (输入密码)
> create user 'gogs'@'localhost' identified by '密码';
> grant all privileges on gogs.* to 'gogs'@'localhost';
> flush privileges;
> exit;

配置与运行Gogs

  • 修改Gogs service配置文件
vim /home/git/gogs/scripts/init/debian/gogs

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=“Go Git Service”
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/ N A M E . p i d S C R I P T N A M E = / e t c / i n i t . d / NAME.pid SCRIPTNAME=/etc/init.d/ NAME.pidSCRIPTNAME=/etc/init.d/NAME
WORKINGDIR=/home/git/gogs #这个根据自己的目录修改
DAEMON= W O R K I N G D I R / WORKINGDIR/ WORKINGDIR/NAME
DAEMON_ARGS=“web”
USER=git #如果运行gogs不是用的这个用户,修改对应用户

说明:

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

  • 切回root用户然后复制到/etc/init.d/
$ cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/

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

  • 增加执行权限
$ chmod +x /etc/init.d/gogs
  • 复制service
$ cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

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

  • 启动Gogs
$ service gogs start
  • 浏览器上访问http://172.17.30.255:3000/install 来完成配置

Nginx 反代理

  • 创建相应的配置文件
$ vim /etc/nginx/sites-enabled/gogs.conf
server {
        listen 80;
        server_name  172.17.30.255; 
        location / {
                proxy_pass http://172.17.30.255:3000/;
        }
}

其中server_name 字段填的是服务器ip或域名
配置完成后就可以通过 http://服务器ip/install 来开始Gogs了
对于gogs的用户配置都在custom/conf/app.ini这里修改

  • 正确结果

  • 最后,禁用shell登录:

出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。将 git 修改如下:

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值