Menu
ā§Ē.ā§Ŧ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻŋāĻ â āϏā§āĻŽāĻžāϰā§āĻ HTTP
āϏā§āĻŽāĻžāϰā§āĻ HTTP
āĻāĻŽāϰāĻž āĻāϤā§āĻŽāϧā§āϝ SSL āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻā§āϏā§āϏ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻ āĻāĻŦāĻ git:// āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻā§āϏā§āϏ āĻāύ-āĻ āĻĨā§āύāĻāĻŋāĻā§āĻ āĻāϰā§āĻāĻŋ , āĻāĻŋāύā§āϤ⧠āĻāϰāĻ āĻāĻāĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ āĻĒā§āϰāĻā§āĻāϞ āĻāĻā§ āϝāĻž āĻĻā§āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ āϏāĻžāĻĨā§ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻŽā§āϞāϤ āϏā§āĻŽāĻžāϰā§āĻ āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ āϏā§āĻ āĻāĻĒ āĻāϰāĻž āĻšāϞ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻāĻāĻž CGI āĻāύāĻžāĻŦāϞ āĻāϰāĻž āĻāĻŦāĻ āĻāĻāĻž āĻšāϞ git-http-backend, āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ⧠āĻĻā§āĻā§āĻž āĻĨāĻžāĻā§āĨ¤ CGI āĻāϏāϞ⧠āĻĒāĻžāĻĨ āĻ āĻšā§āĻĄāĻžāϰāĻā§āϞ⧠āĻĒā§ā§, āϝāĻž git fetch āĻ āĻĨāĻŦāĻž git push āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ URL āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĒāĻžāĻ āĻžā§ āĻāĻŦāĻ HTTP āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŋ āύāĻž āϤāĻž āϝāĻžāĻāĻžāĻ āĻāϰ⧠(HTTP ā§§.ā§Ŧ.ā§Ŧ āĻāĻžāϰā§āĻļāύ āĻĨā§āĻā§ āϏāĻāϞ āĻā§āϞāĻžāĻāύā§āĻā§āϰ āĻāύā§āϝ āĻāĻĒāϝā§āĻā§āϤ)āĨ¤ āĻā§āϞāĻžāĻāύā§āĻ āϝāĻĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻšā§, āϤāĻāύ CGI āĻā§āϞāĻžāĻāύā§āĻ āĻāϰ āϏāĻžāĻĨā§ āϏā§āĻŽāĻžāϰā§āĻāϞāĻŋ āϝā§āĻāĻžāϝā§āĻ āĻāϰ⧠āĻ āύā§āϝāĻĨāĻžā§ āύā§āϰāĻŦ āĻāĻāĻžāϰāύā§āϰ āĻāύā§āϝ āĻāĻāĻŋ āĻĒāĻŋāĻā§ āĻšāĻā§ (āϤāĻžāĻ āĻāĻāĻŋ āĻĒā§āϰāĻžāύ⧠āĻā§āϞāĻžāĻāύā§āĻāĻĻā§āϰ āϏāĻžāĻĨā§ āĻĒā§āĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻžāĻāĻā§āĻžāϰā§āĻĄ āĻāĻŽā§āĻĒā§āϝāĻžāĻāĻŋāĻŦāϞ āĻšā§ā§ āĻĨāĻžāĻā§)āĻāĻāύ āĻāĻŽāĻžāϰāĻž āĻāĻāĻāĻž āĻŽā§āϞāĻŋāĻ āϏā§āĻ āĻāĻĒā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻļā§āϰ⧠āĻāϰāĻŦāĨ¤ āĻāĻŽāϰāĻž Apache āĻā§ CGI āϏāĻžāϰā§āĻāĻžāϰ āϧāϰ⧠āϏā§āĻāĻāĻĒ āĻāϰāĻŦāĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ Apache āϏā§āĻāĻāĻĒ āĻāϰāĻž āύāĻž āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠āϞāĻŋāύāĻžāĻā§āϏ āĻŦāĻā§āϏ āĻĻāĻŋā§ā§ āύāĻŋāĻā§āϰ āĻŽāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĻ
$ sudo apt-get install apache2 apache2-utils
$ a2enmod cgi alias env
āĻāĻāĻŋ mod_cgi, mod_alias, āĻāĻŦāĻ mod_env āĻŽāĻĄāĻŋāĻāϞ āĻā§āϞā§āĻā§ āĻāύāĻžāĻŦāϞ āĻāϰā§, āĻāϰ āϏāĻ āĻŋāĻ āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻ āĻŽāĻĄāĻŋāĻāϞ āĻā§āϞ⧠āĻĒā§āϰā§ā§āĻāύ āĻšā§āĨ¤
āϏāĻžāϰā§āĻāĻžāϰ āϝā§āύ āϰāĻŋāĻĒā§āĻāĻŋāĻā§āϰāĻŋāϤ⧠āϞā§āĻāϤ⧠āĻāĻŦāĻ āĻĒā§āϤ⧠āĻĒāĻžāϰ⧠āϏā§āĻ āĻāύā§āϝ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ /srv/git āĻĨā§āĻā§ www-data āĻāĻāύāĻŋāĻā§āϏ āĻāĻāĻāĻžāϰ āĻā§āϰā§āĻĒ āϏā§āĻ āĻāĻĒ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻžāϰāύ Apache āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ CGI āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§ āĻāϞāĻŽāĻžāύ āĻāϰ⧠āϝāĻž āĻāĻā§āϤ āĻāĻāĻāĻžāϰ āĻšāĻŋāϏā§āĻŦā§ āĻāϞāĻŽāĻžāύ āĻĨāĻžāĻāĻŦā§āĨ¤
āϏāĻžāϰā§āĻāĻžāϰ āϝā§āύ āϰāĻŋāĻĒā§āĻāĻŋāĻā§āϰāĻŋāϤ⧠āϞā§āĻāϤ⧠āĻāĻŦāĻ āĻĒā§āϤ⧠āĻĒāĻžāϰ⧠āϏā§āĻ āĻāύā§āϝ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ /srv/git āĻĨā§āĻā§ www-data āĻāĻāύāĻŋāĻā§āϏ āĻāĻāĻāĻžāϰ āĻā§āϰā§āĻĒ āϏā§āĻ āĻāĻĒ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻžāϰāύ Apache āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ CGI āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§ āĻāϞāĻŽāĻžāύ āĻāϰ⧠āϝāĻž āĻāĻā§āϤ āĻāĻāĻāĻžāϰ āĻšāĻŋāϏā§āĻŦā§ āĻāϞāĻŽāĻžāύ āĻĨāĻžāĻāĻŦā§āĨ¤
$ chgrp -R www-data /srv/git
āĻāϰāĻĒāϰ āĻāĻŽāĻžāĻĻā§āϰ Apache āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠āĻāĻŽāύ āĻāĻŋāĻā§ āϝā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻžāϤ⧠āĻāϰ⧠āĻā§ā§āĻŦ āϏāĻžāϰā§āĻāĻžāϰ⧠/git āĻāĻ āĻĒāĻĨā§ āϝāĻž āĻāĻŋāĻā§ āĻāϏā§āĻ āύāĻž āĻā§āύ āϝā§āύ git-http-backend āĻā§ āĻāϞāĻŽāĻžāύ āϰāĻžāĻāϤ⧠āϏāĻšāĻžā§āĻ āĻšā§āĨ¤
SetEnv GIT_PROJECT_ROOT /srv/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ GIT_HTTP_EXPORT_ALL āĻāĻ āĻā§āϰāĻŋā§ā§āĻŦāϞ āĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻāϰā§āύ āϤāĻžāĻšāϞ⧠Git āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāύ- āĻ
āĻĨā§āύāĻāĻŋāĻā§āĻā§āĻĄ āĻā§āϞāĻžāĻāύā§āĻāĻĻā§āϰ git-daemon-export-ok āĻĢāĻžāĻāϞā§āϰ āϏāĻžāĻĨā§ āϰāĻŋāĻĒā§āĻāĻŋāĻā§āϰāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻŦā§ āϝāĻž Git daemon āĻāϰā§āĻāĻŋāϞāĨ¤
āĻ āĻŦāĻļā§āώ⧠āĻāĻĒāύāĻžāĻā§ Apache āĻā§ āĻŦāϞāϤ⧠āĻšāĻŦā§ āϝ⧠git-http-backend āĻāϰ āϰāĻŋāĻā§ā§ā§āϏā§āĻāĻā§āϞāĻŋ āĻā§ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāϤ⧠āĻāĻŦāĻ āĻā§āύāĻāĻžāĻŦā§ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻ āĻāϰāϤā§, āϏāĻŽā§āĻāĻŦāϤ āύāĻŋāĻā§āϰ āĻŽāϤ āĻāĻāĻāĻŋ Auth āĻŦā§āϞāĻ āĻĻāĻŋā§ā§āĻ
āĻ āĻŦāĻļā§āώ⧠āĻāĻĒāύāĻžāĻā§ Apache āĻā§ āĻŦāϞāϤ⧠āĻšāĻŦā§ āϝ⧠git-http-backend āĻāϰ āϰāĻŋāĻā§ā§ā§āϏā§āĻāĻā§āϞāĻŋ āĻā§ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāϤ⧠āĻāĻŦāĻ āĻā§āύāĻāĻžāĻŦā§ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻ āĻāϰāϤā§, āϏāĻŽā§āĻāĻŦāϤ āύāĻŋāĻā§āϰ āĻŽāϤ āĻāĻāĻāĻŋ Auth āĻŦā§āϞāĻ āĻĻāĻŋā§ā§āĻ
AuthType Basic
AuthName "Git Access"
AuthUserFile /srv/git/.htpasswd
Require expr!(%{QUERY_STRING} -strmatch '*service=git-receive-pack*' || %{REQUEST_URI} =~ m#/git-receive-pack$#)
Require valid-user
āĻāĻĒāύāĻžāĻā§ .htpasswd āĻāĻāĻāĻž āĻĢāĻžāĻāϞ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ āϝā§āĻāĻžāύ⧠āϏāĻāϞ āĻŦā§āϧ āĻāĻāĻāĻžāϰā§āϰ āĻĒāĻžāϏāĻā§āĻžāϰā§āĻĄ āĻĨāĻžāĻāĻŦā§āĨ¤
âschaconâ āύāĻžāĻŽā§ āĻāĻ āĻāύ āĻāĻāĻāĻžāϰāĻā§ āĻāĻŋāĻāĻžāĻŦā§ āϰāĻžāĻāϤ⧠āĻšā§ āϏā§āĻāĻž āĻĻā§āĻāĻžāύ⧠āĻšāϞ āύāĻŋāĻā§:
âschaconâ āύāĻžāĻŽā§ āĻāĻ āĻāύ āĻāĻāĻāĻžāϰāĻā§ āĻāĻŋāĻāĻžāĻŦā§ āϰāĻžāĻāϤ⧠āĻšā§ āϏā§āĻāĻž āĻĻā§āĻāĻžāύ⧠āĻšāϞ āύāĻŋāĻā§:
$ htpasswd -c /srv/git/.htpasswd schacon
āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžā§ā§ Apache āĻāĻāĻāĻžāϰ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžā§, āĻāĻĒāύāĻžāĻā§ āϝ⧠āĻā§āύ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻĒāϰ⧠āϝāĻž āĻāϞā§āĻāύāĻž āĻāϰāϞāĻžāĻŽ āĻāĻāĻž āĻŽā§āĻāĻŽā§āĻāĻŋ āϏāĻšāĻ āĻāĻĻāĻžāĻšāϰāύ āĨ¤ SSL āĻāϰ āĻŽāϧā§āϝāĻŽā§ āϏā§āĻ āĻāĻĒ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻžāϤ⧠āĻāϰ⧠āϏāĻāϞ āĻĄā§āĻāĻž āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻšā§ā§ āĻāϏā§āĨ¤
āϝā§āĻšā§āϤ⧠āĻ āύā§āϝ āĻā§āύ āϏāĻžāϰā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāϞ āĻĢāϞāĻžāĻĢāϞ āĻĒāĻžāĻā§āĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϤāĻžāĻ Apache āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻŽāϰāĻž āĻā§āĻŦ āĻāĻā§āϰ⧠āϝāĻžāĻŦ āύāĻžāĨ¤ āĻāĻŦāĻžāϰ āĻāĻŋāύā§āύ āĻā§āύ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻļāύ āĻĒā§āϰā§ā§āĻāύ āĻšāϤā§āĻ āĻĒāĻžāϰā§āĨ¤ āĻŽā§āϞ āĻĒā§āϰāĻā§āϰāĻŋā§āĻž āĻšāϞ āĻāĻŋāĻā§āϰ āϏāĻžāĻĨā§ CGI āĻĨāĻžāĻā§ āϝāĻžāĻā§ git-http-backend āĻŦāϞāĻž āĻšā§āĨ¤ āϝāĻāύ āĻāĻā§ āĻāύāĻā§āĻ āĻāϰāĻž āĻšā§ āϤāĻāύ HTTP āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĄā§āĻāĻž āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻžāϰ āĻāύā§āύā§āϝ āϏāĻāϞ āύā§āĻā§āĻļāĻŋā§ā§āĻļāύ āύāĻŋāĻā§āĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ āύāĻŋāĻ āĻĨā§āĻā§ āĻā§āύ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻļāύ āĻĒā§āϰā§ā§āĻ āĻāϰ⧠āύāĻžāĨ¤ āϤāĻŦā§ āĻāĻāĻž āĻā§āĻŦ āϏāĻšāĻā§ āύāĻŋā§āύā§āϤā§āϰāύ āĻāϰāĻž āϝāĻžā§ āĻā§ā§āĻŦ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§āĨ¤ CGI āĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āĻāĻŽāύ āϝā§āĻā§āύ āĻā§ā§āĻŦ āϏāĻžāϰā§āĻāĻžāϰ āĻĻāĻŋā§ā§ āĻāĻāĻž āĻāϰāĻž āϝāĻžā§, āϤāĻžāĻ āϝ⧠āϝā§āĻāĻž āĻā§āĻŦ āĻāĻžāϞ āĻĒāĻžāϰ⧠āϏā§āĻāĻžāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāĻ āĻāĻžāϞāĨ¤
āϝā§āĻšā§āϤ⧠āĻ āύā§āϝ āĻā§āύ āϏāĻžāϰā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāϞ āĻĢāϞāĻžāĻĢāϞ āĻĒāĻžāĻā§āĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϤāĻžāĻ Apache āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻŽāϰāĻž āĻā§āĻŦ āĻāĻā§āϰ⧠āϝāĻžāĻŦ āύāĻžāĨ¤ āĻāĻŦāĻžāϰ āĻāĻŋāύā§āύ āĻā§āύ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻļāύ āĻĒā§āϰā§ā§āĻāύ āĻšāϤā§āĻ āĻĒāĻžāϰā§āĨ¤ āĻŽā§āϞ āĻĒā§āϰāĻā§āϰāĻŋā§āĻž āĻšāϞ āĻāĻŋāĻā§āϰ āϏāĻžāĻĨā§ CGI āĻĨāĻžāĻā§ āϝāĻžāĻā§ git-http-backend āĻŦāϞāĻž āĻšā§āĨ¤ āϝāĻāύ āĻāĻā§ āĻāύāĻā§āĻ āĻāϰāĻž āĻšā§ āϤāĻāύ HTTP āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĄā§āĻāĻž āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻžāϰ āĻāύā§āύā§āϝ āϏāĻāϞ āύā§āĻā§āĻļāĻŋā§ā§āĻļāύ āύāĻŋāĻā§āĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ āύāĻŋāĻ āĻĨā§āĻā§ āĻā§āύ āĻ āĻĨā§āύāĻāĻŋāĻā§āĻļāύ āĻĒā§āϰā§ā§āĻ āĻāϰ⧠āύāĻžāĨ¤ āϤāĻŦā§ āĻāĻāĻž āĻā§āĻŦ āϏāĻšāĻā§ āύāĻŋā§āύā§āϤā§āϰāύ āĻāϰāĻž āϝāĻžā§ āĻā§ā§āĻŦ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§āĨ¤ CGI āĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āĻāĻŽāύ āϝā§āĻā§āύ āĻā§ā§āĻŦ āϏāĻžāϰā§āĻāĻžāϰ āĻĻāĻŋā§ā§ āĻāĻāĻž āĻāϰāĻž āϝāĻžā§, āϤāĻžāĻ āϝ⧠āϝā§āĻāĻž āĻā§āĻŦ āĻāĻžāϞ āĻĒāĻžāϰ⧠āϏā§āĻāĻžāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāĻ āĻāĻžāϞāĨ¤
āύā§āĻ
āĻāĻĒāĻžāĻāĻŋ āϤ⧠āĻāϰāĻ āĻ
āĻĨā§āύā§āĻāĻŋāĻā§āĻļāύ āĻāύāĻĢāĻŋāĻāĻžāϰā§āϰ āĻāύā§āϝ āĻāϰāĻ āĻāύāĻĢāϰāĻŽā§āĻļāύ āĻāĻ āϞāĻŋāĻāĻ āĻ āĻĻā§ā§āĻž āĻāĻā§āĻ https://httpd.apache.org/docs/current/howto/auth.html
āĻ
āύā§āϝāĻžāύā§āϝ āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻŽāĻžāϰā§āĻā§āϰ āĻ
āĻŦāϏā§āĻĨāĻž āĻāĻžāύāĻžāϰ āĻāύā§āϝ⧠āĻāĻĒāύāĻŋ āϏāϰā§āĻŦāĻĻāĻžāĻ āĻāĻāĻāĻŋ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āĻĒā§āϰāĻĨāĻŽ āĻŦā§āϰāĻžāĻā§āĻāĻāĻŋ āĻā§āĻ āύāĻž āĻāϰā§āĻ, āϝā§āĻŽāύ, master āĻŦā§āϰāĻžāĻā§āĻā§ āĻā§āύāĻāĻŋ āĻŽāĻžāϰā§āĻ āĻšā§āύāĻŋ?