奧推網

選單
科技

將ubuntu設定為NAS--22.搭建gitea自用程式碼託管git應用(下)

作者:楊某人

前言

上篇介紹利用docker-compose方式搭建gitea服務的方法,由於docker容器對映ssh設定有些複雜的問題,還想試試利用Ubunut直接搭建個gitea服務,繼續水篇文章。本身直接採用二進位制方法安裝gitea是比較簡單的,直接下載二進位制檔案到Ubuntu伺服器下,再直接執行二進位制檔案就安裝完成了。後面相對複雜的設定主要是為了讓gitea作為伺服器預設服務開機啟動。

1、二進檔案制安裝gitea服務

1。1、資料庫設定

先不要著急設定,首先為gitea建立資料庫和使用者 建立資料庫gitea,使用者名稱gitea,密碼自行設定gitea,前提是Ubuntu伺服器安裝了資料庫,參見將ubuntu設定為NAS——3。 私人網盤nextcloud安裝(上)中關於安裝MariaDB,版本我選擇10。3版。

sudo apt-get install mariadb-server mariadb-client

- 啟動MariaDB服務:sudo systemctl start mysql

- 檢視狀態:sudo systemctl status mysql ,ctrl+c退出

- 重啟服務:service mysql restart

- 檢視監聽埠的情況:netstat -tunpl 或 netstat -tap

- 執行初始化安全指令碼,預設root密碼為空,設定root密碼和其他選項:sudo mysql_secure_installation

進入MariaDB後,執行:

#進入資料庫

sudo mysql -u root -p

#建立資料庫,名為:giteadb,密碼`gitea`

CREATE DATABASE giteadb CHARACTER SET ‘utf8mb4’ COLLATE ‘utf8mb4_unicode_ci’;

#將資料庫giteadb許可權賦值給使用者gitea

GRANT ALL PRIVILEGES ON giteadb。* TO ‘gitea’@‘localhost’ IDENTIFIED BY ‘gitea’;

#重新整理資料庫

FLUSH PRIVILEGES;

#退出

q

2。2、二進位制檔案下載及驗證

接著就可以開始安裝了

建議先找個資料夾,我放在自己的code資料夾下,如果下載速度太慢,可以用迅雷先下載下來,再用winscp傳到伺服器檔案內。

#進入自定義二進位制檔案下載資料夾

cd /mnt/all/共享/code/gitea

#下載gitea二進位制檔案

wget -O gitea-1。16。1-linux-amd64 https://dl。gitea。io/gitea/1。16。1/gitea-1。16。1-linux-amd64

wget -O gitea-1。16。1-linux-amd64。asc https://dl。gitea。io/gitea/1。16。1/gitea-1。16。1-linux-amd64。asc

#設定執行許可權

chmod +x gitea

Gitea 使用GPG 金鑰對所有二進位制檔案進行簽名,以防止對二進位制檔案進行不必要的修改。要驗證二進位制檔案,請下載以您下載的二進位制檔案結尾的簽名檔案,。asc檔案,然後使用 GPG 命令列工具。

gpg ——keyserver keys。openpgp。org ——recv 7C9E68152594688862D62AF62D9AE806EC1592E2

gpg ——verify gitea-1。16。1-linux-amd64。asc gitea-1。16。1-linux-amd64

顯示完好的簽名,表明檔案下載沒有問題。

2。3、伺服器環境設定

