GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04LTSにHTTPGitサーバーをインストールする方法

このチュートリアルでは、Ubuntu 20.04LTSにHTTPGitサーバーをインストールする方法を示します。知らなかった方のために、HTTPGitサーバーはを使用するオープンソースプロジェクトです。ローカルエリアネットワーク(LAN)を介してGitリポジトリにサービスを提供するNginxウェブサーバー。HTTPGitサーバーのセットアップと管理は驚くほど簡単です。

この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudoを追加する必要があります。 ‘ルート権限を取得するコマンドに。 Ubuntu 20.04(Focal Fossa)にHTTPGitサーバーを段階的にインストールする方法を紹介します。 Ubuntu 18.04、16.04、およびLinuxMintなどの他のDebianベースのディストリビューションでも同じ手順に従うことができます。

前提条件

  • 次のオペレーティングシステムのいずれかを実行しているサーバー:Ubuntu 20.04、18.04、16.04、およびLinuxMintなどの他のDebianベースのディストリビューション。
  • 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
  • non-root sudo user またはroot userへのアクセス 。 non-root sudo userとして行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。

Ubuntu 20.04 LTSFocalFossaにHTTPGitサーバーをインストールする

手順1.まず、次のaptを実行して、すべてのシステムパッケージが最新であることを確認します。 ターミナルのコマンド。

sudo apt update
sudo apt upgrade
sudo apt install fcgiwrap apache2-utils unzip

ステップ2.Ubuntu20.04にNginxをインストールします。

NginxはデフォルトのUbuntuリポジトリで利用できます。インストールするには、次のコマンドを実行します:

sudo apt install nginx

インストールが完了したら、コマンドを実行して、サーバーの起動時にNginxが自動的に起動できるようにします。

sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx

ファイアウォールの構成。

一方、ファイアウォールがHTTP(80)およびHTTPS(443)ポートでのトラフィックを許可するように構成されていることを確認する必要があります。Nginxは自身をサービスとして登録します。 ufw

sudo ufw allow in "Nginx Full"

ステップ3.Ubuntu20.04にGitをインストールします。

以下のコマンドを実行して、UbuntuシステムにGitをインストールします。

sudo apt install git

Gitのインストールを確認します:

git --version

ステップ4.Gitリポジトリを作成します。

次に、Gitリポジトリを保存するディレクトリを作成します:

mkdir /var/www/html/idroot-repo

次に、ディレクトリをidroot-repoに変更します ユーザー用に別のディレクトリを作成します:

cd /var/www/html/myrepo
mkdir user.git

次に、次のコマンドを使用してリポジトリを初期化します:

cd user.git
git --bare init

次に、次のコマンドでGitサーバーを更新します:

git update-server-info

次のコマンドを使用して、リポジトリに正しい所有権を付与します:

chown -R www-data:www-data /var/www/html/idroot-repo
chmod -R 755 /var/www/html/idroot-repo

その後、userというユーザーを作成し、パスワードを設定して、HTTP基本認証を使用してgitリポジトリへのアクセスを制限します。

htpasswd -c /var/www/html/idroot-repo/htpasswd user

ステップ5.Gitリポジトリを提供するようにNginxを構成します。

次に、Gitリポジトリにサービスを提供するNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/conf.d/git.conf

次の行を追加します:

server {
        listen 80;

        root /var/www/html/idroot-repo;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name git.your-domain.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

location ~ (/.*) {
    client_max_body_size 0; 
    auth_basic "Git Login"; 
    auth_basic_user_file "/var/www/html/idroot-repo/htpasswd";
    include /etc/nginx/fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; 
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/html/idroot-repo;
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; 
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
}

}

ファイルを保存して閉じてから、Nginxサービスを再起動して変更を適用します:

nginx -t
sudo systemctl restart nginx

ステップ6.クライアントからGitリポジトリに接続します。

まず、次のコマンドを使用してプロジェクトのディレクトリを作成します。

mkdir my-project

次に、プロジェクトディレクトリに移動し、次のコマンドを使用してGitを初期化します。

cd my-project
git init

メールとユーザー名をコミットするようにGitを設定することをお勧めします。これを行うには、次のコマンドを実行します:

git config --global user.email "[email protected]"
git config --global user.name "user"

その後、次のコマンドを使用してリモートGitリポジトリを追加します。

git remote add origin http://[email protected]/user.git

次に、devというディレクトリを作成し、その中にファイルを追加します:

mkdir dev
echo "This is my first my application" > dev/file

これで、次のコマンドを使用して、これらのファイルをgitに追加できます:

git add .

次のコマンドで変更をコミットします:

git commit -a -m "Add files and directories"

次に、次のコマンドを使用して、新しく作成したすべてのディレクトリとファイルをサーバーにプッシュします。

git push origin master

接続すると、次の出力が得られます:

Counting objects: 8, done.
Writing objects: 100% (4/4), 512 bytes | 346.00 KiB/s, done.
Total 8 (delta 0), reused 0 (delta 0)
To http://git.your-domain.com/user.git
 * [new branch]      master -> master

次のコマンドを使用して、Gitサーバーからリポジトリを直接ダウンロードすることもできます。

git clone http://[email protected]/user.git

おめでとうございます!HTTP Gitサーバーが正常にインストールされました。このチュートリアルを使用して、Ubuntu 20.04 LTS FocalFossaシステムにHTTPGitサーバーをインストールしていただきありがとうございます。追加のヘルプや役立つ情報が必要な場合は、 Gitの公式ウェブサイトを確認してください。


Ubuntu
  1. Ubuntu16.04にNginxを使用してHTTPGitサーバーをインストールする方法

  2. Ubuntu18.04LTSにMinecraftサーバーをインストールする方法

  3. Ubuntu20.04LTSにDiscourseをインストールする方法

  1. Ubuntu20.04にNginxをインストールする方法

  2. Ubuntu18.04LTSにNginxを使用してHTTPGitサーバーをインストールする方法

  3. Ubuntu20.04にNginxを使用してHTTPGitサーバーをインストールする方法

  1. Ubuntu Server18.04LTSのインストール方法

  2. Ubuntu18.04LTSサーバーにDockerをインストールする方法

  3. Ubuntu20.04LTSサーバーをインストールする方法