ウェブサイト検索

Debian 11にPostgreSQLを使ってGiteaをインストールする方法


Debian 11にPostgreSQLを使ってGiteaをインストールする方法

このページで

  1. 前提条件
  2. ステップ1 - OSを更新する
  3. ステップ2 - PostgreSQLをインストールして構成する
  4. ステップ3 – Gitをインストールして設定する
  5. ステップ4 – Gitea用のgitユーザーを作成する
  6. ステップ5 - Giteaをインストールして構成する
  7. ステップ6 - Giteaウェブインターフェースにアクセスする
  8. ステップ7 – email通知の設定
  9. ステップ10 – Giteaの更新
  10. 結論

Giteaは、Gitサーバー用の無料でオープンソースの自己ホスト型ソリューションです。GiteaはGoプログラミング言語で書かれており、軽量なアプリケーションで、多くのプラットフォーム(Windows、Linux、macOSを含む)にインストールできるバイナリパッケージとして提供されています。GitLabの堅牢でスケーラブル、迅速で使いやすい代替手段の一つです。

Giteaは、リポジトリファイルエディタ、バグと時間のトラッキング、リポジトリのブランチ作成、ファイルロック、組み込みウィキ、マージ、複数のデータベースサポート、簡単なアップグレードプロセス、組み込みコンテナレジストリなど、さまざまな機能を提供しています。

このチュートリアルでは、Debian 11でPostgreSQLを使用して、Giteaをバイナリからインストールする方法を示します。

前提条件

  • Debian 11を実行しているサーバー。
  • サーバーにはルートパスワードが設定されています。

ステップ1 - OSを更新する

Giteaのインストールを開始する前に、以下のコマンドを実行してシステムを最新のバージョンに更新してください。

sudo apt-get update -y
sudo apt-get upgrade -y

ステップ2 - PostgreSQLをインストールして構成する

GiteaはMySQL、MariaDB、SQLite、PostgreSQLなど、すべての主要なデータベースをサポートしていますが、このガイドではPostgreSQLがGiteaデータベースとして使用されます。

まず、次のコマンドを使ってPostgreSQLリポジトリを作成します:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

次に、リポジトリ署名キーをインポートする必要があります:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

次に、以下のコマンドを使用してPostgreSQLをインストールします:

sudo apt-get update
sudo apt-get -y install postgresql

次に、PostgreSQLサービスを開始し、システム起動時に有効にし、次のコマンドを使用してPostgreSQLサービスのステータスを確認します:

sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql

次に、より良いセキュリティのために、md5暗号化方式から'SCRAM-SHA-256'方式に切り替える必要があります。PostgreSQLにリモートで接続したい場合は、PostgreSQLの設定ファイルにあなたのIPアドレスを許可する必要があります。次のコマンドを使用して設定ファイルを開き、変更を加えます:

sudo vim /etc/postgresql/14/main/postgresql.conf

別のPostgreSQLバージョンがインストールされている場合は、上記のコマンドパスをそれに応じて変更してください。

次に、次の変数を要求に応じて変更します:

listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256

ファイルを保存して終了し、変更を適用するためにPostgreSQLサービスを再起動します。

sudo systemctl restart postgresql

次に、次のコマンドを使用してPostgreSQLシェルにログインします:

sudo -u postgres psql

次に、次のコマンドを実行してGiteaのユーザーロールとデータベースを作成します:

postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD 'secure@123';
postgres=# CREATE DATABASE giteadb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;
postgres=# exit

ここでは、Giteaのユーザー名、データベース名、およびパスワードを設定する必要があります。

この時点で、あなたのPostgreSQL設定はGiteaに向けて準備が整いました。/etc/postgresql/14/main/pg_hba.confファイルで認証設定を確認してください。

PostgreSQLはデフォルトで全てのローカル接続を受け入れます。

host    all             all             127.0.0.1/32            scram-sha-256

リモートでgiteadbを使用する場合は、/etc/postgresql/14/main/pg_hba.confにあなたのIPアドレスを含む次の行を追加してください。

host    giteadb        gitea            134.122.38.0/32           scram-sha-256 

ステップ3 – Gitをインストールして設定する

次に、次のコマンドを使用してgitをインストールします:

sudo apt install git

Gitのバージョンを確認して、Gitのインストールを検証します:

git --version

出力:-

git version 2.30.2

次に、Gitのためにあなたの名前とメールアドレスを設定する必要があります。

git config --global user.name "Your Name"
git config --global user.email "[email ”

次のコマンドを使用して、Gitの設定を確認できます。

git config --list

出力:-

