Improve documentation to illustrate "push authenticated, fetch anonymous" configuration for smart HTTP servers. * jk/doc-http-backend: doc/http-backend: match query-string in apache half-auth example doc/http-backend: give some lighttpd config examples doc/http-backend: clarify "half-auth" repo configuration
		
			
				
	
	
		
			157 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ApacheConf
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ApacheConf
		
	
	
	
	
	
ServerName dummy
 | 
						|
LockFile accept.lock
 | 
						|
PidFile httpd.pid
 | 
						|
DocumentRoot www
 | 
						|
LogFormat "%h %l %u %t \"%r\" %>s %b" common
 | 
						|
CustomLog access.log common
 | 
						|
ErrorLog error.log
 | 
						|
<IfModule !mod_log_config.c>
 | 
						|
	LoadModule log_config_module modules/mod_log_config.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_alias.c>
 | 
						|
	LoadModule alias_module modules/mod_alias.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_cgi.c>
 | 
						|
	LoadModule cgi_module modules/mod_cgi.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_env.c>
 | 
						|
	LoadModule env_module modules/mod_env.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_rewrite.c>
 | 
						|
	LoadModule rewrite_module modules/mod_rewrite.so
 | 
						|
</IFModule>
 | 
						|
<IfModule !mod_version.c>
 | 
						|
	LoadModule version_module modules/mod_version.so
 | 
						|
</IfModule>
 | 
						|
 | 
						|
<IfVersion < 2.1>
 | 
						|
<IfModule !mod_auth.c>
 | 
						|
	LoadModule auth_module modules/mod_auth.so
 | 
						|
</IfModule>
 | 
						|
</IfVersion>
 | 
						|
 | 
						|
<IfVersion >= 2.1>
 | 
						|
<IfModule !mod_auth_basic.c>
 | 
						|
	LoadModule auth_basic_module modules/mod_auth_basic.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_authn_file.c>
 | 
						|
	LoadModule authn_file_module modules/mod_authn_file.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_authz_user.c>
 | 
						|
	LoadModule authz_user_module modules/mod_authz_user.so
 | 
						|
</IfModule>
 | 
						|
<IfModule !mod_authz_host.c>
 | 
						|
	LoadModule authz_host_module modules/mod_authz_host.so
 | 
						|
</IfModule>
 | 
						|
</IfVersion>
 | 
						|
 | 
						|
PassEnv GIT_VALGRIND
 | 
						|
PassEnv GIT_VALGRIND_OPTIONS
 | 
						|
 | 
						|
Alias /dumb/ www/
 | 
						|
Alias /auth/dumb/ www/auth/dumb/
 | 
						|
 | 
						|
<LocationMatch /smart/>
 | 
						|
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
 | 
						|
	SetEnv GIT_HTTP_EXPORT_ALL
 | 
						|
</LocationMatch>
 | 
						|
<LocationMatch /smart_noexport/>
 | 
						|
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
 | 
						|
</LocationMatch>
 | 
						|
<LocationMatch /smart_custom_env/>
 | 
						|
	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
 | 
						|
</LocationMatch>
 | 
						|
<LocationMatch /smart_namespace/>
 | 
						|
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
 | 
						|
	SetEnv GIT_HTTP_EXPORT_ALL
 | 
						|
	SetEnv GIT_NAMESPACE ns
 | 
						|
</LocationMatch>
 | 
						|
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
 | 
						|
ScriptAlias /broken_smart/ broken-smart-http.sh/
 | 
						|
<Directory ${GIT_EXEC_PATH}>
 | 
						|
	Options FollowSymlinks
 | 
						|
</Directory>
 | 
						|
<Files broken-smart-http.sh>
 | 
						|
	Options ExecCGI
 | 
						|
</Files>
 | 
						|
<Files ${GIT_EXEC_PATH}/git-http-backend>
 | 
						|
	Options ExecCGI
 | 
						|
</Files>
 | 
						|
 | 
						|
RewriteEngine on
 | 
						|
RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
 | 
						|
RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
 | 
						|
 | 
						|
<IfDefine SSL>
 | 
						|
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
 | 
						|
</IfDefine>
 | 
						|
 | 
						|
<Location /auth/>
 | 
						|
	AuthType Basic
 | 
						|
	AuthName "git-auth"
 | 
						|
	AuthUserFile passwd
 | 
						|
	Require valid-user
 | 
						|
</Location>
 | 
						|
 | 
						|
<LocationMatch "^/auth-push/.*/git-receive-pack$">
 | 
						|
	AuthType Basic
 | 
						|
	AuthName "git-auth"
 | 
						|
	AuthUserFile passwd
 | 
						|
	Require valid-user
 | 
						|
</LocationMatch>
 | 
						|
 | 
						|
<LocationMatch "^/auth-fetch/.*/git-upload-pack$">
 | 
						|
	AuthType Basic
 | 
						|
	AuthName "git-auth"
 | 
						|
	AuthUserFile passwd
 | 
						|
	Require valid-user
 | 
						|
</LocationMatch>
 | 
						|
 | 
						|
RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
 | 
						|
RewriteCond %{REQUEST_URI} /git-receive-pack$
 | 
						|
RewriteRule ^/half-auth-complete/ - [E=AUTHREQUIRED:yes]
 | 
						|
 | 
						|
<Location /half-auth-complete/>
 | 
						|
  Order Deny,Allow
 | 
						|
  Deny from env=AUTHREQUIRED
 | 
						|
 | 
						|
  AuthType Basic
 | 
						|
  AuthName "Git Access"
 | 
						|
  AuthUserFile passwd
 | 
						|
  Require valid-user
 | 
						|
  Satisfy Any
 | 
						|
</Location>
 | 
						|
 | 
						|
<IfDefine DAV>
 | 
						|
	LoadModule dav_module modules/mod_dav.so
 | 
						|
	LoadModule dav_fs_module modules/mod_dav_fs.so
 | 
						|
 | 
						|
	DAVLockDB DAVLock
 | 
						|
	<Location /dumb/>
 | 
						|
		Dav on
 | 
						|
	</Location>
 | 
						|
	<Location /auth/dumb>
 | 
						|
		Dav on
 | 
						|
	</Location>
 | 
						|
</IfDefine>
 | 
						|
 | 
						|
<IfDefine SVN>
 | 
						|
	LoadModule dav_svn_module modules/mod_dav_svn.so
 | 
						|
 | 
						|
	<Location /svn>
 | 
						|
		DAV svn
 | 
						|
		SVNPath svnrepo
 | 
						|
	</Location>
 | 
						|
</IfDefine>
 |