Gitea服務搭建指南


為什么選擇Gitea

常用的私有Git服務器包含GitLab、Gitea、Gogs等。相對來說,GitLab功能最為全面,內置CI,但對內存和CPU的要求比較高,而Gogs和Gitea均比較輕量化。根據實際需求與條件最終選擇了Gitea,Gitea是Gogs的社區版本,足夠輕量化,並且包含LFS的支持。

 

環境准備

安裝數據庫:采用SQLite數據庫

  • Windows安裝:

    下載網址:https://sqlite.org/download.html,如下圖下載預編譯版本中的sqlite-dll-win64-x64-3320300.zip版本安裝即可。

    img

    安裝說明:

    安裝時在安裝目錄(如C:\Program Files\SQLite3)解壓下載下來的文件,同時添加該路徑到環境變量Path中(添加到System的Path)。

    到此SQLite已經安裝完成,在命令提示符內輸入sqlite3根據是否出現版本號等信息可以驗證是否成功添加到環境變量。

    對於SQLite的可視化管理可以使用SQliteStudio即可。

     

  • Linux安裝:

    Linux下安裝SQLite,可以從下載頁下載源代碼自行編譯,也可以直接下載編譯好的二進制包。還可以更簡單的從包源安裝:

    # apt-get install sqlite3
    

 

安裝Git

  • Windows安裝:

    Git的taobao鏡像下載(原網站國內訪問較慢):https://npm.taobao.org/mirrors/git-for-windows/

    下載完成后,是個可執行的安裝文件。運行安裝文件,即可完成Git客戶端的安裝。

    安裝完成后,也需要在環境變量中設置Path,加進去Git命令的運行目錄。Git運行目錄是Git安裝目錄下的bin目錄。

  • Linux安裝:

    大多數情況下,Linux下會自帶Git客戶端,可以檢查一下:

    # git --version
    

    如果已安裝,會返回版本信息。

    如果沒有安裝,就用包管理裝一個

    # apt-get install git
    

 

安裝Gitea

  • Windows安裝

    下載for Windows的最新版1.11.5:https://gitea.io/zh-cn/

    把下載下來的文件名改為gitea.exe,然后放到一個目錄,比如D:\gitea目錄下,安裝就完成了。

    Gitea在Windows上可以直接運行,也可以加為Service。

    > d:\gitea\gitea.exe web
    cmd/web.go:107:runWeb() [I] Starting Gitea on PID: 5840
    

    加到Service里運行就不用每次手動打開了,輸入命令:

    sc create gitea start= auto binPath= "\"d:\gitea\gitea.exe\" web --config \"d:\gitea\custom\conf\app.ini\""
    

    點確定,就加到Windows服務里了。

  • Linux安裝

    下載for Linux的最新版1.12.1:

    # wget -O gitea https://dl.gitea.io/gitea/1.12.1/gitea-1.12.1-linux-amd64
    

    下載完成后,把gitea移到/usr/local/bin目錄,並改為可執行。

    # mv gitea /usr/local/bin
    # chmod +x gitea
    

    Gitea就安裝完成了。

    下面建幾個Gitea的數據目錄:

    # mkdir /var/lib/gitea
    # mkdir /var/lib/gitea/{custom,data,log}
    # mkdir /etc/gitea
    

    其中:

    /var/lib/gitea是存放倉庫相關文件的目錄

    /etc/gitea是存放配置文件app.ini的目錄

     

    為了服務器的安全,我們還需要創建一個系統用戶git

    # adduser git --system --shell /bin/bash --group --disabled-password --home /home/git
    

    把上面建立的幾個目錄給到git用戶:

    # chown -R git:git /var/lib/gitea
    # chown git:git /var/gitea
    

    Gitea在Linux上需要以Service的方式運行。

    把以下配置保存到文件gitea.service

    [Unit]
    Description=Gitea (Git with a cup of tea)
    After=syslog.target
    After=network.target
    
    [Service]
    RestartSec=2s
    Type=simple
    User=git
    Group=git
    WorkingDirectory=/var/lib/gitea/
    ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
    Restart=always
    Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
    
    [Install]
    WantedBy=multi-user.target
    

    修改gitea.service為可執行,並復制到/etc/systemd/system目錄:

    # chmod +x gitea.service
    # mv gitea.service /etc/systemd/system# systemctl enable gitea.service
    

    最后一步,啟動Service:

    # systemctl start gitea.service
    

    Linux下的安裝配置就完成了。

 

設置Gitea

運行Gitea后,打開http://localhost:3000即可以進入軟件配置界面如下圖:

img

  • 數據庫設置

    先選擇數據庫類型。如果是用原有的數據庫,相關的參數需要填進去。我們安裝了SQLite3,所以選擇這個。下面會有一個數據庫路徑,可以使用默認的。在Windows下,Gitea會自己在運行目錄下建立目錄和數據文件;Linux下是剛剛預先建立好的。

    如果修改目錄的話,Windows下不存在問題,但Linux下需要注意目錄的權限。這個權限會跟着下面「以用戶名運行」參數來設置。

  • 一般設置

    站點名稱:頁面首頁顯示的名稱。

    倉庫根目錄:用來存放源代碼二進制數據,有默認位置,可以修改。

    LFS根目錄:用來存放大文件的目錄,用於LFS服務。

  • 禁止用戶自助注冊

    如果可以開啟就不能自己注冊賬號了,需要管理員統一管理。

  • 管理員帳號設置

    第一個注冊的帳號,會自動成為管理員。在上面禁止注冊后,需要這個管理員來建立用戶帳號。

  • 版本升級

    如果需要升級新版本,先下載新版本的Gitea,然后停掉服務,覆蓋舊的Gitea程序,再啟動服務就可以了。

 

其他更多設置查看Gitea的文檔即可。

 

參考文獻:

[1] https://mp.weixin.qq.com/s/QsFhT0G7ny9K8F8mnCUj3A

[2] https://www.jianshu.com/p/acd5fc63895d


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM