アンドロイド

ubuntu 18.04にgogsをインストールして設定する方法

Ubuntu 18.04: What's New?

Ubuntu 18.04: What's New?

目次:

Anonim

Gogsは、Goで記述された自己ホスト型のオープンソースgitサーバーです。 リポジトリファイルエディター、プロジェクトの問題追跡、および組み込みのWikiが含まれています。

Gogsは軽量のアプリケーションであり、低電力システムにインストールできます。 メモリフットプリントがはるかに小さいGitlabの代替を探していて、Gitlabが提供するすべての機能を必要としない場合は、間違いなくGogsを試してください。

このチュートリアルでは、Ubuntu 18.04にGogsをインストールして構成する手順を説明します。 Ubuntu 16.04およびその他のUbuntuベースのディストリビューションにも同じ手順が適用されます。

あなたが始める前に

Gogsは、SQLite、PostgreSQL、またはMySQL / MariaDBデータベースを使用して、すべてのデータを保存できます。

このチュートリアルでは、選択するデータベースとしてSQLiteを使用します。 SQLiteがシステムにインストールされていない場合は、次を入力してインストールできます。

sudo apt install sqlite3

セキュリティの追加レイヤーについては、基本的なファイアウォールをセットアップすることをお勧めします。 Ubuntu 18.04でUFWを使用してファイアウォールをセットアップする方法の手順に従うことができます。

Gogsのインストール

Gogsをバイナリからインストールします。 インストールは非常に簡単なプロセスです。

Gitをインストールする

最初のステップは、サーバーにGitをインストールすることです。 これを行うには、ローカルパッケージインデックスを更新し、sudoユーザーとして次のコマンドを実行してgitパッケージをインストールします。

sudo apt update sudo apt install git

Gitバージョンを表示して、インストールを確認します。

git --version

git version 2.17.1

Gitユーザーを作成する

次のように入力して、Gogsサービスを実行する新しいシステムユーザーを作成します。

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

このコマンドはユーザーを作成し、ホームディレクトリを /home/git ます。 出力は次のようになります。

Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…

Gogsバイナリをダウンロードする

Gogsダウンロードページにアクセスして、ご使用のアーキテクチャの最新のバイナリをダウンロードしてください。 執筆時点で、最新バージョンは0.11.86です。新しいバージョンが利用可能な場合、以下のコマンドで VERSION 変数を変更してください。

次のwgetコマンドを使用して、 /tmp ディレクトリにあるGogsアーカイブをダウンロードします。

VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

ダウンロードが完了したら、Gogs tar.gzファイルを抽出し、 /home/git ディレクトリに移動します。

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

次のコマンドを実行して、Gogsインストールディレクトリの所有権をユーザーおよびグループgitに変更します。

sudo chown -R git: /home/git/gogs

systemdユニットファイルを作成する

Gogsには、セットアップと一致するように既に構成されているSystemdユニットファイルが付属しています。

次のように入力して、ファイルを /etc/systemd/system/ ディレクトリにコピーします。

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

完了したら、Gogsサービスを開始して有効にします。

sudo systemctl start gogs sudo systemctl enable gogs

サービスが正常に開始されたことを確認します。

* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web

Webインストーラーを使用してGogsをインストールする

Gogsがダウンロードされて実行されたので、Webインターフェイスを介してインストールを完了します。

ブラウザを開き、 http://YOUR_DOMAIN_IR_IP:3000 と入力すると、次のような画面が表示されます。

最初に登録されたユーザーは、管理グループに自動的に追加されます。

それでおしまい。 GogsはUbuntuマシンにインストールされています。

NginxをSSL終了プロキシとして構成する

この手順はオプションですが、強くお勧めします。 Nginxをリバースプロキシとして使用するには、サーバーのパブリックIPを指すドメインまたはサブドメインが必要です。 このチュートリアルでは、 gogs.example.com を使用し gogs.example.com

最初に、Nginxをインストールし、以下のガイドに従って無料のLet's Encrypt SSL証明書を生成します。

完了したら、テキストエディターを開き、ドメインサーバーブロックファイルを編集します。

sudo nano /etc/nginx/sites-enabled/gogs.example.com /etc/nginx/sites-enabled/gogs.example.com

server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } } gogs.example.comをGogsドメインに置き換え、SSL証明書ファイルへの正しいパスを設定することを忘れないでください。 すべてのHTTP要求はHTTPSにリダイレクトされます

変更を有効にするには、Nginxサービスを再起動します。

sudo systemctl restart nginx

次に、GogsドメインとルートURLを変更する必要があります。 これを行うには、構成ファイルを開き、次の行を編集します。

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

次のように入力してGogsサービスを再起動します。

sudo systemctl restart gogs

この時点で、Gogsが構成され、 https://gogs.example.com ://gogs.example.comからアクセスできます https://gogs.example.com

電子メール通知の構成

Gogsが通知メールを送信できるようにするには、Postfixをインストールするか、SendGrid、MailChimp、MailGun、SESなどのトランザクションメールサービスを使用できます。

電子メール通知を有効にするには、構成ファイルを開き、次の行を編集します。

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

正しいSMTPサーバー情報を入力してください。

Gogsサービスを再起動して、変更を有効にします。

sudo systemctl restart gogs

Gogsでは、Web Webhookを作成してSlackに接続し、Slackチャネルに通知を送信することもできます。

Gogsのアップグレード

Gogsをアップグレードするには、いくつかの手動手順が必要です。

  1. 最初にGogsサービスを停止します。

    sudo systemctl stop gogs

    Gogsインストールディレクトリの名前を変更します。

    sudo mv /home/git/gogs{, _old}

    最新のGogsバージョンをダウンロードして、 /home/git ディレクトリに移動します。

    VERSION= wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    実際のGogsリリースバージョンで VERSION を変更してください。

    次のrsyncコマンドを使用して、抽出したディレクトリに custom data log ディレクトリをコピーし log

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    最後に、Gogsサービスを開始します。

    sudo systemctl restart gogs

それでおしまい。

結論

このチュートリアルでは、Ubuntu 18.04でのGogsのインストールと構成について説明しました。 これで、最初のプロジェクトを作成し、新しいGogsサーバーの使用を開始できます。

Ubuntuのゴグ