GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04にGogsGoGitサービスをインストールする方法

Gogsは、Go言語で記述された無料のオープンソースGitサービスです。 Gogsは、最小限のハードウェアサーバーで独自のGitサーバーを作成して実行できる、簡単な自己ホスト型gitサービスです。 Gogs web-UIはGitHubと非常によく似ており、MySQL、PostgreSQL、およびSQLiteデータベースのサポートを提供します。

このチュートリアルでは、Ubuntu16.04でGogsを使用して独自のGitサービスをインストールおよび構成する方法を段階的に説明します。このチュートリアルでは、UbuntuシステムにGoをインストールする方法、PostgreSQLをインストールする方法、GoアプリケーションのリバースプロキシとしてNginxWebサーバーをインストールして構成する方法などの詳細について説明します。

前提条件
  • Ubuntu 16.04
  • root権限
何をするか
  1. システムの更新とアップグレード
  2. PostgreSQLのインストールと構成
  3. GoとGitをインストールする
  4. ゴグをインストールする
  5. ゴグを構成する
  6. サービスとしてのGogsの実行
  7. Nginxをリバースプロキシとしてインストールして構成する
  8. テスト
ステップ1-システムの更新とアップグレード

先に進む前に、すべてのUbuntuリポジトリを更新し、すべてのパッケージをアップグレードしてください。

以下のaptコマンドを実行します。

sudo apt update
sudo apt upgrade
ステップ2-PostgreSQLのインストールと構成

Gogsは、MySQL、PostgreSQL、SQLite3、MSSQL、およびTiDBデータベースシステムのサポートを提供します。

このガイドでは、GogsインストールのデータベースとしてPostgreSQLを使用します。

以下のaptコマンドを使用してPostgreSQLをインストールします。

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

インストールが完了したら、PostgreSQLサービスを開始し、システムの起動時に毎回起動できるようにします。

systemctl start postgresql
systemctl enable postgresql

PostgreSQLデータベースがUbuntuシステムにインストールされています。

次に、Gogs用の新しいデータベースとユーザーを作成する必要があります。

'postgres'ユーザーとしてログインし、'psql'コマンドを実行してPostgreSQLシェルを取得します。

su - postgres
psql

「git」という名前の新しいユーザーを作成し、「CREATEDB」のユーザー権限を付与します。

CREATE USER git CREATEDB;
\password git

'gogs_production'という名前のデータベースを作成し、'git'ユーザーをデータベースの所有者として設定します。

CREATE DATABASE gogs_production OWNER git;

Gogsインストール用の新しいPostgreSQLデータベース「gogs_production」とユーザー「git」が作成されました。

ステップ3-GoとGitをインストールする

以下のaptコマンドを使用してリポジトリからGitをインストールします。

sudo apt install git

次に、新しいユーザー「git」をシステムに追加します。

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

'git'ユーザーとしてログインし、新しい'local'ディレクトリを作成します。

su - git
mkdir -p /home/git/local

'local'ディレクトリに移動し、以下に示すようにwgetコマンドを使用して' Go'(最新バージョン)をダウンロードします。

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

go圧縮ファイルを抽出して、削除します。

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

「Go」バイナリファイルが「〜/ local/go」ディレクトリにダウンロードされました。次に、環境をセットアップする必要があります。システムで「git」ユーザーの下で「go」コマンドを実行できるように、「GOROOT」および「GOPATHディレクトリ」を定義する必要があります。

次のすべてのコマンドを実行します。

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

次に示すように、「source〜/.bashrc」コマンドを実行してBashをリロードします。

source ~/.bashrc

デフォルトのシェルとしてBashを使用していることを確認してください。

次に、「go」コマンドを実行してバージョンを確認します。

go version

そして、次のスクリーンショットに示すような結果が得られることを確認してください。

これで、Goがシステムの「git」ユーザーの下にインストールされました。

ステップ4-GogsGoGitサービスをインストールする

「git」ユーザーとしてログインし、「go」コマンドを使用してGitHubから「Gogs」をダウンロードします。

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

このコマンドは、「GOPATH/src」ディレクトリにあるすべてのGogsソースコードをダウンロードします。

