成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Ubuntu安裝Go語言編寫的Git服務器Gogs

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

[[221024]]

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

在本教程中,我們將使用 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 命令:

  1. sudo apt update
  2. sudo apt upgrade

 

步驟 2 - 安裝和配置 PostgreSQL

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

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

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

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

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

  1. systemctl start postgresql
  2. systemctl enable postgresql

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

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

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

  1. su - postgres
  2. psql

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

  1. CREATE USER git CREATEDB;
  2. \password git

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

  1. CREATE DATABASE gogs_production OWNER git;

創建 Gogs 數據庫

創建 Gogs 數據庫

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

 

步驟 3 - 安裝 Go 和 Git

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

  1. sudo apt install git

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

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

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

  1. su - git
  2. mkdir -p /home/git/local

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

  1. cd ~/local
  2. wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

安裝 Go 和 Git

安裝 Go 和 Git

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

  1. tar -xf go1.9.2.linux-amd64.tar.gz
  2. rm -f go1.9.2.linux-amd64.tar.gz

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

執行下方的命令。

  1. cd ~/
  2. echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
  3. echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
  4. echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc

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

  1. source ~/.bashrc

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

安裝 Go 編程語言

安裝 Go 編程語言

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

  1. go version

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

檢查 go 版本

檢查 go 版本

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

 

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

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

  1. su - git
  2. go get -u github.com/gogits/gogs

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

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

  1. cd $GOPATH/src/github.com/gogits/gogs
  2. go build

確保您沒有遇到錯誤。

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

  1. ./gogs web

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

安裝 Gogs Go Git 服務

安裝 Gogs Go Git 服務

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

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

Gogs 網頁服務器

Gogs 網頁服務器

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

 

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

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

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

  1. cd $GOPATH/src/github.com/gogits/gogs
  2. mkdir -p custom/conf/

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

  1. cp conf/app.ini custom/conf/app.ini
  2. vim custom/conf/app.ini

[server] 小節中,修改 HOST_ADDR127.0.0.1

  1. [server]
  2. PROTOCOL = http
  3. DOMAIN = localhost
  4. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  5. HTTP_ADDR = 127.0.0.1
  6. HTTP_PORT = 3000

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

  1. [database]
  2. DB_TYPE = postgres
  3. HOST = 127.0.0.1:5432
  4. NAME = gogs_production
  5. USER = git
  6. PASSWD = aqwe123@#

保存并退出。

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

  1. ./gogs web

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

配置服務器

配置服務器

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

 

步驟 6 - 運行 Gogs 服務器

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

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

  1. cd /etc/systemd/system
  2. vim gogs.service

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

  1. [Unit]
  2. Description=Gogs
  3. After=syslog.target
  4. After=network.target
  5. After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
  6.  
  7. [Service]
  8. # Modify these two values and uncomment them if you have
  9. # repos with lots of files and get an HTTP error 500 because
  10. # of that
  11. ###
  12. #LimitMEMLOCK=infinity
  13. #LimitNOFILE=65535
  14. Type=simple
  15. User=git
  16. Group=git
  17. WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
  18. ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
  19. Restart=always
  20. Environment=USER=git HOME=/home/git
  21.  
  22. [Install]
  23. WantedBy=multi-user.target

之后保存并且退出。

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

  1. systemctl daemon-reload

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

  1. systemctl start gogs
  2. systemctl enable gogs

運行 Gogs 服務器

運行 Gogs 服務器

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

使用下面的命令檢測:

  1. netstat -plntu
  2. systemctl status gogs

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

Gogs is listening on the network interface

Gogs is listening on the network interface

 

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

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

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

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

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

  1. sudo apt update
  2. sudo apt install nginx -y

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

  1. cd /etc/nginx/sites-available
  2. vim gogs

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

  1. server {
  2.     listen 80;
  3.     server_name git.hakase-labs.co;
  4.  
  5.     location / {
  6.         proxy_pass http://localhost:3000;
  7.     }
  8. }

保存退出。

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

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

  1. ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
  2. nginx -t

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

  1. systemctl restart nginx

安裝和配置 Nginx 反向代理

安裝和配置 Nginx 反向代理

 

步驟 8 - 測試

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

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

Gogs 安裝

Gogs 安裝

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

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

鍵入 gogs 安裝設置

鍵入 gogs 安裝設置

之后點擊 “Install Gogs” 按鈕。

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

Gogs 面板

Gogs 面板

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

瀏覽 Gogs 面板

瀏覽 Gogs 面板

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

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-11-03 10:37:01

樹莓派UbuntuLinux

2021-02-05 05:29:51

服務器GitGogs

2013-07-29 13:49:23

UbuntuLAMP服務器

2017-03-30 17:02:13

UbuntuDebianDHCP

2017-03-17 14:05:48

LinuxUbuntuFTP服務器

2021-05-20 13:30:39

UbuntuGUI系統運維

2021-03-09 00:05:40

服務器GiteaGogs

2019-01-02 13:11:53

GO語言緩存

2022-08-24 08:33:27

Git系統Linux

2015-11-09 13:23:49

PXEUbuntu 14.0Linux

2010-01-04 13:26:51

Ubuntu安裝

2011-01-21 09:54:44

LinuxSendmail

2020-03-02 18:16:12

FedoraLinuxMongoDB

2010-05-18 14:25:11

IIS服務器

2017-01-05 13:34:42

LinuxUbuntu郵件服務器

2011-08-29 14:20:00

Ubuntusamba

2016-12-29 10:52:09

LinuxUbuntu郵件服務器

2017-01-09 08:59:17

Ubuntu郵件服務器

2018-12-11 10:43:09

Go語言 HTTP服務器

2010-01-05 16:14:54

Ubuntu mysq
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品99久久久大便 | 一区二区三区播放 | 国产精品久久久久久久久久免费看 | 一区观看 | 久久久精品视频免费看 | 亚洲福利在线观看 | 国产1区在线 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 女人夜夜春 | 国产精品成人一区二区 | 91aiai| 免费三级av| 久久国产精彩视频 | 国产精品一区视频 | 国产成人高清 | 99色综合| 在线观看av网站永久 | 久久久成人动漫 | 国产精品一区二区无线 | 亚洲第一天堂 | 中文字幕精品一区二区三区精品 | 91av免费观看 | 国产成人福利 | 久久久精品视频免费 | 欧美精品一区二区在线观看 | 国产精品久久久久久久久久久久午夜片 | 在线视频h | 欧美xxxx黑人又粗又长 | 欧美成人精品一区二区男人看 | 一区二区三区欧美 | 久久久久九九九九 | 国产一区二区三区 | 五月天激情综合网 | 日韩精品专区在线影院重磅 | www.久久久 | 婷婷久久综合 | 国产激情在线看 | 国产日韩欧美在线观看 | 香蕉久久a毛片 | 黄色大片在线视频 | 欧美视频二区 |