Linux下怎么通过Gogs搭建自己的Github

随着github的逐渐普及,越来越多的人会选择在其中建立自己的项目,也就是在github上发表自己的代码。然而,github限制了单个账户上能建立的私人库的数量,所以一些高频使用者可能需要通过其他途径来建立自己的代码库。在这个时候,自己搭建github就成为了一个选择。本文主要介绍在linux系统下,通过gogs搭建自己的github,以解放github账户的限制。

一、安装环境

在开始搭建前,需要确保系统安装了相应的环境:

  1. MySQL or PostgreSQL
  2. Go >= 1.12.x
  3. Git >= 1.7.1 (2.x recommended)

对于Ubuntu系统,可以通过以下命令安装MySQL:

sudo apt-get update
sudo apt-get install mysql-server

Go的安装方式可以在官网中下载对应的安装包并按照说明进行处理。

对于某些版本的Ubuntu或Debian系统,可能没有安装git-core,需要进行安装:

sudo apt-get update
sudo apt-get install git-core

二、安装Gogs

  1. 从Github上下载Gogs的最新版本并解压到该目录下:
wget https://dl.gogs.io/gogs_latest_linux_amd64.tar.gz
tar xvfz gogs_latest_linux_amd64.tar.gz
  1. 进入下载的Gogs目录,执行安装:
cd gogs
./gogs install

在执行安装时需要输入以下内容:

Do you want to install as Windows service/daemon? (y/n)
n
Please enter the URL: (e.g. http://domain.com[:port] or http://[IP]:[port])
http://localhost:3000

接下来的安装步骤会要求输入一些数据库相关的内容,需要你根据自己的需求进行配置。这里建议使用MySQL作为数据库,并在这一步中安装第2台服务器。

在需要填写Git信息时,需要注意将使用的ssh-key添加到GitHub上。

  1. 启动Gogs:
cd gogs
./gogs web

成功启动后,你可以在浏览器中访问http://localhost:3000。

三、配置Nginx反向代理

如果你的Gogs实例位于生产环境,建议使用Nginx作为反向代理服务器。

  1. 安装Nginx:
sudo apt install nginx
  1. 创建一个vhost文件:
sudo nano /etc/nginx/sites-available/gogs

在其中加入以下内容:

server {
    listen 80;
    server_name git.example.com; # your domain name
    access_log /var/log/nginx/git.access.log;
    error_log /var/log/nginx/git.error.log;
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $http_host;
    }
    location /ws {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location ~ /\. {
        deny all;
    }
}

请根据自己的需求更改server_name。

  1. 确保Nginx解析该vhost:
sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/

然后重新加载Nginx配置:

sudo nginx -t
sudo systemctl reload nginx

现在你便可以在你的Webbrowser里打开你的网站,通过 GitHub OAuth 登录。

四、总结

原文来自:www.php.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容