亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

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 系統上安裝完畢?,F在返回到您的終端,并且鍵入 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 上完成安裝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91最新在线免费观看| 久久精品亚洲一区| 欧美亚州一区二区三区| 欧美成人激情图片网| 亚洲bt欧美bt日本bt| 日韩黄色在线免费观看| 成人免费视频a| 麻豆精品精华液| 久久久精品免费| 国产人妖伪娘一区91| 一个人www欧美| 日韩电影在线观看永久视频免费网站| 亚洲视频网站在线观看| 日韩精品在线免费观看视频| 亚洲国产成人久久| 人人澡人人澡人人看欧美| 国产精国产精品| 中文字幕亚洲一区| 色婷婷成人综合| 国产成人精彩在线视频九色| 8x海外华人永久免费日韩内陆视频| 欧美黑人一级爽快片淫片高清| 国产精品第一页在线| 国产亚洲激情视频在线| 亚洲精品一区二区在线| 亚洲国产91色在线| 国产亚洲精品综合一区91| 久久久久久久色| 日韩精品福利网站| 久久中文字幕视频| 欧美极品美女视频网站在线观看免费| 欧美成人激情视频免费观看| 91亚洲精品久久久久久久久久久久| 欧美激情第一页xxx| 69av视频在线播放| 久久在精品线影院精品国产| 911国产网站尤物在线观看| 亚洲护士老师的毛茸茸最新章节| 91国产在线精品| 亚洲成人网在线| 45www国产精品网站| 日韩黄色av网站| 日韩在线视频观看正片免费网站| 国产成人一区二| 日韩欧美aaa| 日韩欧美极品在线观看| 欧洲永久精品大片ww免费漫画| 亚洲性视频网址| 亚洲欧美资源在线| 国产精品久久久久av免费| 最近2019中文免费高清视频观看www99| 亚洲精品电影在线| 日韩欧美第一页| 久久青草精品视频免费观看| 国产精品嫩草影院久久久| 欧美激情久久久久久| 国产免费观看久久黄| 精品国产户外野外| 久久久久久久久国产精品| 久久久国产精彩视频美女艺术照福利| 亚洲999一在线观看www| 欧美日韩一区二区三区| 久久久久久18| 欧美丝袜美女中出在线| 日本韩国在线不卡| 亚洲欧洲日产国产网站| 亚洲精品网站在线播放gif| 国产精品国产福利国产秒拍| 91精品久久久久久久久久另类| 久久久久国产精品一区| 国产精品扒开腿做爽爽爽男男| 日韩美女免费视频| 伊人伊成久久人综合网站| 中文字幕在线观看亚洲| 日韩欧美精品在线观看| 91精品视频专区| 国产福利精品在线| 欧美午夜精品在线| 欧美精品日韩www.p站| 久久久亚洲影院你懂的| 最近免费中文字幕视频2019| 国产精品永久免费| 欧美日韩国产成人在线观看| 秋霞成人午夜鲁丝一区二区三区| 成人国产精品免费视频| 久久精品国产视频| 国产精品青草久久久久福利99| 黑丝美女久久久| 黑人精品xxx一区一二区| 久久露脸国产精品| 欧美一区视频在线| 91高清视频在线免费观看| 色琪琪综合男人的天堂aⅴ视频| 免费av一区二区| 国产婷婷成人久久av免费高清| 日韩成人av网| 疯狂欧美牲乱大交777| 91香蕉嫩草神马影院在线观看| 国产日本欧美一区二区三区| 最近2019免费中文字幕视频三| 亚洲国产成人精品久久| 色综合久久悠悠| 欧美大荫蒂xxx| 日韩在线视频播放| 5566日本婷婷色中文字幕97| 国产精品91久久久| 亚洲成人激情视频| 久久黄色av网站| 91精品视频网站| 国色天香2019中文字幕在线观看| 美女国内精品自产拍在线播放| 久久精品99国产精品酒店日本| 欧美黑人视频一区| 日韩国产欧美区| 成人久久一区二区三区| 日本免费久久高清视频| 日韩有码在线电影| 国产精品美女www| 久久人人爽人人| 清纯唯美亚洲激情| 久久不射热爱视频精品| 福利二区91精品bt7086| 欧美电影免费观看高清完整| 91免费看片在线| 一区二区欧美日韩视频| 亚洲免费中文字幕| 欧美理论片在线观看| 成人a视频在线观看| 91久久久国产精品| 国产欧美一区二区三区在线看| 国产一区二区三区在线视频| 欧美激情第6页| 日韩精品福利网站| 日韩视频在线免费| 亚洲国产成人精品久久久国产成人一区| 日韩精品中文字幕久久臀| 欧美日韩免费在线| 在线观看亚洲视频| 亚洲精品视频播放| 亚洲日韩第一页| www.xxxx欧美| 日本一区二三区好的精华液| 成人国产亚洲精品a区天堂华泰| 久久精品最新地址| 国产精品丝袜视频| 久久久久久久久亚洲| 7777免费精品视频| 亚洲码在线观看| 亚洲欧美国产高清va在线播| 91美女高潮出水| 一本大道久久加勒比香蕉| 精品香蕉在线观看视频一| 日韩精品中文字幕有码专区| 国产玖玖精品视频| 亚洲国产精品国自产拍av秋霞| www国产精品com| 欧美激情国产精品| 久久人人爽亚洲精品天堂| 欧美精品免费播放| 国产91久久婷婷一区二区| 中文亚洲视频在线| 久久在精品线影院精品国产| 日韩av综合中文字幕| 亚洲精品www|