Fedora 上如何安裝 gitea
Gitea 是由 Gi t支援的另一種開源,自託管版本控制系統。
Gitea用Golang編寫,是可在任何平臺上託管的輕量級解決方案。
換句話說就是你希望自己部署一個 Git 遠端庫,但是你又不想用 GitHub,GitLab 又太重,同時還收費。
配置環境
在安裝 Gitea 之前,需要對你的伺服器環境進行一些配置。
Git
確保你已經在伺服器上安裝了 Git。
使用命令: git --version
來檢視安裝 Git 的版本。
如果沒有安裝的話,可以使用:sudo dnf install git
來進行安裝。
獲得 Gitea 安裝包
你可以到官方的下載頁面中獲得最新的安裝包。
在當前,最新的版本為 1.16.6
執行下面的命令來獲得最新的安裝包:
wget -O gitea https://dl.gitea.io/gitea/1.16.6/gitea-1.16.6-linux-amd64
chmod +x gitea
建立 gitea 執行的使用者
直接執行下面的命令來建立這個服務執行需要的使用者。
adduser \
--system \
--shell /bin/bash \
--comment 'Git Version Control' \
--user-group\
--create-home \
--home /home/git \
git
準備 gitea 執行的目錄
直接執行下面的命令來準備 gitea 執行需要的目錄。
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
針對使用者
git
,目錄 /etc/gitea
被臨時設定為可寫許可權了。
在完成安裝後,你可以使用下面的命令:
chmod 750 /etc/gitea
chmod 640 /etc/gitea/app.ini
來修改許可權為不可寫的許可權。
配置環境變數
設定 gitea 的環境執行變數:GITEA_WORK_DIR
使用的命令是: export GITEA_WORK_DIR=/var/lib/gitea/
拷貝程式檔案
將執行需要的檔案,拷貝到我們準備好的目錄中。
使用的命令為:
cp gitea /usr/local/bin/gitea
執行 Gitea
在完成上面的操作後,你有 2 種方法來執行 gitea。
這 2 種方法分別為以服務方式和命令列方式。
如果你是以命令列方式執行的話,那麼在你關閉控制檯以後,gitea 將會停止執行,因此我們推薦使用以服務的方式來執行。
以服務方式
以服務方式的執行,請按照下面的步驟進行:
設定啟動配置檔案
將 gitea/gitea.service at main · go-gitea/gitea · GitHub 檔案中的內容拷貝到 /etc/systemd/system/gitea.service
檔案中。
隨操作啟動
執行下面的命令,我們可以配置服務隨作業系統啟動而啟動。
sudo systemctl enable gitea
sudo systemctl start gitea
校驗安裝
Gitea 預設的啟動埠是 3000。
如果你的伺服器沒有安裝防火牆,沒有配置反向代理的話,你可以通過瀏覽器訪問伺服器的 IP 地址,並且埠號是 3000。
如果你能夠看到下面的介面的話,說明 Gitea 的啟動已經完成了。
你需要為你的服務配置資料庫伺服器,並且在這個介面中完成配置就可以開始使用了。
如果你的資料庫配置沒有問題,並且上面的引數都填寫正確的話。
就可以繼續進行安裝了,安裝通常不需要多長時間,1 到 2 分鐘就可以了。
安裝成功後,你就能看到上面的介面了。
當然你還可以為你的伺服器配置反向代理,開放 80 或者 443 埠以增強安全性。
- 到底應不應該使用 lombok
- Java 8 開始新增的 Optional 類 - Optional 物件中的返回
- Fedora 上如何安裝 gitea
- Ubuntu 安裝 NTP 服務
- 群暉(Synology)NAS 安裝 Mariadb 資料庫啟動錯誤
- 美東某 IoT 公司技術流程第一輪溝通就掛了
- Node 的 cross-env 模組
- Npm 安裝提示 EUNSUPPORTEDPROTOCOL 錯誤
- 使用 Jackson – 將字串轉換為 JsonNode 物件
- 在 Discourse 中如何使用輸入對話方塊
- IntelliJ IDEA 中如何將 POM 中的版本號快速提出為屬性
- RedHat 8 時間同步和時區修改
- JDK 8 及其後續 JDK 中 Period 和 Duration
- POM 檔案中 licenses 許可證的定義
- IntelliJ IDEA 如何顯示提交輸入的資訊歷史
- 前端工程師的 caniuse
- JavaScript 陣列進行拼接的函式
- JavaScript 陣列元素的一些操作
- 如何理解 Java 多執行緒
- JavaScript 中 Array map() 方法