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

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

Gogsは軽量のアプリケーションであり、低電力システムにインストールできます。 Gitlabよりもメモリを消費せず、Gitlabの優れた機能を必要としない代替手段を探している場合は、Gogsを試す必要があります。

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

1.始める前に##

Gogsは、SQLite、PostgreSQL、および[MySQL](https://cloud.tencent.com/product/cdb?from=10680)/ [MariaDB](https://cloud.tencent.com/product/tdsql?from=10680)データベースを使用してデータを保存できます。

このガイドでは、SQLiteをデータベースとして使用します。 SQLiteがシステムにインストールされていない場合は、次のコマンドを入力してインストールする必要があります。

sudo apt install sqlite3

セキュリティを強化するために、基本的なファイアウォールを設定することをお勧めします。

2つ目は、Gogsをインストールする##

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

2.1 Git ###をインストールします

最初のステップは、サーバーに[Gitをインストール](https://www.itcoder.tech/posts/how-to-install-git-on-ubuntu-18-04/)することです。これを行うには、sudoユーザーとしてシステムにログインし、ローカルパッケージインデックスを更新して、次のコマンドを使用してgitパッケージをインストールします。

sudo apt update
sudo apt install git

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

git --version
git version 2.17.1

2.2 Gitユーザーを作成します###

[ 新しいシステムユーザーを作成する](https://www.itcoder.tech/posts/how-to-add-and-delete-users-on-ubuntu-18-04/)、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 newuser`git' (UID 111) with group `git' ...
Creating home directory `/home/git' ...

2.3 Gogs BinaryPackageをダウンロードする###

[Gogsダウンロードページ](https://gogs.io/docs/installation/install_from_binary)を参照し、システムアーキテクチャに応じて最新のバイナリパッケージをダウンロードします。この記事の執筆時点では、最新バージョンは0.11.86です。新しいバージョンが利用可能な場合は、次のコマンドで「VERSION」フィールドの値を変更する必要があります。

wgetコマンドを使用して、Gogs圧縮ファイルを / tmpディレクトリにダウンロードします。

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

2.4 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-2504:13:44 PDT; 9s ago
 Main PID:14376(gogs)
 Tasks:8(limit:2319)
 CGroup:/system.slice/gogs.service
   `- 14376 /home/git/gogs/gogs web

2.5 Webインストーラー###を使用してGogsをインストールします

ダウンロードGogsiがダウンロードされて実行されました。次は、Webインターフェイスを介してインストールプロセス全体を完了します。

ブラウザを開いて「http:// YOUR_DOMAIN_IR_IP:3000」と入力すると、次の画面が表示されます。

データベース設定:

一般設定を適用します。

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

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

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

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

2.6 NginxをSSLプロキシサーバーとして構成します###

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

まず、Nginxをインストールし、以下のガイドに従って、無料のLet's Encrypt [SSL証明書](https://cloud.tencent.com/product/symantecssl?from=10680)を生成します。

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

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

server {
 listen 80;
 server_name gogs.example.com;

 include snippets/letsencrypt.conf;return301 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;}}
 ゴグすることを忘れないでください.example.comをドメイン名に置き換え、正しいSSL証明書ファイルの場所を設定します。すべてのHTTPリクエストはHTTPSにリダイレクトされます。

[ Nginxサービスを再起動します](https://www.itcoder.tech/posts/nginx-commands-you-should-know/)変更を有効にします。

sudo systemctl restart nginx

次に、Gogsのドメイン名とルートアドレスを変更します。これを行うには、構成ファイルを開き、次の行を編集します。

sudo nano /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

2.7 電子メール通知を構成する###

Gogsが通知メールを送信できるようにするには、Postfixをインストールするか、SendGrid、MailChimp、MailGun、SESなどの他のビジネスメールサービスを使用する必要があります。

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

sudo nano /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フック](https://gogs.io/docs/features/webhook)を作成してSlackに接続し、[Slackチャネル](https://www.itcoder.tech/posts/how-to-install-slack-on-ubuntu-18-04/)に通知を送信することもできます。

3、ゴグをアップグレードする##

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

  1. 最初のステップは、Gogsサービスを停止することです。
sudo systemctl stop gogs
  1. Gogsインストールディレクトリの名前を変更します。
sudo mv /home/git/gogs{,_old}
  1. 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

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

  1. rsyncコマンドを使用して、 custom data、および logディレクトリを解凍したディレクトリにコピーします。
sudo rsync -a /home/git/gogs_old/{custom,data,log}/home/git/gogs/
  1. 最後に、Gogsサービスを開始します。
sudo systemctl restart gogs

それでおしまい。

4、要約##

このチュートリアルでは、Ubuntu18.04でのGogsのインストールと構成について説明します。

最初のプロジェクトを作成して、新しいGogsサーバーの使用を開始できます。

Recommended Posts

Ubuntu18.04にGogsをインストールして構成する方法
Ubuntu16.04にNATSをインストールして構成する方法
Ubuntu18.04にCyberpanelをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu18.04にVNCをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にOrientDBをインストールして構成する方法
Ubuntu12.04にAppScaleをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
CentOS7にElasticsearchをインストールして構成する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu20.04にDockerをインストールして使用する方法
CentOS8にVNCをインストールして構成する方法
Ubuntu18.04にCurlをインストールして使用する方法
Ubuntu18.04にComposerをインストールして使用する方法
Ubuntu18.04にWineをインストールして使用する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
CentOS8にRedisをインストールして構成する方法
Ubuntu20.04にComposerをインストールして使用する方法
Ubuntu14.04にBaasBoxをインストールして使用する方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
CentOS6にphpMyAdminをインストールして構成する方法
CentOS8にOwncloudをインストールして構成する方法
Ubuntu16.04にDockerをインストールして使用する方法
CentOS8にRedmineをインストールして構成する方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
UbuntuにMySQLをインストールして構成する
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法