Centos7安裝Gogs詳細版


最近准備搭建自己git倉庫,比較了一下gitlab-ce和gogs,發現gogs是一個很好的選擇,對於我這種 1H2G的用戶來說,但是在安裝還是遇到一些問題的,對於不是很熟悉linux的用戶來說。下面就我遇到的問題總結一下並分享給大家。這里是采用二進制安裝

為gogs建立一個系統賬戶

在gogs官方有介紹,不建議直接使用root賬戶運行,這樣風險太高了,平時我們發布應用也不建議這樣。

1
sudo useradd git

 

添加完用戶后,還需要做一個配置,不然的后在后面操作還會遇到問題,官網文檔中只是提到創建用戶,但是給用戶的文件夾分配權限啊等問題沒有提到,當然官方不可能寫的這么詳細,他們假設看文檔的人都是有linux基礎的,這個就得我們自己腦補了。

添加用戶后需要修改一下/etc/sudoers在文件以下位置加入

1
2
3
## Allow root to run any commands anywhere 
root ALL=(ALL) ALL # 這個是系統原有的
git ALL=(ALL) NOPASSWD:ALL

 

NOPASSWD:ALL 表示執行sudo不需要用戶密碼

修改/etc/sudoers文件前需要把它改為可讀寫狀態,不然編輯了無法保存,該文件默認是只讀。

1
2
chmod u+w /etc/sudoers 改為讀寫
chmod u-w /etc/sudoers 只讀

 

編輯完成后,建議把/etc/sudoers改為只讀狀態

給用戶分配權限

su git 切換為git用戶,我操作的時候發現切換為git用戶,默認的home 屬於root 組及root用戶,git用戶沒有操作權限,這個時候我們就需要把home改為git及對應的組

1
chown git:git /home/git/**

 

安裝基礎環境

這里需要安裝一下nginxgitnginx主要是用來代理請求,大家都不希望直接裸奔提供服務吧。

1
2
3
sudo yum install git

sudo yum install nginx

下載安裝包並安裝

根據自己的linux系統版本下載對應gogs安裝包, 然后使用 tar xvf 解壓對應的目錄,例如:

1
sudo tar xvf gogs_0.11.86_linux_amd64.tar.gz -C /home/git/

 

這里建議把文件解壓到git用戶的home里面,因為gogs里面很多的配置都是放在git用戶的home里面,這樣可以減少我們修改的成本。

解壓完成后,建議創建目錄及文件custom/conf/app.ini,custom屬於gogs文件的子目錄。

1
touch -c custom/conf/app.ini # 使用該命令即可

 

官方有解釋為什么要創建這樣一個目錄及配置文件,這個配置文件是讓我們修改默認配置而建立的。因為不建議直接修改原配置文件。具體的配置模板見GitHub app.ini

配置完成后我們可以在gogs目錄下執行 ./gogs web,看到以下信息就可以經行安裝了,但是建議這樣啟動,因為命令行一關閉,gogs服務就停止了,官方已經給出了很多的守護線程執行腳本,在scripts文件夾下

1
2
3
4
5
6
7
8
9
10
[git@VM_1_2_centos gogs]$ ./gogs web
2019/04/03 17:42:39 [TRACE] Custom path: /home/git/gogs/custom
2019/04/03 17:42:39 [TRACE] Log path: /home/git/gogs/log
2019/04/03 17:42:39 [TRACE] Log Mode: Console (Trace)
2019/04/03 17:42:39 [ INFO] Gogs 0.11.86.0130
2019/04/03 17:42:39 [ INFO] Cache Service Enabled
2019/04/03 17:42:39 [ INFO] Session Service Enabled
2019/04/03 17:42:39 [ INFO] SQLite3 Supported
2019/04/03 17:42:39 [ INFO] Run Mode: Development
2019/04/03 17:42:39 [ INFO] Listen: http://0.0.0.0:8002

 

我這里使用的是Centos7所以就用到scripts/systemd/gogs.service啟動腳本,需要進行以下操作。

1
cp scripts/systemd/gogs.service /etc/systemd/system

 

復制好啟動腳本后,就執行它

1
sudo systemctl start gogs.service # 啟動服務

 

如果需要開機啟動話執行:

1
sudo systemctl enable gogs.service

 

查看服務運行狀態

1
sudo systemctl status gogs.service

 

啟動成功后會看到以下信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
● gogs.service - Gogs
Loaded: loaded (/etc/systemd/system/gogs.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2019-04-03 17:49:14 CST; 5s ago
Main PID: 32650 (gogs)
CGroup: /system.slice/gogs.service
└─32650 /home/git/gogs/gogs web

Apr 03 17:49:14 VM_1_2_centos systemd[1]: Started Gogs.
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [TRACE] Custom path: /home/git/gogs/custom
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [TRACE] Log path: /home/git/gogs/log
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [TRACE] Log Mode: Console (Trace)
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [ INFO] Gogs 0.11.86.0130
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [ INFO] Cache Service Enabled
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [ INFO] Session Service Enabled
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [ INFO] SQLite3 Supported
Apr 03 17:49:14 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:14 [ INFO] Run Mode: Development
Apr 03 17:49:15 VM_1_2_centos gogs[32650]: 2019/04/03 17:49:15 [ INFO] Listen: http://0.0.0.0:8002

 

失敗的話也會有對應的信息。
打開瀏覽器輸入服務器的地址加端口號即可進行安裝例如:127.0.0.1:8002,我這里是修改為了8002,默認端口是3000,啟動會有輸出的。

在瀏覽器中看到以下信息則說明可以進行安裝了,這里就不在演示如何配置了,大家根據自己的需求來。
image

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM