このチュートリアルでは、Debian9にGiteaをインストールする方法を示します。Debian9VPSにGiteagitサービスをデプロイする方法も示します。
Gitea は、Golangで記述された、無料のオープンソースで軽量のバージョン管理システムです。これは、自己ホスト型のgitサービスであり、GitHub、Bitbucket、およびGitlabの代替ソリューションです。その主な目的は、自己ホスト型Gitサービスをセットアップする最も簡単な方法を提供することです。 Linux、macOS、Windowsなどの複数のプラットフォームで動作します。 Giteaは、SQLite、MySQL、PostgreSQLなどのいくつかのデータベースシステムもサポートしています。 Debian9にGiteaをインストールするのにかかる時間は10分以内です。始めましょう。
前提条件:
- rootアクセスが有効になっているDebian9VPSまたはsudo権限を持つユーザー。
- サーバーのIPアドレスを指す有効なドメイン名。このチュートリアルでは、
gitea.mydomain.com
を使用します 。
ステップ1:パッケージのログインと更新
まず、SSHを使用してサーバーにログインする必要があります。これを行うには、次のコマンドを入力します:
ssh root@IP_Address -p Port_Number
rootユーザーを使用していない場合は、「root」をユーザー名に置き換えることを忘れないでください。サーバーのIPアドレスとSSHポート番号に応じて「IP_Address」と「Port_Number」を変更します。
ログインしたら、すべてのパッケージを最新の利用可能なバージョンに更新する必要があります。
apt-get update -y apt-get upgrade -y
ステップ2:MariaDBデータベースのインストールと構成
Giteaは、SQLite、MySQL / MariaDB、およびPostgreSQLを使用してデータを保存します。ここでは、データベースソリューションにMariaDBを使用します。
次のコマンドを実行してMariaDBをインストールしましょう:
apt-get install mariadb-server mariadb-client -y
インストールしたら、次のコマンドを実行してMariaDBのインストールを保護します。
mysql_secure_installation
このコマンドは、以下に示すように、rootパスワードを設定し、匿名ユーザーを削除し、rootログインをリモートで禁止し、テストデータベースを削除します。
Enter current password for root (enter for none): press [Enter] Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
MariaDBが保護されたら、次のコマンドを使用してMariaDBシェルにログインします。
mysql -u root -p
プロンプトが表示されたらrootパスワードを入力し、GLOBAL innodeb_file_per_table
を変更します On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
次に、次のコマンドを使用してGiteaのデータベースとユーザーを作成します。
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
GiteaMariaDBユーザーには必ず一意で強力なパスワードを選択してください。
次に、Giteaにすべての権限を付与し、次のコマンドでデータベースを変更します。
MariaDB [(none)]> GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
最後に、特権をフラッシュし、次のコマンドでMariaDBシェルを終了します。
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
次に、MariaDBのデフォルトの構成ファイルを開き、いくつかの設定を微調整します。
nano /etc/mysql/mariadb.conf.d/50-server.cnf
次の行を追加します:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
ファイルを保存して閉じます。次に、MariaDBサービスを再起動して、構成の変更を適用します。
systemctl restart mariadb
ステップ3:Debian9にGiteaをダウンロードしてインストールする
Giteaダウンロードページに移動し、次のコマンドを使用して最新バージョンのGiteaバイナリパッケージをダウンロードします。
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
ダウンロードしたら、ダウンロードしたバイナリを/usr/local/bin
にコピーします。 ディレクトリ:
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
次に、次のコマンドを使用して実行可能ファイルのアクセス許可を指定します。
chmod 755 /usr/local/bin/gitea
次のコマンドを使用して、Giteaのバージョンを確認できるようになりました。
gitea --version
次の出力が得られるはずです:
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
次に、リポジトリ、構成、およびログファイルのディレクトリ構造を作成する必要があります。次のコマンドを実行して、Giteaのディレクトリ構造を作成します。
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
ステップ4:GiteaのSystemdサービスファイルを作成する
次に、Giteaサービスを管理するためのsystemdサービスファイルを作成する必要があります。 Systemdを使用してGiteaサービスを開始、停止、再開できます。
次のコマンドを実行して、systemdサービスファイルを作成します。
nano /etc/systemd/system/gitea.service
次の行を追加します:
[Unit] Description=Gitea After=syslog.target After=network.target After=mysql.service [Service] RestartSec=2s Type=simple User=root Group=root WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=root HOME=/root GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンリストをリロードします。
systemctl daemon-reload
次に、Giteaサービスを開始し、次のコマンドを使用してシステムの再起動後に自動的に開始できるようにします。
systemctl start gitea systemctl enable gitea
次のコマンドを使用して、Giteaサービスのステータスを確認することもできます。
systemctl status gitea
次の出力が得られるはずです:
● gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 10:44:06 UTC; 7s ago Main PID: 3995 (gitea) Tasks: 6 (limit: 7372) CGroup: /system.slice/gitea.service └─3995 /usr/local/bin/gitea web -c /etc/gitea/app.ini Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.1 built with GNU Make 4.1, g Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info) Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:106:GlobalInit() [I] SQLite3 Supported Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:37:checkRunMode() [I] Run Mode: Development Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000 Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3995
デフォルトでは、Giteaはポート3000で実行されます。次のコマンドで確認できます:
netstat -ant | grep 3000
出力:
tcp6 0 0 :::3000 :::* LISTEN
ステップ5:NginxをGiteaのリバースプロキシとして構成する
ドメインを使用してGiteaインストールにアクセスする場合は、リバースプロキシを作成する必要があります。
まず、次のコマンドを使用してNginxWebサーバーをインストールします。
apt-get install nginx -y
インストールしたら、Gitea用の新しい仮想ホストサーバーブロックを作成します。
nano /etc/nginx/sites-available/gitea.conf
次の行を追加します:
upstream gitea { server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name gitea.mydomain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitea/; } }
mydomain.comを自分の登録済みドメインに置き換えることを忘れないでください。
ファイルを保存して閉じます。次に、次のコマンドを使用して、構文エラーがないかNginxを確認します。
nginx -t
次に、次のコマンドを使用して仮想ホストディレクティブを有効にします。
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
最後に、Nginxサービスを再起動して、構成の変更を適用します。
systemctl restart nginx
ステップ6:GiteaWebインストールウィザードにアクセスする
次に、Webブラウザーを開き、URL http://gitea.mydomain.com/install
にアクセスします。 。 Giteaのインストールページにリダイレクトされます:
データベース情報、サイトタイトル、GiteaベースURLとサーバーURL、管理者アカウント情報を入力し、Giteaのインストールをクリックします ボタン。インストールが正常に完了すると、Giteaダッシュボード画面にリダイレクトされます:
次に、 +をクリックします 最初のリポジトリを作成するためのボタン:
リポジトリの詳細を入力し、[リポジトリの作成]ボタンをクリックします。リポジトリが作成されると、次のページが表示されます。
次に、[ファイルのアップロード]ボタンをクリックします。次のページが表示されます:
ファイルをアップロードし、[変更のコミット]ボックスに説明を追加して、[変更のコミット]ボタンをクリックします。次のページに新しくアップロードされたファイルが表示されます:
おめでとうございます! これで、GiteaがDebian 9 VPSに正常にインストールされ、テストプロジェクトが作成されました。また、Nginxリバースプロキシの背後でGiteaを構成しました。これで、Giteaを使用して独自のリポジトリを作成し、それらを開発環境にデプロイできるようになりました。詳細については、Giteaの公式ドキュメントをご覧ください。
Ubuntu20.04にGiteaをインストールするためのこのチュートリアルに従ってください
もちろん、 iする必要はありません Debian9でGiteaをストールする マネージドDebianサーバーをお持ちの場合。サポートチームにDebian9にGiteaをインストールするよう依頼するだけです。それらは24時間年中無休で利用可能であり、インストールを支援することができます。
PS 。 Debian 9にGiteaをインストールする方法に関するこのブログ投稿を読んで楽しんだ場合は、以下のショートカットを使用してソーシャルネットワークで自由に共有するか、コメントセクションにコメントを残してください。ありがとう。