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

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

Giteaは、Goで記述された高速で使いやすいセルフホストのgitサーバーです。リポジトリファイルエディタ、プロジェクトの問題追跡、ユーザー管理、通知、組み込みのWikiなどが含まれています。

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

この記事では、Ubuntu20.04にGiteaをインストールして構成する方法について説明します。

前提条件#

Giteaは、SQLite、PostgreSQL、およびMySQL/MariaDBasデータベースバックエンドをサポートしています。

SQLiteは小規模なインストールにのみ推奨されます。大規模なインストールでは、MySQLまたはPostgreSQLを使用する必要があります。

GiteaのデータベースとしてSQLiteを使用します。 SQLiteがUbuntuシステムにインストールされていない場合は、sudouserとして次のコマンドを入力してインストールします。

sudo apt updatesudo apt install sqlite3
Giteaのインストール#

GiteaはDockerイメージを提供し、ソース、バイナリ、およびパッケージとしてインストールできます。バイナリからGiteaをインストールします。

Git#をインストール

最初のステップは、サーバーにGitonをインストールすることです。

sudo apt updatesudo apt install git

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

git --version
git version 2.25.1

Gitユーザーを作成する#

次のように入力して、Giteaアプリケーションを実行する新しいシステムユーザーを作成します。

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

上記のコマンドは、gitという名前の新しいユーザーとグループを作成します 、ホームディレクトリを/home/gitに設定します 。出力は次のようになります:

Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...
Giteaバイナリをダウンロード#

Giteaダウンロードページに移動し、アーキテクチャの最新のバイナリをダウンロードします。執筆時点では、最新バージョンは1.10.2です。利用可能な新しいバージョンがある場合は、VERSIONを変更します 以下のコマンドの変数。

wgetを使用する /tmpにGiteaバイナリをダウンロードするには ディレクトリ:

VERSION=1.14.1sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

giteaを実行できます 任意の場所からのバイナリ。規則に従い、バイナリを/usr/local/binに移動します ディレクトリ:

sudo mv /tmp/gitea /usr/local/bin

バイナリを実行可能にします:

sudo chmod +x /usr/local/bin/gitea

以下のコマンドを実行してディレクトリを作成し、必要な権限と所有権を設定します。

sudo mkdir -p /var/lib/gitea/{custom,data,log}sudo chown -R git:git /var/lib/gitea/sudo chmod -R 750 /var/lib/gitea/sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

上記のディレクトリ構造は、Giteaの公式ドキュメントで推奨されています。

/etc/giteaの権限 ディレクトリは770に設定されています インストールウィザードが構成ファイルを作成できるようにします。インストールが完了したら、より制限の厳しい権限を設定します。

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

Giteaをsystemdサービスとして実行します。

サンプルのsystemdユニットファイルを/etc/systemd/systemにダウンロードします 次のように入力してディレクトリ:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

ファイルを編集する必要はありません。設定に合わせて構成されています。

Giteaサービスを有効にして開始します:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Giteaが実行されていることを確認します:

sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...
Giteaの設定#

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

デフォルトでは、Giteaはポート3000で接続をリッスンします すべてのネットワークインターフェースで。

サーバーでUFWファイアウォールを実行している場合は、Giteaポートを開く必要があります。ポート3000でのトラフィックを許可するには 、次のコマンドを入力します:

sudo ufw allow 3000/tcp

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

データベース設定:

  • データベースタイプ:SQLite3
  • パス:絶対パス/var/lib/gitea/data/gitea.dbを使用します

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

  • サイトタイトル:組織名を入力します。
  • リポジトリルートパス:デフォルトのvar/lib/gitea/data/gitea-repositoriesのままにします 。
  • Git LFSルートパス:デフォルトの/var/lib/gitea/data/lfsのままにします 。
  • 実行ユーザー名:git
  • SSHサーバードメイン:ドメインまたはサーバーのIPアドレスを入力します。
  • SSHポート:22、SSHが他のポートでリッスンしている場合は変更します
  • Gitea HTTPリッスンポート:3000
  • GiteaベースURL:httpとドメインまたはサーバーのIPアドレスを使用します。
  • ログパス:デフォルトの/var/lib/gitea/logのままにします
Gitea構成ファイルを編集することにより、いつでも設定を変更できます。

インストールを開始するには、「Giteaのインストール」ボタンを押します。

インストールは瞬時に行われます。完了すると、ログインページにリダイレクトされます。

「アカウントが必要ですか?今すぐ登録。"リンク。最初に登録されたユーザーは、自動的に管理者グループに追加されます。

以下を使用して、Gitea構成ファイルの権限を読み取り専用に変更します。

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini

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

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

この手順はオプションですが、強くお勧めします。 SSLターミネーションとは、NginxがGiteaアプリケーションとWebクライアント間の仲介ポイントとして機能するため、HTTPS経由でGiteaにアクセスできることを意味します。

Nginxをリバースプロキシとして使用するには、サーバーのパブリックIPを指すドメインまたはサブドメインが必要です。この例では、git.example.comを使用します 。

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

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

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

sudo nano /etc/nginx/sites-enabled/git.example.com
/etc/nginx/sites-enabled/git.example.com
server {
    listen 80;
    server_name git.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://git.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name git.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/git.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/git.example.com.access.log;
    error_log /var/log/nginx/git.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

git.example.comをGiteaドメインに置き換え、SSL証明書ファイルへの正しいパスを設定することを忘れないでください。 HTTPトラフィックはHTTPSにリダイレクトされます

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

sudo systemctl restart nginx

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

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

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

sudo systemctl restart gitea

この時点で、Giteaプロキシが構成されており、https://git.example.comからアクセスできます。

電子メール通知の構成#

Giteaインスタンスに通知メールを送信させたい場合は、Postfixをインストールするか、SendGrid、MailChimp、MailGun、SESなどのトランザクションメールサービスを使用できます。

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

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

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

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

sudo systemctl restart gitea

設定を確認してテストメールを送信するには、Giteaにログインし、[サイトの管理]>[構成]>[SMTPメーラーの構成]に移動します。

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

Giteaのアップグレード#

最新のGiteaバージョンにアップグレードするには、バイナリをダウンロードして置き換えるだけです。

  1. Giteaサービスを停止します:

    sudo systemctl stop gitea
  2. 最新のGiteaバージョンをダウンロードして、/usr/local/binに移動します ディレクトリ:

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. バイナリを実行可能にします:

    sudo chmod +x /usr/local/bin/gitea
  4. Giteaサービスを再起動します:

    sudo systemctl restart gitea

それだけです。


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

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

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

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

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

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

  1. Ubuntu20.04にKVMをインストールする方法

  2. UbuntuにWebminをインストールする方法

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