利用阿里雲和Gogs搭建個人git服務器

一、購買阿里雲服務器

阿里雲有針對在校學生的學生專享套餐(雲翼計劃),最少只需要114元,即可購買一年的服務器。在這裏插入圖片描述

操作步驟:

1、註冊阿里雲賬號

2、完成學生認證(可用支付寶登錄,迅速完成實名和學生認證)

3、購買學生優享套餐: 雲翼計劃網址

4、根據指引創建實例,設置Linux系統的賬戶,重置密碼後牢記。

5、進入阿里雲“控制檯”,可以看到自己的運行實例、公網IP等內容。

6、使用遠程連接工具(xshell等),登錄管理自己的實例。

二、下載Gogs

Gogs官網

Gogs Linux 64位 下載地址

1、 使用xshell等遠程連接工具登錄阿里雲服務器

]

2、安裝git

cd ~
yum -y install git

注意:yum是centos下的包下載工具,如果用的是ubantu版本的Linux系統,使用命令apt-get install git

使用yum命令安裝,git被安裝在/usr/libexec/git-core目錄下。

apt-get 和 yum的異同

Linux系統分爲兩種:

  • RedHat系列:Redhat、Centos、Fedora
  • Debian系列:Debian、Ubuntu等

apt-get和yum都是包管理工具,RedHat系列的包管理工具是yum,Debian系列的包管理工具是apt-get。

3、下載Gogs

3.1wget命令下載Gogs二進制安裝包(也可以安裝go語言,自己編譯源代碼)
wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
3.2 等待下載完成後,執行以下命令解壓gogs(會被解壓到當前路徑下gogs文件夾裏):
tar -xvf gogs_0.11.91_linux_amd64.tar.gz
3.3 創建保存用戶數據的目錄
cd ./gogs
mkdir data
mkdir log
mkdir gogs-repositories

在這裏插入圖片描述

3.4、在gogs目錄下,運行Gogs
./gogs web  //gogs服務啓動命令
3.5、阿里雲公網ip和默認端口號3000,在瀏覽器訪問公網ip:3000,進入到”首次運行安裝程序“。

在這裏插入圖片描述

注意:如果沒有設置阿里雲安全組,此處訪問會失敗。因爲3000端口沒有開發,需要設置安全組,開放3000端口。

參考博客:如何爲阿里雲ECS開放安全組端口

3.6 數據庫設置

數據庫類型可以任意選擇,其中的SQLite3是gogs內置的,不用安裝,如果個人使用,可以選擇這個。

如果選擇MySQL,則需要提前下載安裝。

數據庫文件保存路徑,填寫前面創建的data文件夾的絕對路徑:/root/gogs/data/gogs.db

3.7、應用基本設置
  • 應用名稱:起個自己喜歡的
  • 倉庫根目錄:前面創建的gogs-repositories的絕對路徑:/root/gogs/gogs-repositories
  • 運行系統用戶:root
  • 域名:公網ip
  • ssh端口號:默認
  • HTTP端口號:默認
  • 應用URL:HTTP:// 公網ip //
  • 日誌路徑:前面創建的log文件夾的絕對路徑:/root/gogs/log
3.8、管理員賬號設置

用戶名和密碼就是你今後登錄Gogs時候的賬號,務必牢記。

所有設置完成後,點擊安裝即可。

4、後臺運行gogs

當你僅完成 3 的時候,就可以通過 ip:3000 正常訪問gogs,使用管理員賬號登錄後進入gogs首頁。但是,當你關閉xshell等遠程連接程序的時候,發現gogs無法訪問了。我們通過./gogs web 命令,無法使服務後臺運行。

使用一下命令,後臺運行gogs:

nohup ./gogs web &

5、創建倉庫,Git clone到本地,再push到遠程

5.1 Gogs創建個人倉庫

在這裏插入圖片描述

注意一:勾選“該倉庫爲私有的”,則無法拉入團隊的其他人進行協作。

注意二:勾選“使用選定的文件和模塊初始化倉庫”,系統會幫助我們新建一個README.md文件。

在這裏插入圖片描述

右上角有一個HTTP的鏈接,該鏈接就是此倉庫的地址。

5.2 git clone 該倉庫到本地
git init
git clone 倉庫地址

修改或者增加文件後,add、commit之後,需要將本地的文件push到遠程,此時會出現彈框,要求輸入遠程服務器的用戶名和密碼。

如果用戶名或者密碼輸入錯誤,push就會失敗報錯:
在這裏插入圖片描述

其中的401錯誤是權限不夠,可能是對於倉庫只有讀權利,沒有寫權利,而我們是管理員,肯定是具有讀寫權限的,所以問題就出現在用戶名和密碼填寫有誤。

解決方案:

git config --system --unset credential.helper
git push --set-upstream origin master

6、創建倉庫後自動生成的倉庫鏈接有問題?

如果你在“首次運行安裝程序”中的設置和上文保持一致,應該不會出錯。

當出現地址爲:HTTP://127.0.0.1:3000/……之類的問題時,可以通過修改/gogs/custom/conf/app.ini文件修正。
在這裏插入圖片描述
將文件中[server]塊中的domain改爲阿里雲公網ip,端口號改爲3000即可。

修改完成之後,需要重新啓動gogs服務。

1、殺死原來的gogs服務進程(關閉服務)
lsof -i:3000 //查看端口3000的進程ID。如果顯示lsof命令不存在,則使用 yum install lsof 命令安裝lsof後進行操作
kill -9 進程PID //殺死進程。

注意:如果顯示lsof命令不存在,則使用 yum install lsof 命令安裝lsof後進行操作

2、重新啓動服務

進到gogs根目錄,執行命令./gogs web即可。也可執行命令nohup ./gogs web讓程序在後臺運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章