From: Christian Couder Date: Mon, 19 Mar 2018 13:31:35 GMT Subject: [PATCH v2 24/36] lib-httpd: add apache-e-odb.conf Message-ID: <20180319133147.15413-25-chriscool@tuxfamily.org> In-Reply-To: <20180319133147.15413-1-chriscool@tuxfamily.org> This is an apache config file to test external object databases. It uses the upload.sh and list.sh cgi that have been added previously to make apache store external objects. Signed-off-by: Christian Couder --- t/lib-httpd/apache-e-odb.conf | 214 ++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 t/lib-httpd/apache-e-odb.conf diff --git a/t/lib-httpd/apache-e-odb.conf b/t/lib-httpd/apache-e-odb.conf new file mode 100644 index 0000000000..19a1540c82 --- /dev/null +++ b/t/lib-httpd/apache-e-odb.conf @@ -0,0 +1,214 @@ +ServerName dummy +PidFile httpd.pid +DocumentRoot www +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog access.log common +ErrorLog error.log + + LoadModule log_config_module modules/mod_log_config.so + + + LoadModule alias_module modules/mod_alias.so + + + LoadModule cgi_module modules/mod_cgi.so + + + LoadModule env_module modules/mod_env.so + + + LoadModule rewrite_module modules/mod_rewrite.so + + + LoadModule version_module modules/mod_version.so + + + LoadModule headers_module modules/mod_headers.so + + + +LockFile accept.lock + + + + + LoadModule auth_module modules/mod_auth.so + + + += 2.1> + + LoadModule auth_basic_module modules/mod_auth_basic.so + + + LoadModule authn_file_module modules/mod_authn_file.so + + + LoadModule authz_user_module modules/mod_authz_user.so + + + LoadModule authz_host_module modules/mod_authz_host.so + + + += 2.4> + + LoadModule authn_core_module modules/mod_authn_core.so + + + LoadModule authz_core_module modules/mod_authz_core.so + + + LoadModule access_compat_module modules/mod_access_compat.so + + + LoadModule mpm_prefork_module modules/mod_mpm_prefork.so + + + LoadModule unixd_module modules/mod_unixd.so + + + +PassEnv GIT_VALGRIND +PassEnv GIT_VALGRIND_OPTIONS +PassEnv GNUPGHOME +PassEnv ASAN_OPTIONS +PassEnv GIT_TRACE +PassEnv GIT_CONFIG_NOSYSTEM + +Alias /dumb/ www/ +Alias /auth/dumb/ www/auth/dumb/ + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL + SetEnv GIT_COMMITTER_NAME "Custom User" + SetEnv GIT_COMMITTER_EMAIL custom@example.com + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL + SetEnv GIT_NAMESPACE ns + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL + Header set Set-Cookie name=value + + + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL + +ScriptAlias /upload/ upload.sh/ +ScriptAlias /list/ list.sh/ + + Options FollowSymlinks + + + Options ExecCGI + + + Options ExecCGI + + + Options ExecCGI + + +RewriteEngine on +RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301] +RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302] +RewriteRule ^/smart-redir-auth/(.*)$ /auth/smart/$1 [R=301] +RewriteRule ^/smart-redir-limited/(.*)/info/refs$ /smart/$1/info/refs [R=301] +RewriteRule ^/ftp-redir/(.*)$ ftp://localhost:1000/$1 [R=302] + +RewriteRule ^/loop-redir/x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-(.*) /$1 [R=302] +RewriteRule ^/loop-redir/(.*)$ /loop-redir/x-$1 [R=302] + +# Apache 2.2 does not understand , so we use RewriteCond. +# And as RewriteCond does not allow testing for non-matches, we match +# the desired case first (one has abra, two has cadabra), and let it +# pass by marking the RewriteRule as [L], "last rule, do not process +# any other matching RewriteRules after this"), and then have another +# RewriteRule that matches all other cases and lets them fail via '[F]', +# "fail the request". +RewriteCond %{HTTP:x-magic-one} =abra +RewriteCond %{HTTP:x-magic-two} =cadabra +RewriteRule ^/smart_headers/.* - [L] +RewriteRule ^/smart_headers/.* - [F] + + +LoadModule ssl_module modules/mod_ssl.so + +SSLCertificateFile httpd.pem +SSLCertificateKeyFile httpd.pem +SSLRandomSeed startup file:/dev/urandom 512 +SSLRandomSeed connect file:/dev/urandom 512 +SSLSessionCache none +SSLMutex file:ssl_mutex +SSLEngine On + + + + AuthType Basic + AuthName "git-auth" + AuthUserFile passwd + Require valid-user + + + + AuthType Basic + AuthName "git-auth" + AuthUserFile passwd + Require valid-user + + + + AuthType Basic + AuthName "git-auth" + AuthUserFile passwd + Require valid-user + + +RewriteCond %{QUERY_STRING} service=git-receive-pack [OR] +RewriteCond %{REQUEST_URI} /git-receive-pack$ +RewriteRule ^/half-auth-complete/ - [E=AUTHREQUIRED:yes] + + + Order Deny,Allow + Deny from env=AUTHREQUIRED + + AuthType Basic + AuthName "Git Access" + AuthUserFile passwd + Require valid-user + Satisfy Any + + + + LoadModule dav_module modules/mod_dav.so + LoadModule dav_fs_module modules/mod_dav_fs.so + + DAVLockDB DAVLock + + Dav on + + + Dav on + + + + + LoadModule dav_svn_module modules/mod_dav_svn.so + + + DAV svn + SVNPath "${LIB_HTTPD_SVNPATH}" + + -- 2.17.0.rc0.37.g8f476fabe9