雖然說有 github 的免費服務可以用,但有時候若程式碼不想公開又需要用到 git 版本管理就會有些不方便,既然現在有空伺服器,就幫學校架一個吧!也分享安裝過程給其他想自己架設 git server 的人。


我使用 gitea 這套用 go 語言開發的開源,第一步到 gitea 的 GitHub 依照自己的作業系統下載主程式。

我以 ubuntu server 為例。

loperamide

如果不知道自己電腦是什麼架構可以用arch指令查詢

1
arch

下載完成後,因為主程式會自動生成一些檔案,先把它移到安裝目錄下並把程式名稱改短一點

1
2
3
4
sudo mkdir /opt/gitea
sudo mv gitea-1.4.0-rc3-linux-amd64 /opt/gitea/gitea
cd /opt/gitea
sudo chmod +x gitea

安裝前我們還需要 Mysql 資料庫,若已安裝可略過這步。

1
2
3
4
5
6
#Install
sudo apt-get update
sudo apt-get install mysql-server

#Configure
mysql_secure_installation

接著在 Mysql 中創建一個給 gitea 使用的資料庫,這邊我就不贅述了,不會操作的話可以參考網路上的這篇文章

啟動主程式,gitea預設會使用 port 3000,防火牆記得允許!

1
sudo ./gitea

用瀏覽器訪問你伺服器的 port 3000,依照安裝頁面設定。 設定完後按立即安裝,等他一會兒就自動安裝好了!

loperamide
loperamide

再次訪問 gitea 看到這畫面安裝就完成啦!不過還差一步,把 gitea 設成系統服務。

loperamide

在/etc/init.d新增一個檔案

1
2
sudo touch /etc/init.d/gitea
sudo chmod +x /etc/init.d/gitea

複製這個網頁裡的文字到剛剛新建的檔案,找到以下內容並修改。

(這檔案適用 ubuntu/debian,其他作業系統可以到這頁面找找)

1
2
3
4
5
6
7
8
9
DESC="對這個軟體的描述"
NAME=gitea
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=安裝目錄路徑
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=用來啟動 gitea 的使用者

啟動服務

1
sudo /etc/init.d/gitea start

sudo lsof -i :gitea 的監聽 port | grep LISTEN

出現這樣就是成功

1
gitea 15793 root 8u IPv6 15140468 0t0 TCP *:x11 (LISTEN)

完成!