RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Ubuntu 20.04安裝Gitea

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2023-01-04 17:23 ? 次閱讀

Gitea是用Go語言編寫的自托管開源git服務器。它是Gogs的分支。Gitea包含有文件編輯器,項目問題跟蹤,用戶管理,通知,內(nèi)置Wiki等。

Gitea是輕型應用程序,可以安裝在低配置系統(tǒng)。如果您正在尋找內(nèi)存占用量少得多的Gitlab替代產(chǎn)品,并且不需要Gitlab提供的所有功能,那么您絕對應該嘗試Gitea。

教程介紹如何在Ubuntu 20.04安裝Gitea。相同的說明適用于基于Ubuntu 20.04的Linux發(fā)行版,例如Linux mint。

安裝Gitea 數(shù)據(jù)庫

Gitea支持SQLite,PostgreSQL和MySQL/MariaDB作為數(shù)據(jù)庫后端。

我們將使用SQLite作為Gitea的數(shù)據(jù)庫。如果您的Ubuntu 20.04未安裝SQLite,可以運行命令sudo apt update && sudo apt install sqlite3安裝SQLite。

Gitea提供Docker映像,也可以使用源碼,二進制文件的方式安裝。我們將使用二進制文件安裝Gitea。

安裝Gitea的第一步是安裝git。運行命令sudo apt install git。當git安裝完成后運行命令git --version驗證git的安裝。

我們將創(chuàng)建一個普通用戶運行Gitea。運行命令adduser命令創(chuàng)建用戶git。命令將創(chuàng)建一個名為git的用戶和組,并將家目錄設置為/home/git。

