このチュートリアルでは、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の公式ウェブサイトを確認してください。