# projects web page will be: https://192.168.1.8/gitweb/ # Create a git project (e.g. testproject.git): # mkdir -p /opt/GITRepositories/testproject.git # cd /opt/GITRepositories/testproject.git # git init --bare --shared # cp -v /opt/GITRepositories/test.git/hooks/post-update.sample /opt/GITRepositories/test.git/hooks/post-update # now https://192.168.1.8/testproject.git is ready for cloning: # git clone https://192.168.1.8/testproject.git # cat /etc/httpd/conf.d/git.conf SetEnv GIT_PROJECT_ROOT /opt/GITRepositories SetEnv GIT_HTTP_EXPORT_ALL <LocationMatch "^/[^/]+\.git(/.*)"> AuthType Basic AuthName "Git Access" AuthUserFile "/opt/GITRepositories/committers.txt" Require valid-user # Require group committers </LocationMatch> AliasMatch ^/([^/]+\.git)/(objects/[0-9a-f]{2}/[0-9a-f]{38})$ /opt/GITRepositories/$1/$2 AliasMatch ^/([^/]+\.git)/(objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /opt/GITRepositories/$1/$2 ScriptAliasMatch \ "(?x)^/([^/]+\.git/(HEAD | \ info/refs | \ objects/(info/[^/]+ | \ [0-9a-f]{2}/[0-9a-f]{38} | \ pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ git-(upload|receive)-pack))$" \ /usr/libexec/git-core/git-http-backend/$1 # ScriptAlias /gitweb /var/www/git/gitweb.cgi Alias /gitweb /var/www/git <Directory /var/www/git> AuthType Basic AuthName "Git Access" AuthUserFile "/opt/GITRepositories/committers.txt" Require valid-user Options +ExecCGI AddHandler cgi-script .cgi DirectoryIndex gitweb.cgi </Directory> # grep -i -P "^[^#]" /etc/gitweb.conf $projects_list_description_width = "50"; $projectroot = "/opt/GITRepositories"; $home_link_str = "projects"; $base_url = "https://192.168.1.8/gitweb/"; @git_base_url_list = qw(https://192.168.1.8)
see also Basic authentication password creation