GNU/Linux >> Linux の 問題 >  >> Debian

Debian9にGiteaをインストールする方法

このチュートリアルでは、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のインストールページにリダイレクトされます:

データベース情報、サイトタイトル、Gi​​teaベース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をインストールする方法に関するこのブログ投稿を読んで楽しんだ場合は、以下のショートカットを使用してソーシャルネットワークで自由に共有するか、コメントセクションにコメントを残してください。ありがとう。


Debian
  1. Debian9にMariaDBをインストールする方法

  2. Debian11にMariaDB10.xをインストールする方法

  3. Debian 11 に MariaDB をインストールする方法

  1. Debian10にMariaDBをインストールする方法

  2. Debian11にMariaDBをインストールする方法

  3. NextCloudをDebian10にインストールする方法

  1. Debian11にMariaDB10.6をインストールする方法

  2. Debian8にMariaDBをインストールする方法

  3. Debian8にNextcloudをインストールする方法