sudo apt update
sudo apt install sqlite3 git

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Adding system user `git' (UID 111) ...
Adding new group `git' (GID 116) ...
Adding new user `git' (UID 111) with group `git' ...
Creating home directory `/home/git' ...

下載 Gitea

訪問Gitea下載頁面,并下載適用于您的系統(tǒng)架構二進制文件。在撰寫本文時,最新版本為1.17.3。

如果有可用的新版本,請在下面的命令中更改VERSION變量。然后運行wget命令下載Gitea二進制文件到/tmp目錄。

gitea二進制文件可以在任何目錄運行。我們將遵循Linux目錄約定并將二進制文件移動到/usr/local/bin目錄。

默認情況下二進制文件不具有可執(zhí)行權限。因此需要為gitea二進制文件添加可執(zhí)行權限,運行chmod命令。

運行mkdir命令創(chuàng)建目錄并設置所需的權限和所有權。這是官方的Gitea文檔建議使用目錄結構。

etc/gitea目錄的權限設置為770,在安裝向導時可以創(chuàng)建配置文件。安裝完成后,我們將設置更多限制性權限。

VERSION=1.17.3
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

sudo mv /tmp/gitea /usr/local/bin

sudo chmod +x /usr/local/bin/gitea

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir etc/gitea
sudo chown root:git etc/gitea
sudo chmod 770 etc/gitea

創(chuàng)建Systemd 服務

Gitea提供已配置的Systemd Unit文件??梢赃\行wget命令將Systemd Unit文件下載到etc/systemd/system/目錄。

完成后,重新加載Systemd,運行命令sudo systemctl daemon-reload。然后啟用并啟動Gitea服務。

驗證Gitea服務的運行狀態(tài),運行命令sudo systemctl status gitea。你將會看到Gitea服務已成功啟動。

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P etc/systemd/system/

sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl enable gitea
sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
   Loaded: loaded (etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-01-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─14804 /usr/local/bin/gitea web --config etc/gitea/app.ini
...

配置 Gitea

現(xiàn)在我們成功運行Gitea,是時候通過Web界面完成安裝。默認情況下,Gitea監(jiān)聽所有接口端口3000的連接。

如果您Ubuntu 20.04正在運行運行UFW防火墻,則需要打開Gitea端口。允許端口3000的連接。運行命令sudo ufw allow 3000/tcp

sudo ufw allow 3000/tcp

打開瀏覽器,輸入http://127.0.0.1:3000。將數(shù)據(jù)庫設置的為以下參數(shù)。

Database Type: SQLite3。

Path/var/lib/gitea/data/gitea.db,必須是絕路徑。

Site Title可是你喜歡的任意名稱。

Repository Root Path: /home/git/gitea-repositories。

Git LFS Root Path: /var/lib/gitea/data/lfs。

Run As Username: git。

SSH Server Port: 22,如果SSH服務正在監(jiān)聽其他端口,請更改它端口。

Server Domain: localhost。

Gitea HTTP Listen Port: 3000。

Gitea Base URL: http://localhost:3000/。

Log Path: /var/lib/gitea/log。

您可以隨時通過編輯Gitea配置文件來更改設置。完成后,點擊install Gitea按鈕。安裝是實時的。

完成后,您將被重定向到登錄頁面。點擊立即注冊。第一個注冊用戶將自動添加到管理員組。

然后運行命令sudo chmod 750 etc/gitea將Gitea配置文件的權限更改為只讀。至此, Gitea已安裝在您的Ubuntu 20.04。

sudo chmod 750 etc/gitea

Nginx反向代理 Gitea

如何在Ubuntu 20.04安裝Nginx | myfreax

本教程介紹了如何在Ubuntu 20.04上安裝和管理Nginx。Nginx發(fā)音為engine x,是一種開源的高性能HTTP和反向代理服務器

myfreaxmyfreax

如何在Ubuntu 20.04 安裝 Nginx

如何在Ubuntu 20.04配置Nginx虛擬主機 | myfreax

server是Nginx指令,用于定義特定域的設置,從而使您可以在一臺服務器上運行多個網(wǎng)站

myfreaxmyfreax

如何在Ubuntu 20.04配置Nginx虛擬主機

此步驟是可選的,但強烈建議您這樣做。要將Nginx用作反向代理,您需要有一個指向服務器IP域名。在本教程中,我們將使用git.example.com。

使用你喜歡的文本編輯器創(chuàng)建文件Nginx配置文件git.example.com.conf。在本教程中,我們將使用vim創(chuàng)建文件。

復制Nginx配置內(nèi)容文件到文件etc/nginx/conf.d/git.example.com.conf。完成后保存文件并退出vim。

sudo vim etc/nginx/conf.d/git.example.com.conf
server {
    listen 80;
    server_name git.example.com;
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    client_max_body_size 50m;
    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    # log files
    access_log /var/log/nginx/git.example.com.access.log;
    error_log /var/log/nginx/git.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

etc/nginx/conf.d/git.example.com.conf

你應該在每次編輯Nginx配置文件后,使用nginx -t命令測試Nginx配置的語法是否正確。然后重新啟動Nginx服務,以使更改生效。

為了能夠正確解釋域名domain1.com。因此我們還需要映射domain1.com到本地回環(huán)地址127.0.0.1。

運行命令echo "127.0.0.1 git.example.com" | sudo tee -a etc/hosts

接下來,更改Gitea域和根URL。繼續(xù)使用你喜歡編輯器,打開Gitea配置文件修改DOMAIN和ROOT_URL。

完成gitea的配置更改后,重啟gitea服務運行命令sudo systemctl restart gitea。至此,已配置Gitea代理,您可以在以下位置訪問它:https://git.example.com

sudo systemctl restart nginx
echo "127.0.0.1 git.example.com" | sudo tee -a etc/hosts

sudo vim etc/gitea/app.ini
sudo systemctl restart gitea
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

etc/gitea/app.ini

如果你需要配置SSL為你的Nginx虛擬主機,請參考我們的教程如何在Ubuntu 20.04 Nginx配置Let's Encrypt SSL證書。

如何在Ubuntu 20.04 Nginx配置Let’s Encrypt SSL證書 | myfreax

Web進行安全通信依賴于HTTPS,這需要使用數(shù)字證書,以便瀏覽器驗證Web服務器的身份

myfreaxmyfreax

如何在Ubuntu 20.04 Nginx配置Let's Encrypt SSL證書

電子郵件通知

為了使Gitea能夠發(fā)送通知電子郵件,您可以安裝Postfix或使用某些事務性郵件服務,例如SendGrid,MailChimp,MailGun或SES。

要啟用電子郵件通知,繼續(xù)使用你喜歡編輯器,打開Gitea配置文件app.ini。修改以下內(nèi)容。

請確保您輸入了正確的SMTP服務器信息。重新啟動Gitea服務以使更改生效。

sudo vim etc/gitea/app.ini
sudo systemctl restart gitea
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

etc/gitea/app.ini

升級Gitea

要升級到最新的Gitea版本,只需下載并替換二進制文件。首先是停止Gitea服務。

下載最新的Gitea版本并將其移動到/usr/local/bin目錄。運行chmod命令使Gitea二進制具有可執(zhí)行權限。

最后重啟Gitea服務,運行命令sudo systemctl restart gitea。

sudo systemctl stop gitea
VERSION=
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea

結論

本教程向您介紹了在Ubuntu 20.04安裝Gitea的過程。您現(xiàn)在應該訪問Gitea文檔頁面,并學習如何配置Gitea實例并創(chuàng)建第一個項目。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209323
  • Ubuntu
    +關注

    關注

    5

    文章

    563

    瀏覽量

    29703
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9047
收藏 人收藏

    評論

    相關推薦

    Ubuntu 20.04上使用Systemback

    Ubuntu 20.04運行。我就花了點時間對Systemback進行了開發(fā)使其支持在Ubuntu 20.04上工作。同時添加了軟件對大文件的支持。現(xiàn)在軟件生成的系統(tǒng)鏡像ISO不再受
    發(fā)表于 05-16 19:12

    怎樣利用Ubuntu20.04安裝Mentor Calibre 2020?

    怎樣利用Ubuntu20.04安裝Mentor Calibre 2020?有沒有人遇到過這個問題啊
    發(fā)表于 06-23 07:19

    何在Ubuntu20.04上的STM32CubeIDE中安裝STM32CubeL5?

    我已經(jīng)在Ubuntu 20.04安裝了STM32CubeIDE,并為NUCLEO L552ZE-Q設置了一個項目,我想嘗試STM32L5的例子,發(fā)現(xiàn)它需要STM32CubeL5。如何安裝
    發(fā)表于 01-06 09:06

    S32DS 3.5 Ubuntu 20.04安裝卡住了怎么解決?

    S32DS 3.5 Ubuntu 20.04 安裝卡住
    發(fā)表于 04-21 08:07

    何在Ubuntu桌面環(huán)境上安裝Google Chrome ?

    作為全球最受歡迎的網(wǎng)頁瀏覽器,新的 Linux 用戶經(jīng)常會問如何在 Ubuntu安裝谷歌瀏覽器。 這不是一個愚蠢的問題。圍繞構建 Linux 的困境,大多數(shù)用戶試圖從 Ubuntu
    發(fā)表于 05-05 14:00 ?2242次閱讀

    Ubuntu 20.04默認附帶Snap版本

    Ubuntu開發(fā)團隊的郵件列表顯示,即將發(fā)布的Ubuntu 20.04將默認附帶Snap版本的應用商店。ubuntu-desktop和ubuntu
    的頭像 發(fā)表于 03-06 14:20 ?3706次閱讀

    Ubuntu 20.04調(diào)查結果已發(fā)布

    Ubuntu 20.04 隨附了最新的 GNOME 3.36 版本。除其他事項外,此版本還具有改進的shell theme、新的鎖定屏幕、請勿打擾切換功能和改進的設置面板。
    的頭像 發(fā)表于 05-19 17:04 ?2103次閱讀

    如何制作ubuntu20.04的文件系統(tǒng)

    firefly自帶的文件系統(tǒng),由于缺少一些基本功能模塊,因此,我們可以自己手動制作一個ubuntu20.04的文件系統(tǒng)。
    的頭像 發(fā)表于 10-17 12:12 ?3761次閱讀

    何在Ubuntu 20.04安裝和配置FTP服務器

    本教程介紹如何在Ubuntu 20.04安裝和配置,用于在設備之間共享文件的FTP服務器。
    的頭像 發(fā)表于 12-05 16:04 ?4786次閱讀

    何在Ubuntu安裝RPM文件

    Ubuntu軟件源包含數(shù)千個deb軟件包,可以從Ubuntu軟件中心或使用`apt`命令行安裝。
    的頭像 發(fā)表于 12-07 17:28 ?1.2w次閱讀

    何在Ubuntu 22.04上安裝Microsoft Edge瀏覽器

    其他瀏覽器,如 Microsoft edge 瀏覽器。 在本教程中,我們將在 Ubuntu 20.04 完成 Microsoft edge 下載和安裝(包括穩(wěn)定版、測試版和開發(fā)版)的過程?,F(xiàn)在讓我們開始吧。 Edge
    的頭像 發(fā)表于 02-20 11:13 ?1.3w次閱讀

    Windows11 wsl2安裝Ubuntu-20.04

    Windows11 wsl2安裝Ubuntu-20.04
    的頭像 發(fā)表于 08-16 10:04 ?1143次閱讀
    Windows11 wsl2<b class='flag-5'>安裝</b><b class='flag-5'>Ubuntu-20.04</b>

    ubuntu20.04安裝教程

    Ubuntu 20.04安裝步驟如下: 制作啟動U盤。首先下載Ubuntu 20.04的鏡像文件和UltraISO(鏡像制作工具)。然后
    的頭像 發(fā)表于 11-13 16:59 ?2197次閱讀

    Ubuntu 20.04如何更改用戶名

    產(chǎn)品簡介本文適用于所有RK3568/RK3588平臺產(chǎn)品在Ubuntu20.04系統(tǒng)上如何更改用戶名,本文以IDO-EVB3588開發(fā)板為例,在ubuntu20.04系統(tǒng)上修改用戶名industio
    的頭像 發(fā)表于 01-26 08:34 ?845次閱讀
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用戶名

    何在Windows中安裝Ubuntu系統(tǒng)

    在Windows中安裝Ubuntu系統(tǒng)通常有兩種方法:使用虛擬機軟件安裝Ubuntu作為虛擬機,或者使用雙啟動安裝
    的頭像 發(fā)表于 12-12 14:29 ?227次閱讀
    RM新时代网站-首页