GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu20.04にNGINXと無料のLet'sEncryptSSLを使用してGiteaをインストールする方法

このチュートリアルでは、Ubuntu 20.04を使用して、GiteaソフトウェアをWebサーバーとしてのNginxおよびFree Let’sEncrypt証明書とともにVPSにインストールする方法を紹介します。

Giteaは、「Go」プログラミング言語で記述されたソフトウェアであり、Bitbucket、GitHub、およびGitlabに似ています。このソフトウェアは、セルフホストのGitサービスに使用され、Linux、Windows、macOS、ARMなどの複数のオペレーティングシステムと互換性があります。

インストールは10分以内で完了し、インストールしながら楽しむことができます。始めましょう!

前提条件
  • Ubuntu20.04の新規インストール
  • ユーザー権限:sudo権限を持つrootまたは非rootユーザー

ステップステップ1.システムを更新します

Ubuntu 20.04の新規インストールにはシステムの更新が必要であるため、次のコマンドを実行する必要があります。

sudo apt update -y && sudo apt upgrade -y

ステップ2.必要な依存関係をインストールします

インストールを続行する前に、これらのパッケージをインストールする必要があります。

apt install gnupg2 git unzip -y

ステップ3.Nginxウェブサーバーをインストールします

Nginx Webサーバーは、次のコマンドでインストールできます:

sudo apt install nginx -y

インストールが完了したら、Nginxサービスのステータスを確認できます:

sudo systemctl status nginx

ステップ4.MariaDBデータベースサーバーをインストールします

MariaDBはGiteaのデータベースバックエンドとして使用され、以下のコマンドでインストールできます:

sudo apt-get install mariadb-server -y

ステップ5.MariaDBデータベースサーバーを構成する

データベースサーバーが正常にインストールされたら、構成する必要があります。

mysql」を使用してMariaDBシェルにログインします 」コマンドを実行し、Innodbテーブルを有効にします:

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;

exit」を使用してMariaDBシェルを終了します 」コマンドを実行し、デフォルトのMariaDB構成ファイルを開きます。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

mysqld」の下に次のコード行を追加します 」セクション

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

変更が行われたら、変更を有効にするためにMariaDBサービスを再起動します。

sudo systemctl restart mariadb

ステップ6.データベースとデータベースユーザーを作成する

Giteaソフトウェアが正しく機能するには、データベースとユーザーが必要です。それらを作成して適切な権限を付与するには、MariaDBシェルに再度ログインして、次のコマンドを実行してください。

MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere';
MariaDB [(none)]>GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere' WITH GRANT OPTION;
MariaDB [(none)]>ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;

ステップ7.Giteaをインストールします

これは私たちが長い間待っていたステップであり、Giteaソフトウェアをインストールしています。インストールする前に、次のコマンドでGiteaを実行するシステムユーザーを作成する必要があります。

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

次は、サーバーに最新バージョンのGiteaをダウンロードします。

sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64

Giteaがダウンロードされたら、バイナリをシステムパスにコピーし、適切な権限を設定する必要があります:

sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea && chmod 755 /usr/bin/gitea

次のステップは、データとログをそれらの権限とともに保存するためのGiteaディレクトリを作成することです:

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

ステップ8.Giteaサービスを作成する

空のファイルを作成します:

sudo nano /etc/systemd/system/gitea.service

そして、次のコード行をインポートします。

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/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

コンテンツを含むファイルを作成したら、構成ファイルをリロードし、Giteaサービスを有効にして開始します。

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Giteaが正しく実行されているかどうかを確認するには、次のコマンドを実行します。

sudo systemctl status gitea

出力は次のようになります:

# sudo systemctl status gitea
● gitea.service - Gitea

ロード済み:ロード済み(/etc/systemd/system/gitea.service;有効;ベンダープリセット:有効)
アクティブ:月2021-08-09 23:36:36 CEST以降アクティブ(実行中)。 8分前
メインPID:42187(gitea)
タスク:6(制限:4652)
メモリ:111.8M
CGroup:/system.slice/gitea.service
└─42187/usr/ bin / gitea web -c /etc/gitea/app.ini

ステップ9.GiteaのリバースプロキシとしてのNginx

まず、新しいNginx構成ファイルを作成します:

sudo nano /etc/nginx/conf.d/gitea.conf

次のコード行を追加します。

upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name gitea.yourdomain.com;
root /var/lib/gitea/public;
access_log off;
error_log off;
location / {
try_files maintain.html $uri $uri/index.html @node;
}
location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}

ファイルが作成されたら、ファイルを保存して閉じ、次のコマンドでNginxの構成を確認します。

nginx -t

出力は次のようになります:

#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

構成に問題がない場合は、Nginxサービスを再起動して、最新の変更を取得します。

systemctl restart nginx

ステップ10.無料のLet'sEncryptSSL証明書をインストールする

次に、無料の「Let’sEncrypt」SSL証明書をインストールする必要があります。 「Let’s Encrypt」は、現在、過去数年間で最も人気のあるTLS暗号化プロバイダーの1つです。これは世界最大の認証局であり、それ以外の場合は2億5000万を超えるWebサイトで使用されています。

まず、次のコマンドを使用してサーバーにCertbotソフトウェアをインストールする必要があります。

sudo apt install certbot python3-certbot-nginx -y

Certbotがインストールされると、ドメインの証明書をインストールする準備が整います。

sudo certbot --nginx -d gitea.example.com

インストール中にリダイレクトオプションを選択すると、HTTPからのすべてのリクエストがHTTPSにリダイレクトされます。

インストールが正常に完了すると、次の同様のメッセージが表示されます。

- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitea.example.com/privkey.pem

11。 GiteaのWebサイトに安全にアクセスします

これで、すべてのステップが完了すると、Gitea Webサイト(https://gitea.example.com)にアクセスできます。ステップ6で作成したMySQLユーザーパスワードを入力します。ページの下部を下にスクロールして、「Giteaをインストールする 「。

おめでとう!これでGiteaソフトウェアが正常にインストールされ、今すぐ使用できます。もちろん、Linux VPSホスティングプランのいずれかに登録するだけで、専門家が数分以内にすべてを完全に無料でセットアップできるようになります。

PS。 Ubuntu20.04でFreeLetsEncrypt SSLを使用してNginxにGiteaをインストールする方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. Nginxを使用してUbuntu18.04にLet'sEncryptSSLをインストールする方法

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

  3. Ubuntu20.04でLet'sEncryptを使用してNginxを保護する方法

  1. Nginxを使用してNextcloudをインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  2. Nginxを使用してMagento2をインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  3. Ubuntu14.04にNginxでElggをインストールする方法

  1. Nginxを使用してWordPressをインストールし、CentOS8でSSLを暗号化する方法

  2. Nginxを使用してDrupalをインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  3. Nginxを使用してShopware6をインストールし、Ubuntu20.04でSSLを暗号化する方法