'$ GOPATH / src / github.com / gogits / gogs'ディレクトリに移動し、以下のコマンドを使用してgogsをビルドします。

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

そして、エラーが発生しないことを確認してください。

次に、以下のコマンドを使用してGogs GoGitServiceを実行します。

./gogs web

このコマンドは、デフォルトのポート3000でGogsを実行します。

Webブラウザーを開き、ポート3000でサーバーのIPアドレスを入力します。私のアドレスはhttp://192.168.33.10:3000/

です。

そして、以下のような結果が得られるはずです。

GogsはUbuntuシステムにインストールされています。ここでターミナルに戻り、「Ctrl+c」を押して終了します。

ステップ5-GogsGoGitサービスを構成する

このステップでは、Gogsのカスタム構成を作成します。

Gogsインストールディレクトリに移動し、新しい「custom/conf」ディレクトリを作成します。

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

デフォルト設定をカスタムディレクトリにコピーし、vimを使用して編集します。

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

'[サーバー] 'セクションで、サーバー'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]
DB_TYPE = postgres
HOST = 127.0.0.1:5432
NAME = gogs_production
USER = git
PASSWD = [email protected]#

保存して終了します。

次に、以下に示すようにコマンドを実行して構成を確認します。

./gogs web

そして、次のような結果が得られることを確認してください。

Gogsは、ポート3000の「localhost」の下でカスタム構成で実行されています。

ステップ6-サービスとしてのGogsの実行

このステップでは、UbuntuシステムでGogsをサービスとして構成します。 '/ etc / systemd/system'ディレクトリの下に新しいサービスファイル構成'gogs.service'を作成します。

'/ etc / systemd / system'ディレクトリに移動し、vimエディタを使用して新しいサービスファイル'gogs.service'を作成します。

cd /etc/systemd/system
vim gogs.service

次のgogsサービス構成をそこに貼り付けます。

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=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=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

保存して終了します。

次に、systemdサービスをリロードします。

systemctl daemon-reload

gogsサービスを開始し、systemctlコマンドを使用してシステムの起動時に毎回起動できるようにします。

systemctl start gogs
systemctl enable gogs

Gogsは現在Ubuntuシステムでサービスとして実行されています。

以下のコマンドを使用して確認してください。

netstat -plntu
systemctl status gogs

そして、以下のような結果が得られるはずです。

ステップ7-NginxをGogsのリバースプロキシとして構成する

このステップでは、NginxをGogsのリバースプロキシとして構成します。独自のリポジトリからのNginxパッケージを使用します。

add-aptコマンドを使用してNginxリポジトリを追加します。

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

次に、すべてのUbuntuリポジトリを更新し、以下のaptコマンドを使用してNginxをインストールします。

sudo apt update
sudo apt install nginx -y

次に、「/ etc / nginx / sites-available」ディレクトリに移動し、新しい仮想ホストファイル「gogs」を作成します。

cd /etc/nginx/sites-available
vim 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

ステップ8-テスト

ウェブブラウザを開き、gogsのURLを入力します。私のものはhttp://git.hakase-labs.co

これで、インストールページが表示されます。ページの上部に、PostgreSQLデータベース情報をすべて入力します。

次に、一番下までスクロールして、[管理者アカウントの設定]ドロップダウンをクリックします。

管理者ユーザー、パスワード、メールアドレスを入力してください。

次に、[ゴグのインストール]ボタンをクリックします。

そして、以下に示すように、Gogsユーザーダッシュボードにリダイレクトされます。

以下はGogsの「管理ダッシュボード」です。

Gogsは、Ubuntu16.04サーバーにPostgreSQLデータベースとNginxWebサーバーとともにインストールされます


Ubuntu
  1. Ubuntu 18.04/20.04にGitをインストールする方法

  2. Ubuntu20.04にPostgreSQL9.6をインストールする方法

  3. ubuntu 16.04にgitをインストールする方法

  1. Ubuntu18.04にPostgreSQLをインストールする方法

  2. Ubuntu18.04にNginxをインストールする方法

  3. Ubuntu18.04にGitをインストールする方法

  1. Ubuntu18.04にGogsをインストールして構成する方法

  2. Ubuntu20.04にGitをインストールする方法

  3. Ubuntu20.04にPostgreSQLをインストールする方法