首頁  >  文章  >  開發工具  >  Linux下怎麼透過Gogs搭建自己的Github

Linux下怎麼透過Gogs搭建自己的Github

PHPz
PHPz原創
2023-03-31 14:02:09935瀏覽

隨著Github的逐漸普及,越來越多的人會選擇在其中建立自己的項目,也就是在Github上發表自己的程式碼。然而,Github限制了單一帳戶上能建立的私人庫的數量,所以一些高頻用戶可能需要透過其他途徑來建立自己的程式碼庫。在這個時候,自己搭建Github就成為了一個選擇。本文主要介紹在Linux系統下,透過Gogs搭建自己的Github,以解放Github帳戶的限制。

一、安裝環境

##在開始建置前,需要確保系統安裝了對應的環境:

    MySQL or PostgreSQL
  1. Go >= 1.12.x
  2. 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

    從Github上下載Gogs的最新版本並解壓縮到該目錄下:
  1. wget https://dl.gogs.io/gogs_latest_linux_amd64.tar.gz
    tar xvfz gogs_latest_linux_amd64.tar.gz
    進入下載的Gogs目錄,執行安裝:
  1. ##
    cd gogs
    ./gogs install
  2. 執行安裝時需要輸入以下內容:
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上。

啟動Gogs:
  1. cd gogs
    ./gogs web
  2. 成功啟動後,你可以在瀏覽器中存取http://localhost:3000。

三、設定Nginx反向代理

如果你的Gogs實例位於生產環境,建議使用Nginx作為反向代理伺服器。

安裝Nginx:
  1. sudo apt install nginx
建立一個vhost檔:
  1. sudo nano /etc/nginx/sites-available/gogs
  2. 在其中加入以下內容:
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。

確保Nginx解析該vhost:
  1. sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
  2. 然後重新載入Nginx設定:
sudo nginx -t
sudo systemctl reload nginx

現在你可以在你的Webbrowser裡開啟你的網站,透過GitHub OAuth 登入。

四、總結

以上就是透過Gogs搭建自己的Github帳戶的方法。相信在實際操作上也會遇到一些細節問題,但大體上操作還是簡單易懂的。這些細節問題可以上官方文件或論壇尋求協助。自己建構Github不僅可以實現更靈活的管理,還可以成為學習的過程,具有開發者的工具使得它可作為一個學習性質的專案。

以上是Linux下怎麼透過Gogs搭建自己的Github的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn