麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > 管理維護 > 正文

Gogs 是一款無痛式自托管的 Git 服務器

2024-09-10 14:20:36
字體:
來源:轉載
供稿:網友

如何在Ubuntu安裝Go語言編寫的Git服務器Gogs。Gogs 是由 Go 語言編寫的,自由開源的 Git 服務。Gogs 是一款無痛式自托管的 Git 服務器,能在盡可能小的硬件資源開銷上搭建并運行您的私有 Git 服務器。Gogs 的網頁界面和 GitHub 十分相近,且提供 MySQL、PostgreSQL 和 SQLite 數據庫支持。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

在本教程中,我們將使用 Gogs 在 Ununtu 16.04 上按步驟指導您安裝和配置您的私有 Git 服務器。這篇教程中涵蓋了如何在 Ubuntu 上安裝 Go 語言、PostgreSQL 和安裝并且配置 Nginx 網頁服務器作為 Go 應用的反向代理的細節內容。

搭建環境

  • Ubuntu 16.04

  • Root 權限

我們將會接觸到的事物

  1. 更新和升級系統

  2. 安裝和配置 PostgreSQL

  3. 安裝 Go 和 Git

  4. 安裝 Gogs

  5. 配置 Gogs

  6. 運行 Gogs 服務器

  7. 安裝和配置 Nginx 反向代理

  8. 測試

步驟 1 - 更新和升級系統

繼續之前,更新 Ubuntu 所有的庫,升級所有包。

運行下面的 apt命令:

sudo apt updatesudo apt upgrade

步驟 2 - 安裝和配置 PostgreSQL

Gogs 提供 MySQL、PostgreSQL、SQLite 和 TiDB 數據庫系統支持。

此步驟中,我們將使用 PostgreSQL 作為 Gogs 程序的數據庫。

使用下面的 apt命令安裝 PostgreSQL。

sudo apt install -y postgresql postgresql-client libpq-dev

安裝完成之后,啟動 PostgreSQL 服務并設置為開機啟動。

systemctl start postgresqlsystemctl enable postgresql

此時 PostgreSQL 數據庫在 Ubuntu 系統上完成安裝了。

之后,我們需要為 Gogs 創建數據庫和用戶。

使用 postgres用戶登錄并運行 psql命令以訪問 PostgreSQL 操作界面。

su - postgrespsql

創建一個名為 git的新用戶,給予此用戶 CREATEDB權限。

CREATE USER git CREATEDB;/password git

創建名為 gogs_production的數據庫,設置 git用戶作為其所有者。

C REATE D ATABASE g ogs_production OWNER git;

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

創建 Gogs 數據庫

用于 Gogs 的 gogs_productionPostgreSQL 數據庫和 git用戶已經創建完畢。

步驟 3 - 安裝 Go 和 Git

使用下面的 apt命令從庫中安裝 Git。

sudo apt install git

此時,為系統創建名為 git的新用戶。

sudo adduser --disabled-login --gecos 'Gogs' git

登錄 git賬戶并且創建名為 local的目錄。

su - gitmkdir -p /home/git/local

切換到 local目錄,依照下方所展示的內容,使用 wget命令下載 Go(最新版)。

cd ~/localwget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

安裝 Go 和 Git

解壓并且刪除 go 的壓縮文件。

tar -xf go1.9.2.linux-amd64.tar.gzrm -f go1.9.2.linux-amd64.tar.gz

Go 二進制文件已經被下載到 ~/local/go目錄。此時我們需要設置環境變量 - 設置 GOROOT和 GOPATH目錄到系統環境,這樣,我們就可以在 git用戶下執行 go命令。

執行下方的命令。

cd ~/echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrcecho 'export GOPATH=$HOME/go' >> $HOME/.bashrcecho 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc

之后通過運行 source ~/.bashrc重載 Bash,如下:

source ~/.bashrc

確定您使用的 Bash 是默認的 shell。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

安裝 Go 編程語言

現在運行 go的版本查看命令。

go version

之后確保您得到下圖所示的結果。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

檢查 go 版本

現在,Go 已經安裝在系統的 git用戶下了。

步驟 4 - 使用 Gogs 安裝 Git 服務

使用 git用戶登錄并且使用 go命令從 GitHub 下載 Gogs。

su - gitgo get -u github.com/gogits/gogs

此命令將在 GOPATH/src目錄下載 Gogs 的所有源代碼。

切換至 $GOPATH/src/github.com/gogits/gogs目錄,并且使用下列命令搭建 Gogs。

cd $GOPATH/src/github.com/gogits/gogsgo build

確保您沒有遇到錯誤。

現在使用下面的命令運行 Gogs Go Git 服務器。

./gogs web

此命令將會默認運行 Gogs 在 3000 端口上。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

安裝 Gogs Go Git 服務

打開網頁瀏覽器,鍵入您的 IP 地址和端口號,我的是 http://192.168.33.10:3000/。

您應該會得到與下方一致的反饋。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

Gogs 網頁服務器

Gogs 已經在您的 Ubuntu 系統上安裝完畢。現在返回到您的終端,并且鍵入 Ctrl + C中止服務。

步驟 5 - 配置 Gogs Go Git 服務器

本步驟中,我們將為 Gogs 創建慣例配置。

進入 Gogs 安裝目錄并新建 custom/conf目錄。

cd $GOPATH/src/github.com/gogits/gogsmkdir -p custom/conf/

復制默認的配置文件到 custom目錄,并使用 vim修改。

cp conf/app.ini custom/conf/app.inivim custom/conf/app.ini

在 [server]小節中,修改 HOST_ADDR為 127.0.0.1

[server] PROTOCOL = http DOMAIN = localhost ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/ HTTP_ADDR = 127.0.0.1 HTTP_PORT = 3000

在 [database]選項中,按照您的數據庫信息修改。

[database] DB_TYPE = postgres HOST = 127.0.0.1:5432 NAME = gogs_production USER = git PASSWD = aqwe123@#

保存并退出。

運行下面的命令驗證配置項。

./gogs web

并且確保您得到如下的結果。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

配置服務器

Gogs 現在已經按照自定義配置下運行在 localhost的 3000 端口上了。

步驟 6 - 運行 Gogs 服務器

這一步,我們將在 Ubuntu 系統上配置 Gogs 服務器。我們會在 /etc/systemd/system目錄下創建一個新的服務器配置文件 gogs.service

切換到 /etc/systemd/system目錄,使用 vim創建服務器配置文件 gogs.service

cd /etc/systemd/systemvim gogs.service

粘貼下面的代碼到 Gogs 服務器配置文件中。

[Unit]Description=GogsAfter=syslog.targetAfter=network.targetAfter=mariadb.service mysqld.service postgresql.service memcached.service redis.service [Service]# Modify these two values and uncomment them if you have# repos with lots of files and get an HTTP error 500 because# of that####LimitMEMLOCK=infinity#LimitNOFILE=65535Type=simpleUser=gitGroup=gitWorkingDirectory=/home/git/go/src/github.com/gogits/gogsExecStart=/home/git/go/src/github.com/gogits/gogs/gogs webRestart=alwaysEnvironment=USER=git HOME=/home/git [Install]WantedBy=multi-user.target

之后保存并且退出。

現在可以重載系統服務器。

systemctl daemon-reload

使用下面的命令開啟 Gogs 服務器并設置為開機啟動。

systemctl start gogssystemctl enable gogs

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

運行 Gogs 服務器

Gogs 服務器現在已經運行在 Ubuntu 系統上了。

使用下面的命令檢測:

netstat -plntusystemctl status gogs

您應該會得到下圖所示的結果。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

Gogs is listening on the network interface

步驟 7 - 為 Gogs 安裝和配置 Nginx 反向代理

在本步中,我們將為 Gogs 安裝和配置 Nginx 反向代理。我們會在自己的庫中調用 Nginx 包。

使用下面的命令添加 Nginx 庫。

sudo add-apt-repository -y ppa:nginx/stable

此時更新所有的庫并且使用下面的命令安裝 Nginx。

sudo apt updatesudo apt install nginx -y

之后,進入 /etc/nginx/sites-available目錄并且創建虛擬主機文件 gogs

cd /etc/nginx/sites-availablevim gogs

粘貼下面的代碼到配置文件。

server {     listen 80;     server_name git.hakase-labs.co;      location / {         proxy_pass http://localhost:3000;     } }

保存退出。

注意:請使用您的域名修改 server_name項。

現在激活虛擬主機并且測試 nginx 配置。

ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/nginx -t

確保沒有遇到錯誤,重啟 Nginx 服務器。

systemctl restart nginx

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

安裝和配置 Nginx 反向代理

步驟 8 - 測試

打開您的網頁瀏覽器并且輸入您的 Gogs URL,我的是 http://git.hakase-labs.co

現在您將進入安裝界面。在頁面的頂部,輸入您所有的 PostgreSQL 數據庫信息。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

Gogs 安裝

之后,滾動到底部,點擊 “Admin account settings” 下拉選項。

輸入您的管理者用戶名和郵箱。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

鍵入 gogs 安裝設置

之后點擊 “Install Gogs” 按鈕。

然后您將會被重定向到下圖顯示的 Gogs 用戶面板。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

Gogs 面板

下面是 Gogs 的 “Admin Dashboard(管理員面板)”。

Gogs 是一款無痛式自托管的 Git 服務器_www.cuoXin.com

瀏覽 Gogs 面板

現在,Gogs 已經通過 PostgreSQL 數據庫和 Nginx 網頁服務器在您的 Ubuntu 16.04 上完成安裝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: xp123精品视频 | 国产精品一品二区三区四区18 | 久久成人精品视频 | 成人毛片网| 麻豆国产一区 | 激情亚洲一区二区 | 欧美三级日本三级少妇99 | 粉嫩av一区二区三区四区在线观看 | av电影免费观看 | 九九热九九 | chinesexxxx刘婷hd 国产91在线播放九色 | 日本精品久久久一区二区三区 | 欧美wwwwww| 久久久久久久久久久影视 | 国产精品久久久久久久午夜片 | 精品国产亚洲人成在线 | 色人阁在线视频 | 亚洲精品免费播放 | 久久精品国产精品亚洲 | 久久精品久 | 92看片淫黄大片一级 | 中文字幕免费一区 | 毛片视频网址 | 国产手机在线视频 | 91成人免费电影 | 国产一级午夜 | 久久综合综合 | 大学生a级毛片免费视频 | 素人视频在线观看免费 | 日韩av影片在线观看 | 97zyz成人免费视频 | 4p嗯啊巨肉寝室调教男男视频 | 欧美激情性色生活片在线观看 | 国产亚洲综合一区二区 | 国产精品久久久久久久久久三级 | 欧美a黄 | 18pao国产成人免费视频 | 人人舔人人舔 | 久草视频福利在线观看 | 日韩精品中文字幕一区 | 久久综合给合久久狠狠狠97色69 |