私はHTTP経由でGitサーバーを稼動させようとしており、またHTTP経由でSVNも稼動させています。私はCentOS 6を稼動させています。
私のgit.conf(/etc/httpd/conf.d/にある)ファイルは次のようになります
ロードモジュール authnz_ldap_module モジュール/mod_authnz_ldap_module.so ロードモジュール ldap_module モジュール/mod_ldap.so サーバー名 blahblah/git/repos ドキュメントルート /var/www/git/repos SSLエンジンオン SSL証明書ファイル /etc/ssl/server.crt SSL証明書キーファイル /etc/ssl/server.key SetEnvIf ユーザーエージェント ".*MSIE.*" nokeepalive ssl-unclean-shutdown エラーログ /var/log/httpd/git-error.log CustomLog /var/log/httpd/git-access.log を組み合わせたもの # cgi-bin スクリプトを有効にする オプション ExecCGI FollowSymLinks AddHandler cgi-スクリプト cgi # Git HTTPバックエンドを構成する SetEnv GIT_PROJECT_ROOT /var/www/git 環境設定 GIT_HTTP_EXPORT_ALL SetEnv GITWEB_CONFIG /etc/gitweb.conf # 注意: 静的ファイルを直接提供する エイリアスマッチ ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1 エイリアスマッチ ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1 # 注意: Git HTTP バックエンドを使用してリポジトリ オブジェクトを提供します スクリプトエイリアスマッチ \ "(?x)^/(.*/(HEAD | \ 情報/参照 | \ オブジェクト/情報/[^/]+ | \ git-(アップロード|受信)-pack))$" \ /usr/libexec/git-core/git-http-backend/$1 # 注意: Gitweb で HTML を提供する スクリプトエイリアス / gitweb/gitweb.cgi # mod rewrite を有効にする RewriteEngineオン # フロントページをgitwebスクリプトの内部書き換えにする 書き換えルール ^/$ /gitweb/gitweb.cgi [L] # リポジトリのショートカットを作成します。URLは次のようになります # Gitweb で適切なリポジトリをロードします 書き換えルール ^/(\w+\.git)$ /?p=$1 [L,P] # Git-Http-Backend をルートする スクリプトエイリアス / /usr/lib/git-core/git-http-backend/ # すべてのリソースへのアクセスを要求する AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" なし AuthzLDAPAuthoritative オフ AuthzGroupFileAuthoritative オフ AuthzUserAuthoritative オフ AuthLDAPBindDN blah@blah AuthLDAPBindPassword "blah" 認証タイプ 基本 AuthName「blah」 AuthBasicProvider ldap # 重要、そうでない場合は「(9)不正なファイル記述子: パスワードファイルを開けませんでした: (null)」 認証ユーザーファイル /dev/null 有効なユーザーを要求する
私の subversion.conf ファイルは次のようになります (/etc/httpd/conf.d/subversion.conf にあります)
<Location /repos>
DAV svn
SVNPath /var/www/svn/repos
# search user (192.168.1.1 is the IP address of the Active Directory server)
AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" NONE
AuthzLDAPAuthoritative off
AuthzGroupFileAuthoritative off
AuthzUserAuthoritative off
AuthLDAPBindDN blah@blah
AuthLDAPBindPassword blah
AuthType Basic
AuthName "blah"
AuthBasicProvider ldap
# Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
AuthUserFile /dev/null
Require valid-user
</Location>