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

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

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

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

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

始める前に#

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

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

sudo apt install sqlite3

セキュリティをさらに強化するには、基本的なファイアウォールを設定することをお勧めします。 Ubuntu18.04ガイドでUFWを使用してファイアウォールを設定する方法の手順に従うことができます。

Gogsのインストール#

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

Git#をインストール

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

sudo apt updatesudo 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 Downloadページにアクセスして、アーキテクチャの最新のバイナリをダウンロードします。執筆時点では、最新バージョンは0.11.86です。新しいバージョンが利用可能な場合は、VERSIONを変更してください。 以下のコマンドの変数。

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

VERSION=0.11.86wget 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 gogssudo 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と入力します 次のような画面が表示されます。

データベース設定:

  • データベースタイプ:SQLite3
  • パス:絶対パス/home/git/gogs/gogs.dbを使用します

アプリケーションの一般設定

  • アプリケーション名:組織名を入力してください
  • リポジトリルートパス:デフォルトの/home/git/gogs-repositoriesのままにします
  • 実行ユーザー:git
  • ドメイン:ドメインまたはサーバーのIPアドレスを入力します。
  • SSHポート:22、SSHが他のポートでリッスンしている場合は変更します
  • HTTPポート:3000
  • アプリケーションURL:httpとドメインまたはサーバーのIPアドレスを使用します。
  • ログパス:デフォルトの/home/git/gogs/logのままにします
後で、Gogs構成ファイルを編集して設定を変更できます。

完了したら、「Gogsのインストール」ボタンを押します。インストールはすぐに実行され、完了するとログインページにリダイレクトされます。

[今すぐサインアップ]リンクをクリックします。

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

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

NginxをSSLターミネーションプロキシとして構成する#

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

まず、Nginxをインストールし、以下のガイドに従って無料のLet’sEncryptSSL証明書を生成します。

  • Ubuntu18.04にNginxをインストールする方法
  • Ubuntu18.04でLet’sEncryptを使用してNginxを保護する

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

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
[server]
DOMAIN           = gogs.example.com
ROOT_URL         = https://gogs.example.com/

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

sudo systemctl restart gogs

この時点で、Gogsが構成されており、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
[mailer]
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
  2. Gogsインストールディレクトリの名前を変更します。

    sudo mv /home/git/gogs{,_old}
  3. 最新のGogsバージョンをダウンロードして、/home/gitに移動します ディレクトリ:

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

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

  4. customをコピーします 、datalog 次のrsyncコマンドを使用して、抽出されたディレクトリへのディレクトリ:

    sudo rsync -a /home/git/gogs_old/{custom,data,log,gogs.db} /home/git/gogs/
  5. 最後に、Gogsサービスを開始します:

    sudo systemctl restart gogs

それだけです。


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

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

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

  2. Ubuntu20.04にJenkinsをインストールして構成する方法

  3. Ubuntu16.04にAskbotをインストールして構成する方法

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

  2. Ubuntu16.04にSolr6をインストールして構成する方法

  3. Ubuntu16.04にGitLabをインストールして構成する方法