UbuntuシステムでNginxGitサーバーを構成する

UbuntuシステムでNginxGitサーバーを構成します#

何年も前にブログ投稿[WindowsシステムでのApacheGitサーバーの構成](https://beginor.github.io/2013/03/01/config-apache-git-server-on-windows.html)を公開しました。これは主に、Apacheの基本認証+ git-http-backendで実装されました。今度は、同様の単純なものを会社のvpsにデプロイする必要があります。 git server、今回のソフトウェア環境は以下の通りです。

git-http-backendを使用してgitサービスを構築する原理は似ており、主にユーザー認証にWebサーバー(apache / nginx)を使用し、ユーザー情報をCGIプログラム git-http-backendに渡して実現します。 httpを介してgit操作を完了します。

git-core、nginx、fcgiwrapをインストールします##

次のコマンドを入力して、3つの必要なパッケージをインストールします。

apt-get install git-core nginx fcgiwrap

nginxを構成します##

私の目的は、nginxのデフォルトWebサイトの下に仮想ディレクトリ / git /を追加し、変更が必要な / git / xxx.gitの形式にアクセスして、サーバー上の xxx.gitコードベースにアクセスすることです。 nginxのデフォルトのWebサイト構成ファイル / etc / nginx / sites-available / defaultに、次の情報を追加します。

# で構成/gitで始まる仮想ディレクトリ
location ~/git(/.*){
 # 基本認証を使用する
 auth_basic "Restricted";
 # 認証されたユーザーファイル
 auth_basic_user_file /etc/nginx/passwd;
 # FastCGIパラメータ
 fastcgi_pass  unix:/var/run/fcgiwrap.socket;
 fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
 fastcgi_param GIT_HTTP_EXPORT_ALL "";
 # サーバー上のgitライブラリのルートディレクトリ
 fastcgi_param GIT_PROJECT_ROOT    /var/git-repos;
 fastcgi_param PATH_INFO           $1;
 # 認証されたユーザー情報をfastcgiプログラムに渡します
 fastcgi_param REMOTE_USER $remote_user;
 # デフォルトのfastcgiパラメーターを含めます。
 include       fastcgi_params;
 # クライアントの最大許容ポストを100メガバイトに調整します
 max_client_body_size 100M;}

nginx認証ユーザーファイルを作成します##

nginx [ngx http auth basic module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html)を参照してください。ユーザー認証ファイルの形式は、次のとおりです。

# comment
name1:password1
name2:password2:comment
name3:password3

htpasswdコマンドを使用してユーザーを作成できます。サーバーにそのようなコマンドがない場合は、コマンド apt-get install apache2-utilsを入力してこのコマンドをインストールできます。このコマンドをインストールした後、このコマンドを使用して認証済みユーザーを作成できます。たとえば、ユーザーuser1を作成するには、次のようにコマンドを入力します。

htpasswd /etc/nginx/passwd user1

次に、プロンプトに従ってパスワードを入力します。

gitコードリポジトリを作成します##

上で構成されたgitとディレクトリは / var / git-reposです。このディレクトリの空のコードベースを初期化します。コマンドは、次のとおりです。

cd /var/git-repos
git init --bare test.git

test.gitの権限を確認するように注意してください。権限が不十分な場合は、次のコマンドを使用して権限を設定します。

chmod a+rw -R test.git

nginxとtest ##を再起動します

次のコマンドを入力してnginxを再起動し、gitサービスをテストします。

nginx -s reload
git clone https://server-name/git/test.git

Recommended Posts

UbuntuシステムでNginxGitサーバーを構成する
ubuntuサーバーでtomcatを構成する
ubuntuインストールnginxサーバー
Tencent CloudubuntuサーバーでWolframエンジンを構成する
Azure上のUbuntuサーバーの自動更新を構成する
Ubuntu Server14.04にOpenSSL1.0.2をインストールします
UbuntuサーバーにMono本番環境をインストールして構成します
CentOS7にNginxサーバーをインストールします
Ubuntuのnginxサーバーでhttpsを開く方法
UbuntuでGitサーバーを構築する方法を教えてください
ubuntuでNginx-RTMPライブサーバーを構築する
Ubuntu20.04にNginxをインストールする方法
ラップトップUbuntuシステムでWifiをオンにする
Ubuntu20.04にGitをインストールする方法
UbuntuにMySQLをインストールして構成する
Ubuntu20.04にGitをインストールする方法
Ubuntu14.04でNginxを保護する方法
Ubuntu20.04にNginxをインストールする方法
ubuntuでファイルサーバーを構築する
Ubuntu16.04にNginxをインストールする方法
Ubuntu18.04にHadoopシステム環境をインストールします
Ubuntu16.04にインストールした後にリングを構成する
Ubuntu Server12.4.0にOracle11gR2をインストールします
UbuntuサーバーにGnomeとVNCをインストールする
CentOS7に基づいてNginxロードバランシングを構成する
CentOS7に基づいてNginxフォワードプロキシを構成する
Ubuntu14.04にBaculaServerをインストールする方法
Ubuntu14.04でRedisクラスターを構成する方法
Ubuntu16.04でRedisレプリケーションを構成する方法
python3およびnginxプロジェクトをubuntu18.04にデプロイします
Ubuntu16.04でNginx + PHP 7.0 + MySQL環境を構成します
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu18.04にSquidプロキシサーバーをインストールする方法
Ubuntu14.04でShinyServerをセットアップする方法
Ubuntu16.04にNATSをインストールして構成する方法
Ubuntu18.04サーバーで静的IPを設定する方法
Ubuntu18.04にGogsをインストールして構成する方法
Ubuntu18.04にCyberpanelをインストールして構成する方法
Ubuntu18.04サーバーで静的IPを設定する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
UbuntuLinuxにGitとGitHubをインストールして使用する
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
ドッカーをubuntuサーバーにすばやくデプロイする方法
CentOS7に基づいて自動的に起動するようにNginxを構成します
ubuntuのランプ
Ubuntu16.04にElasticsearchをインストールして構成する方法
UbuntuはTomcatを構成します
Ubuntu14.04にPostGISをインストールして構成する方法
[練習] Ubuntuシステムにpython3.6をインストールする方法
Ubuntu18.04にVNCをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にOrientDBをインストールして構成する方法
Ubuntuシステムのインストール
Ubuntuシステムログで/ var / log / messagesを構成する方法
UbuntuはApacheを構成します
Ubuntu14.04で解析サーバーを実行する方法
Ubuntu18.04にGitをインストールする方法[クイックスタート]
Ubuntu16.04のNginxにロギングモジュールを追加する方法
Ubuntu14.04でApacheコンテンツキャッシングを構成する方法