user.name=Your Name
[email 

ステップ4 – Gitea用のgitユーザーを作成する

次に、Giteaユーザーを作成する必要があります。これを次のコマンドで行うことができます:

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

これにより新しいユーザーgitが作成されます。

ステップ5 - Giteaをインストールして構成する

Giteaのダウンロードページに移動し、利用可能な最新バージョンのGiteaバイナリをダウンロードしてください。このチュートリアルを書いている時点で、Giteaの最新バージョンは1.15.7です。他のバージョンをインストールするには、以下のコマンドのVERSION変数を変更してください。

cd /tmp
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64

次に、次のコマンドを使用してGiteaバイナリをシステムパスに移動します:

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

次に、ターミナルで以下のコマンドを実行してGiteaバイナリファイルに実行権限を設定します:

chmod +x /usr/local/bin/gitea

次に、Giteaのディレクトリ構造を作成する必要があります。そのために、以下のコマンドを実行してください:

sudo mkdir -p /etc/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}

次に、Giteaが正しく動作するために必要な権限を以下のコマンドで付与してください:

sudo chown -R git:git /var/lib/gitea/
sudo chown root:git /etc/gitea
sudo chmod -R 750 /var/lib/gitea/
sudo chmod 770 /etc/gitea

次に、次のコマンドを使用してGiteaのsystemdサービスファイルを作成します:

vim /etc/systemd/system/gitea.service

そのコードをそこに貼り付けてください。

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target

ファイルを保存して終了します。そして、次のコマンドを使用してsystemdデーモンを再読み込みし、Giteaサービスを開始します:

sudo systemctl daemon-reload
sudo systemctl start gitea

次に、システム再起動時にGiteaサービスを有効にする必要があります。

sudo systemctl enable gitea

次に、以下のコマンドでGiteaのステータスを確認してください:

sudo systemctl status gitea

次の出力が表示されるはずです:

ご覧のとおり、Giteaはデフォルトでポート3000で起動し、動作しています。次のコマンドでGiteaのポートを確認できます:

netstat -tulpan | grep 3000

以下のような出力が表示されるはずです:

tcp6       0      0 :::3000                 :::*                    LISTEN      43778/gitea

ステップ6 - Giteaウェブインターフェースにアクセスする

Gitea はデフォルトでポート 3000 で起動し、リクエストを待っています。ブラウザを開いて、https://YOURIPADDRESS:3000 と入力してください。

次に、以下のように必要なパラメータを入力してください:

データベース設定 :

    データベースタイプ: PostgreSQL
    ホスト: 127.0.0.1:5432
    ユーザー名: gitea
    パスワード: PostgreSQLのロール作成時に選択したパスワードを入力してください。
    データベース名: giteadb
    SSL: 無効

一般設定 :


サイトタイトル: お好みのタイトル
リポジトリルートパス: /var/lib/gitea/data/repositories
Git LFSルートパス: /var/lib/gitea/data/lfs
ユーザー名としての実行: git
SSHサーバーのドメイン: your_domain/IP
SSHサーバーポート: 22
Gitea HTTPリッスンポート: 3000
GiteaベースURL: http://YOURIPADDRESS:3000
ログパス: /var/lib/gitea/log

この段階では、メールやサーバー、サードパーティの設定を構成できます。または、後で行うこともできます。ただし、管理者の設定は構成する必要があります。

ユーザー名を使用してGiteaにログインします。したがって、オプション設定に移動し、管理者アカウント設定の詳細を入力し、Gitea用の'管理者ユーザー'を作成します。

次に、「Giteaをインストール」ボタンをクリックします。インストールが成功裏に完了すると、次のページに示されるGiteaダッシュボードにリダイレクトされます。

今、Giteaを探検することができ、管理アカウントのサイト管理オプションから、GiteaとWindowsのActive Directoryなどの他のサードパーティサービスを統合することができます。

ステップ7 – email通知の設定

Giteaでは、Sendmailを使用するか、Amazon SESやSendgridなどのサードパーティのメールサービスを利用してメール通知を有効にできます。

メール通知を有効にするには、次のコマンドを使用してGiteaの設定ファイルを開いてください。

vim /etc/gitea/app.in

次に、ファイル内の以下のセクションを編集し、メール設定に従って以下のコードを追加してください。

[mailer]
ENABLED        = true
FROM           = [email 
MAILER_TYPE    = smtp
HOST           = mail.example.com:587
IS_TLS_ENABLED = true
USER           = [email 
PASSWD         = password

ファイルを保存して終了し、変更を適用するためにGiteaサービスを再起動します:

sudo systemctl restart gitea

ステップ10 – Giteaの更新

Giteaのアップグレードは簡単なプロセスで、Giteaのバイナリをダウンロードして置き換えるだけで済みます。

まず、Giteaサービスを停止します:

sudo systemctl stop gitea

次に、以下のコマンドを使用してGiteaバイナリをダウンロードしてインストールします:

cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea

次に、以下のコマンドでGiteaサービスを開始します:

sudo systemctl start gitea

さて、あなたのGiteaはダウンタイムなしで最新の状態です。

結論

おめでとうございます! Debian 11 に Gitea git サービスを正常にインストールしました。これで、Gitea を簡単に更新し、ウェブブラウザを通じて git リポジトリを管理できるようになります。さらに、質問があればお気軽にお尋ねください。

関連記事: