1. 程式人生 > 實用技巧 >CentOS 7安裝Gogs程式碼倉庫

CentOS 7安裝Gogs程式碼倉庫

1、準備環境

1. MySQL
2. Gogs二進位制包
3. git
4. git使用者
5. nginx
6. 域名
7. ssl證書

1.1 建立gogs使用者和對應的資料庫並授權

create database `gogs` character set utf8 collate utf8_general_ci;

create user 'gogs'@'localhost' identified by '密碼';
create user 'gogs'@'127.0.0.1' identified by '密碼';
grant all privileges on gogs.* to 'gogs'@'localhost';
grant all privileges on gogs.* to 'gogs'@'127.0.0.1';
flush privileges;

1.2 下載Gogs二進位制包

wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz

1.3 安裝git

yum install git -y

1.4 新增git使用者

useradd git
echo "密碼"|sdtin passwd git

1.5 安裝nginx

yum install nginx -y

2、安裝Gogs

2.1 切換到git使用者

su - git

2.2 安裝配置Gogs

# 將安裝包移動到git家目錄
cp /root/gogs_0.11.91_linux_amd64.tar.gz /home/git

# 解壓安裝包
tar xf gogs_0.11.91_linux_amd64.tar.gz
cd gogs/

# 開始安裝
./gogs web

2.3 瀏覽器上配置

瀏覽器開啟http://server_ip:3000開始配置:

如上圖,根據實際情況進行填寫,ssh埠我這裡改成了2222是為了避免和sshd服務的埠衝突。

確認之後點選立即安裝即可,如果有報錯,根據報錯資訊進行修改之後再次點選立即安裝即可。

2.4 註冊使用者

建議安裝完成之後直接到首頁選擇註冊使用者,因為之前沒有建立管理員並且預設第一個註冊的使用者就是管理員。

選擇右上角的註冊:

填寫好資訊之後點選建立使用者。馬上就會跳轉到登入介面:

登入之後進入首頁:

![image-20200719111719135](/Users/staryjie/Library/Application Support/typora-user-images/image-20200719111719135.png)

至此,安裝完成!使用方法與GitLab和GitHub相差不大。

3、其他配置

3.1 開啟Gogs的ssh連線

# 將app.ini中START_SSH_SERVER改為true即可,埠建議改成其他不和sshd服務衝突的埠。
sed -i.bak 's#START_SSH_SERVER = false#START_SSH_SERVER = true#g' /home/git/gogs/custom/conf/app.ini

3.2 使用nginx代理

cat /etc/nginx/conf.d/gogs.conf
server {
    server_name 域名或IP;
    listen 80; #或者443,如果你使用 HTTPS 的話
    # ssl on; 是否啟用加密連線
    # 如果你使用HTTPS,還需要填寫ssl_certificate和ssl_certificate_key
 
    location / { #如果你希望通過子路徑訪問,此處修改為子路徑,注意以/開頭和結束
        proxy_pass http://127.0.0.1:3000/;
    }
}

語法檢查過載配置檔案

nginx -t
systemctl reload nginx.service

3.4 域名解析

在對應域名供應商的DNS解析頁面新增相應的A記錄即可(要和gogs.conf中的配置對應)。

3.5 ssl證書

有多種方法實現:

  • 付費的
  • 免費的
3.5.1 付費的ssl證書

去對應的ssl代理商購買,比如阿里雲、騰訊雲、又拍雲等等。

3.5.2 免費的ssl證書
  • 阿里雲、騰訊雲、又拍雲等代理商提供一個使用者限定個數的免費單域名ssl證書
  • 通過各種工具獲取免費的ssl證書,例如 certbot之類的

4、檢視效果