Giteaは、Gitサーバー向けの無料のオープンソースのセルフホストソリューションです。 Giteaは、Windows、Linux、macOSを含むほとんどのプラットフォームにインストールできるバイナリパッケージとして利用できる軽量アプリケーションであるGoプログラミング言語で記述しています。これは、堅牢でスケーラブル、高速、使いやすく、GitLabの代替手段の1つです。
Giteaは、リポジトリファイルエディター、バグと時間の追跡、リポジトリの分岐、ファイルロック、ビルドなどの多くの機能を提供します。ウィキでは、マージ、複数のデータベースのサポート、簡単なアップグレードプロセス、組み込みのコンテナレジストリなどがあります。
このチュートリアルでは、Debian11でPostgreSQLを使用してバイナリからGiteaをインストールする方法を示します。 。
- Debian11を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
Giteaのインストールを開始する前に、以下のコマンドを実行して、システムを最新バージョンに更新してください。
sudo apt-get update -y
sudo apt-get upgrade -y
Giteaは、MySQL、MariaDB、SQLite、MySQL、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
次に、「SCRAM-SHA-256」に切り替える必要があります より良いセキュリティのためのmd5暗号化スキームからのスキーム。 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 '[email protected]';
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
次に、次のコマンドを使用して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 protected]”
次のコマンドを使用して、Git構成を確認できます。
git config --list
出力:-
user.name=Your Name
[email protected]
次に、Giteaユーザーを作成する必要があります。これは、次のコマンドで実行できます。
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
これにより、新しいユーザーgitが作成されます。
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
Giteaが起動し、デフォルトでポート3000でリッスンしています。ブラウザを開き、https:// YOURIPADDRESS:3000と入力します。
次に、必要なパラメータを次のように入力します。
データベース設定
データベースタイプ:PostgreSQL
ホスト:127.0.0.1:5432
ユーザー名:gitea
パスワード:Postgresロールの作成時に選択したパスワードを入力します。
データベース名:giteadb
SSL:無効
一般設定
サイトタイトル:選択したタイトル。
リポジトリルートパス:/ var / lib / gitea / data / repository
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を探索でき、管理者アカウントのサイト管理オプションから、ウィンドウのActiveDirectoryをGiteaと統合するなどの他のサードパーティサービスを設定できます。
Sendmailを使用するか、Amazon SES、SendgridなどのサードパーティのEメールサービスを介して、GiteaでEメール通知を有効にできます。
Eメール通知を有効にするには、次のコマンドを使用してGitea構成ファイルを開きます。
vim /etc/gitea/app.in
次に、ファイルの次のセクションを編集し、メール設定に従って次のコードを追加します。
[mailer]
ENABLED = true
FROM = [email protected]
MAILER_TYPE = smtp
HOST = mail.example.com:587
IS_TLS_ENABLED = true
USER = [email protected]
PASSWD = password
ファイルを保存して終了し、Giteaサービスを再起動して変更を適用します:
sudo systemctl restart 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はダウンタイムなしで最新になります。
おめでとう!これで、Debian11にGiteagitサービスが正常にインストールされました。これで、Giteaを簡単に更新し、Webブラウザを介してgitリポジトリを管理できます。さらに、ご不明な点がございましたら、お気軽にお問い合わせください。