為了保證gitea可以作為Ubuntu伺服器下一項服務可以開機自動執行,建議進行如下設定,如果只是偶爾使用,可以直接用非root使用者執行二進位制檔案(直接在命令列`)

#在二進位制檔案所在檔案下,用非root使用者執行這行命令,程式就正常執行,可以在瀏覽器輸入伺服器IP+3000埠號下看到gitea服務

。/gitea web

個人選擇以系統服務方式執行,所以接著開始設定

檢查伺服器上是否安裝了 Git。如果不是,請先安裝它,Ubuntu18。04下預設是安裝的。

git ——version

建立使用者以執行 Gitea,直接按照教程設定使用者名稱為git

#先切換root使用者,需要輸入密碼確定

sudo -i

#在執行如下命令

adduser

——system

——shell /bin/bash

——gecos ‘Git Version Control’

——group

——disabled-password

——home /home/git

git

接著建立所需要的目錄

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

再將gitea二進位制檔案複製到全域性位置(之前建立的/usr/local/bin/gitea)

cp /mnt/all/共享/code/gitea/gitea-1。16。1-linux-amd64 /usr/local/bin/gitea

最後就是建立系統服務方式執行gitea

sudo nano /etc/systemd/system/gitea。service

複製如下內容

[Unit]

Description=Gitea (Git with a cup of tea)

After=syslog。target

After=network。target

Wants=mariadb。service

After=mariadb。service

[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

ctrl+o,回車確認修改,ctrl+x退出。

接著最後一步將gitea加入系統服務並啟動:

sudo systemctl enable gitea

sudo systemctl start gitea

2。4、開啟伺服器

在瀏覽器中開啟伺服器IP+3000埠號,就出現如下介面

這裡只需要設定資料庫使用者名稱、密碼和資料庫名稱(資料庫名稱之前設定是giteadb)

最後拉到最下面,可選設定自行安裝,點選立即安裝。

稍等一小會,再在瀏覽器中輸入伺服器IP+3000埠號,就出現如下介面,註冊後再登入就能正常使用了。

最後試驗一下gitea服務是否可以開機自動重啟服務,重啟一下Ubuntu,再開啟伺服器IP+3000埠號,服務成功重啟。

3、gitea連線SSH使用

上篇docker下安裝的gitea服務SSH連線和程式碼上傳修改由於容器對映問題,設定相對複雜,所以上篇採用http方式上傳修改程式碼,而直接二進位制搭建的gitea可以方便使用ssh。

同樣首先再自己win主機安裝git,上篇也介紹過,直接參考相關教程,推薦看看菜鳥教程。

首先生成本機(即win主機下或主要編輯程式碼的主機,也可以是Ubuntu伺服器)的用於連線gitea用的key,在git命令列下輸入,其中“youremail@example。com”替換為自己的gitea下注冊的郵箱

ssh-keygen -t rsa -C “youremail@example。com”

之後會要求確認路徑和輸入密碼,使用預設的一路回車就行,成功的話會在如下圖位置生成 。ssh 資料夾,進去,開啟id_rsa。pub ,複製裡面的  key 。

記事本開啟id_rsa。pub檔案,就可以檢視裡面的key,複製全部內容,貼上到gitea網頁的SSH金鑰處。

測試是否成功,輸入以下命令:

ssh -T git@gitea伺服器IP

如下內容表明已經成功

先建立gitea倉庫,建立名稱為code,後面git命令需要用到

若本地已有需要的程式碼需要同步到gitea伺服器,就可以用以下相關命令操作,推送程式碼到gitea

git remote add origin git@gitea伺服器IP:yangmouren/code。git

# git remote add origin git@192。168。50。119:yangmouren/code。git

git push -u origin master

推送成功。

開啟網址就能看到推送情況了

總結

本篇重點介紹採用直接安裝二進位制檔案方式安裝gitea的流程,並按照官方教程設定gitea作為系統服務可以開機啟動,並且設定了SSH可以將自己原生代碼同步git到Ubuntu伺服器中的gitea上面,從此可以愉快地學習程式設計並在gitea頁面上面管理和備份程式碼了。

後記

歡迎大家查閱前期《將ubuntu設定為NAS》相關文章,可以關注、點贊、打賞和交流評論 。

將ubuntu設定為NAS——1。 Transmission-daemon安裝

將ubuntu設定為NAS——2。 新增硬碟掛載

將ubuntu設定為NAS——3。 私人網盤nextcloud安裝(上)

將ubuntu設定為NAS——3。 私人網盤nextcloud安裝(中)

將ubuntu設定為NAS——5。 docker與docker-compose的安裝

將ubuntu設定為NAS——6。 私人網盤nextcloud安裝(下)(docker下安裝nextcloud)

將ubuntu設定為NAS——7。 私人網盤nextcloud升級

將ubuntu設定為NAS——8。 nextcloud整合onlyoffice線上協同辦公軟體

將ubuntu設定為NAS——9。 遠端命令列及PuTTY、WinScp與手機端Termux使用

將ubuntu設定為NAS——10。 虛擬機器KVM及軟路由LEDE安裝

將ubuntu設定為NAS——11。 docker視覺化管理工具portainer安裝與使用

將ubuntu設定為NAS——12。使用portainer安裝為知筆記及為知筆

將ubuntu設定為NAS——13。搭建新型線上協同表格和資訊管理工具Seatable

將ubuntu設定為NAS——14。嘗試mergerfs合併多個物理硬碟

將ubuntu設定為NAS——15。安裝seafile並整合onlyoffice

將ubuntu設定為NAS——16。qBittorrent server安裝與解除安裝

將ubuntu設定為NAS——17。私人線上圖書館搭建

將ubuntu設定為NAS——18。搭建Jellyfin影音伺服器(上)

將ubuntu設定為NAS——19。搭建 Jellyfin影音伺服器(中)

將ubuntu設定為NAS——20。去中心化同步軟體Syncthing同步檔案

將ubuntu設定為NAS——21。搭建gitea自用程式碼託管git應用(上)