п·п╠п╥п╬я─

Subversion п╠я▀п╩ я─п╟п╥я─п╟п╠п╬я┌п╟п╫ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ п╟п╠я│я┌я─п╟п╨я┌п╫п╬пЁп╬ я│п╣я┌п╣п╡п╬пЁп╬ я┐я─п╬п╡п╫я▐. п╜я┌п╬ п╬п╥п╫п╟я┤п╟п╣я┌, я┤я┌п╬ п╫п╟ п©я─п╬пЁя─п╟п╪п╪п╫п╬п╪ я┐я─п╬п╡п╫п╣ п╢п╩я▐ п╢п╬я│я┌я┐п©п╟ п╨ я┘я─п╟п╫п╦п╩п╦я┴я┐ п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫ п╩я▌п╠п╬п╧ я┌п╦п© я│п╣я─п╡п╣я─п╟, п╟ б╚п╨п╩п╦п╣п╫я┌я│п╨п╦п╧ API п╢п╩я▐ п╢п╬я│я┌я┐п©п╟ п╨ я┘я─п╟п╫п╦п╩п╦я┴я┐б╩ п╢п╟п╣я┌ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟п╪ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌я▄ я│п╬п╥п╢п╟п╡п╟я┌я▄ п©п╩п╟пЁп╦п╫я▀, п╨п╬я┌п╬я─я▀п╣ п╠я┐п╢я┐я┌ п╡п╥п╟п╦п╪п╬п╢п╣п╧я│я┌п╡п╬п╡п╟я┌я▄ я│ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╦п╪ я│п╣я┌п╣п╡я▀п╪ п©я─п╬я┌п╬п╨п╬п╩п╬п╪. п╒п╣п╬я─п╣я┌п╦я┤п╣я│п╨п╦, Subversion п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╣п╬пЁя─п╟п╫п╦я┤п╣п╫п╫п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ я│п╣я┌п╣п╡я▀я┘ я─п╣п╟п╩п╦п╥п╟я├п╦п╧. п÷я─п╟п╨я┌п╦я┤п╣я│п╨п╦ п╤п╣, п╫п╟ п╢п╟п╫п╫я▀п╧ п╪п╬п╪п╣п╫я┌ п╣я│я┌я▄ я┌п╬п╩я▄п╨п╬ п╢п╡п╟ я│п╣я─п╡п╣я─п╟.

Apache Б─■ п╫п╟п╦п╠п╬п╩п╣п╣ п©п╬п©я┐п╩я▐я─п╫я▀п╧ web-я│п╣я─п╡п╣я─; п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╬п╢я┐п╩я▐ mod_dav_svn Apache п©п╬п╩я┐я┤п╟п╣я┌ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌я▄ п╢п╬я│я┌я┐п©п╟ п╨ я┘я─п╟п╫п╦п╩п╦я┴я┐, п╟ я┌п╟п╨ п╤п╣ п╢п╣п╩п╟п╣я┌ п╣пЁп╬ п╢п╬я│я┌я┐п©п╫я▀п╪ п╢п╩я▐ п╨п╩п╦п╣п╫я┌п╬п╡, п╦я│п©п╬п╩я▄п╥я┐я▐ п©я─п╬я┌п╬п╨п╬п╩ WebDAV/DeltaV, п╨п╬я┌п╬я─я▀п╧ я▐п╡п╩я▐п╣я┌я│я▐ я─п╟я│я┬п╦я─п╣п╫п╦п╣п╪ HTTP. п▓ п╢я─я┐пЁп╬п╪ я┐пЁп╩я┐ я─п╦п╫пЁп╟ Б─■ svnserve Б─■ п╫п╣п╠п╬п╩я▄я┬п╬п╧, я│п╟п╪п╬я│я┌п╬я▐я┌п╣п╩я▄п╫я▀п╧ я│п╣я─п╡п╣я─, п╦я│п©п╬п╩я▄п╥я┐я▌я┴п╦п╧ п╢п╩я▐ я│п╡я▐п╥п╦ я│ п╨п╩п╦п╣п╫я┌п╟п╪п╦ я│п╬п╠я│я┌п╡п╣п╫п╫я▀п╧ п©я─п╬я┌п╬п╨п╬п╩. п▓ п╒п╟п╠п╩п╦я├п╟б═6.1, б╚п║я─п╟п╡п╫п╣п╫п╦п╣ я│п╣я─п╡п╣я─п╬п╡б╩ п╢п╟п╫п╬ я│я─п╟п╡п╫п╣п╫п╦п╣ я█я┌п╦я┘ п╢п╡я┐я┘ я│п╣я─п╡п╣я─п╬п╡.

п╒п╟п╠п╩п╦я├п╟ 6.1. п║я─п╟п╡п╫п╣п╫п╦п╣ я│п╣я─п╡п╣я─п╬п╡

п▓п╬п╥п╪п╬п╤п╫п╬я│я┌я▄ Apache + mod_dav_svn svnserve
п²п╟я│я┌я─п╬п╧п╨п╦ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╦я▐ п╩п╦я┤п╫п╬я│я┌п╦ я│я┌п╟п╫п╢п╟я─я┌п╫п╬п╣ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╦п╣ п╩п╦я┤п╫п╬я│я┌п╦ я│я─п╣п╢я│я┌п╡п╟п╪п╦ HTTP(S), я│п╣я─я┌п╦я└п╦п╨п╟я┌я▀ X.509, LDAP, NTLM, п╟ я┌п╟п╨п╤п╣ п╢я─я┐пЁп╦п╣ п╪п╣я┘п╟п╫п╦п╥п╪я▀, п╢п╬я│я┌я┐п©п╫я▀п╣ п╢п╩я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п╡ Apache CRAM-MD5 п╦п╩п╦ SSH
п²п╟я│я┌я─п╬п╧п╨п╦ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄я│п╨п╦я┘ я┐я┤п╣я┌п╫я▀я┘ п╥п╟п©п╦я│п╣п╧ п╡п╫я┐я┌я─п╣п╫п╫п╦п╧ я└п╟п╧п╩ 'users' п╡п╫я┐я┌я─п╣п╫п╫п╦п╧ я└п╟п╧п╩ 'users' п╦п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦я┘ я│п╦я│я┌п╣п╪п╫я▀я┘ (SSH) я┐я┤п╣я┌п╫я▀я┘ п╥п╟п©п╦я│п╣п╧
п²п╟я│я┌я─п╬п╧п╨п╦ п©я─п╟п╡ п╢п╬я│я┌я┐п©п╟ п╢п╬я│я┌я┐п© п╫п╟ я┤я┌п╣п╫п╦п╣/п╥п╟п©п╦я│я▄ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ я│я─п╟п╥я┐ п╫п╟ п╡я│я▒ я┘я─п╟п╫п╦п╩п╦я┴п╣, п╦п╩п╦ п╫п╟я│я┌я─п╟п╦п╡п╟п╣я┌я│я▐ п©п╬-п╨п╟я┌п╟п╩п╬пЁп╬п╡п╬ п╢п╬я│я┌я┐п© п╫п╟ я┤я┌п╣п╫п╦п╣/п╥п╟п©п╦я│я▄ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ я│я─п╟п╥я┐ п╫п╟ п╡я│я▒ я┘я─п╟п╫п╦п╩п╦я┴п╣, п╦п╩п╦ п╫п╟я│я┌я─п╟п╦п╡п╟п╣я┌я│я▐ п©п╬-п╨п╟я┌п╟п╩п╬пЁп╬п╡п╬
п╗п╦я└я─п╬п╡п╟п╫п╦п╣ я┤п╣я─п╣п╥ SSL (п╬п©я├п╦п╬п╫п╟п╩я▄п╫п╬) я┤п╣я─п╣п╥ SSH-я┌я┐п╫п╫п╣п╩я▄ (п╬п©я├п╦п╬п╫п╟п╩я▄п╫п╬)
п▓п╣п╢п╣п╫п╦п╣ п╤я┐я─п╫п╟п╩п╟ п©п╬п╩п╫п╬я├п╣п╫п╫я▀п╧ п╤я┐я─п╫п╟п╩ Apache я│ п╥п╟п©п╦я│я▐п╪п╦ п╬ п╨п╟п╤п╢п╬п╪ HTTP п╥п╟п©я─п╬я│п╣, я│ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌я▄я▌ б╚п╡я▀я│п╬п╨п╬я┐я─п╬п╡п╫п╣п╡п╬пЁп╬б╩ я┐я┤п╣я┌п╟ п╩я▌п╠я▀я┘ п╬п©п╣я─п╟я├п╦п╧ п╨п╩п╦п╣п╫я┌п╟ п╫п╣я┌ п╤я┐я─п╫п╟п╩п╟
п≤п╫я┌п╣я─п╬п©п╣я─п╟п╠п╣п╩я▄п╫п╬я│я┌я▄ я┤п╟я│я┌п╦я┤п╫п╬, п╦я│п©п╬п╩я▄п╥я┐я▐ п╢я─я┐пЁп╦п╣ WevDAV-п╨п╩п╦п╣п╫я┌я▀ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ svn п╨п╩п╦п╣п╫я┌п╬п╡
п÷я─п╬я│п╪п╬я┌я─ я┤п╣я─п╣п╥ п╡п╣п╠ п╬пЁя─п╟п╫п╦я┤п╣п╫п╫п╟я▐ п╡я│я┌я─п╬п╣п╫п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟, п╦п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п©я─п╬пЁя─п╟п╪п╪ я│я┌п╬я─п╬п╫п╫п╦я┘ я─п╟п╥я─п╟п╠п╬я┌я┤п╦п╨п╬п╡, я┌п╟п╨п╦я┘, п╨п╟п╨ ViewVS я┌п╬п╩я▄п╨п╬ п©я─п╦ п©п╬п╪п╬я┴п╦ п©я─п╬пЁя─п╟п╪п╪ я│я┌п╬я─п╬п╫п╫п╦я┘ я─п╟п╥я─п╟п╠п╬я┌я┤п╦п╨п╬п╡, я┌п╟п╨п╦я┘, п╨п╟п╨ ViewVS
п║п╨п╬я─п╬я│я┌я▄ п╠п╬п╩п╣п╣ п╫п╦п╥п╨п╟я▐ п╠п╬п╩п╣п╣ п╡я▀я│п╬п╨п╟я▐
п²п╟я┤п╟п╩я▄п╫п╟я▐ я┐я│я┌п╟п╫п╬п╡п╨п╟ п╫п╣я│п╨п╬п╩я▄п╨п╬ я│п╩п╬п╤п╫п╟я▐ п╢п╬я│я┌п╟я┌п╬я┤п╫п╬ п©я─п╬я│я┌п╟я▐

Http-я│п╣я─п╡п╣я─ Apache

п п╟п╨ я█я┌п╬ я─п╟п╠п╬я┌п╟п╣я┌:

пёя│я┌п╟п╫п╬п╡п╦я┌п╣ п╦ п╫п╟я│я┌я─п╬п╧я┌п╣ я│п╣я─п╡п╣я─ Apache 2.0, п╥п╟я┌п╣п╪ п╟п╨я┌п╦п╡п╦я─я┐п╧я┌п╣ п╪п╬п╢я┐п╩я▄ я│п╣я─п╡п╣я─п╟ subversion. п п╩п╦п╣п╫я┌я▀ п╠я┐п╢я┐я┌ п╬п╠я─п╟я┴п╟я┌я▄я│я▐ п╨ я│п╣я─п╡п╣я─я┐ я┤п╣я─п╣п╥ HTTP п╦п╩п╦ HTTPS, п╦я│п©п╬п╩я▄п╥я┐я▐ п©я─п╬я┌п╬п╨п╬п╩ WebDAV.

п÷я─п╣п╦п╪я┐я┴п╣я│я┌п╡п╟ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • Subversion п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╩я▌п╠п╬п╧ п╦п╥ п╪п╣я┘п╟п╫п╦п╥п╪п╬п╡ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦, п╦п╫я┌п╣пЁя─п╦я─п╬п╡п╟п╫п╫я▀п╧ п╡ Apache.

  • п²п╣я┌ п╫я┐п╤п╢я▀ я│п╬п╥п╢п╟п╡п╟я┌я▄ я┐я┤я▒я┌п╫я▀п╣ п╥п╟п©п╦я│п╦ п╫п╟ я│п╣я─п╡п╣я─п╣.

  • п▓п╣п╢п╣п╫п╦п╣ п╩п╬пЁп╬п╡ я│я─п╣п╢я│я┌п╡п╟п╪п╦ Apache.

  • п▓п╬п╥п╪п╬п╤п╫п╬я│я┌я▄ я┬п╦я└я─п╬п╡п╟я┌я▄ я┌я─п╟я└п╦п╨ я│ п©п╬п╪п╬я┴я▄я▌ SSL.

  • п∙я│п╩п╦ п╨п╬п╪п©я▄я▌я┌п╣я─ п╦п╩п╦ я│п╣я┌я▄ п╥п╟я┴п╦я┴п╣п╫я▀ п╠я─п╟п╫п╢п╪п╟я┐я█я─п╬п╪, п©п╬я─я┌я▀ HTTP(S) п╬п╠я▀я┤п╫п╬ п╬я┌п╨я─я▀я┌я▀.

  • п▓я│я┌я─п╬п╣п╫п╫я▀п╧ п©я─п╬я│п╪п╬я┌я─ я┘я─п╟п╫п╦п╩п╦я┴п╟ я┤п╣я─п╣п╥ п╡п╣п╠-п╬п╠п╬п╥я─п╣п╡п╟я┌п╣п╩я▄.

  • п╔я─п╟п╫п╦п╩п╦я┴п╣ п╪п╬п╤п╣я┌ п╠я▀я┌я▄ я│п╪п╬п╫я┌п╦я─п╬п╡п╟п╫п╬ п╨п╟п╨ я│п╣я┌п╣п╡п╬п╧ п╢п╦я│п╨. (п║п╪п╬я┌я─п╦я┌п╣ б╚Autoversioningб╩.)

п²п╣п╢п╬я│я┌п╟я┌п╨п╦ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • п║п╨п╬я─п╬я│я┌я▄ п╥п╟п╪п╣я┌п╫п╬ п╫п╦п╤п╣, я┤п╣п╪ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ svnserve.

  • п÷п╣я─п╡п╦я┤п╫п╟я▐ п╫п╟я│я┌я─п╬п╧п╨п╟ п╠п╬п╩п╣п╣ п╨п╬п╪п©п╩п╣п╨я│п╫п╟я▐.

п║п╣я─п╡п╣я─ svnserve

п п╟п╨ п╬п╫ я─п╟п╠п╬я┌п╟п╣я┌:

"п⌡я▒пЁп╨п╦п╧" п©я─п╬я├п╣я│я│, п╨п╬я┌п╬я─я▀п╧ п╪п╬п╤п╣я┌ я─п╟п╠п╬я┌п╟я┌я▄ п╨п╟п╨ я│п╟п╪п╬я│я┌п╬я▐я┌п╣п╩я▄п╫п╬, я┌п╟п╨ п╦ "п©п╬ п╡я▀п╥п╬п╡я┐" inetd. п░я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▐ п©я─п╬п╦я│я┘п╬п╢п╦я┌ п©п╬ п╟п╩пЁп╬я─п╦я┌п╪я┐ CRAM-MD5. п≤я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ я│п╡п╬п╧ п©я─п╬я┌п╬п╨п╬п╩.

п÷я─п╣п╦п╪я┐я┴п╣я│я┌п╡п╟ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • п▒я▀я│я┌я─п╟я▐ п╦ п╩я▒пЁп╨п╟я▐ я┐я│я┌п╟п╫п╬п╡п╨п╟.

  • п║п╣я┌п╣п╡п╬п╧ п©я─п╬я┌п╬п╨п╬п╩ п╠п╬п╩п╣п╣ п©я─п╬п╢п╡п╦п╫я┐я┌я▀п╧ п╦ я─п╟п╠п╬я┌п╟п╣я┌ п╬я┴я┐я┌п╦п╪п╬ п╠я▀я│я┌я─п╣п╣, я┤п╣п╪ WebDAV.

  • п²п╣я┌ п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬я│я┌п╦ я│п╬п╥п╢п╟п╡п╟я┌я▄ п╫п╟ я│п╣я─п╡п╣я─п╣ п╢п╬п©п╬п╩п╫п╦я┌п╣п╩я▄п╫я▀п╣ я┐я┤я▒я┌п╫я▀п╣ п╥п╟п©п╦я│п╦.

  • п÷п╟я─п╬п╩я▄ п╫п╣ п©п╣я─п╣п╢п╟я▒я┌я│я▐ п©п╬ я│п╣я┌п╦.

п²п╣п╢п╬я│я┌п╟я┌п╨п╦ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • п÷я─п╬я┌п╬п╨п╬п╩ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─п╬п╡п╟п╫п╦п╣.

  • п■п╬я│я┌я┐п©п╣п╫ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ п╪п╣я┌п╬п╢ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦.

  • п÷п╟я─п╬п╩я▄ я┘я─п╟п╫п╦я┌я│я▐ п╫п╟ я│п╣я─п╡п╣я─п╣ п╬я┌п╨я─я▀я┌я▀п╪ я┌п╣п╨я│я┌п╬п╪.

  • п⌡п╬пЁп╦ п╫п╣ п╡п╣п╢я┐я┌я│я▐, п╢п╟п╤п╣ п╩п╬пЁ п╬я┬п╦п╠п╬п╨.

svnserve я┤п╣я─п╣п╥ SSH

п п╟п╨ п╬п╫ я─п╟п╠п╬я┌п╟п╣я┌:

п п╩п╦п╣п╫я┌ п©п╬п╢п╨п╩я▌я┤п╟п╣я┌я│я▐ п╨ я│п╣я─п╡п╣я─я┐ я│ п©п╬п╪п╬я┴я▄я▌ SSH, п╦я│п©п╬п╩я▄п╥я┐я▐ я│п╦я│я┌п╣п╪п╫я┐я▌ я┐я┤я▒я┌п╫я┐я▌ п╥п╟п©п╦я│я▄. п÷я─п╦ я█я┌п╬п╪ п╫п╟ я│п╣я─п╡п╣я─п╣ п╥п╟п©я┐я│п╨п╟п╣я┌я│я▐ п╡я─п╣п╪п╣п╫п╫я▀п╧ п©я─п╬я├п╣я│я│ svnserve. п·п╫ я─п╟п╠п╬я┌п╟п╣я┌ я│ я┘я─п╟п╫п╦п╩п╦я┴п╣п╪, п╬п╠п╪п╣п╫п╦п╡п╟п╣я┌я│я▐ п╢п╟п╫п╫я▀п╪п╦ я│ п╨п╩п╦п╣п╫я┌п╬п╪ я┤п╣я─п╣п╥ SSH-я┌я┐п╫п╫п╣п╩я▄, п©п╬я│п╩п╣ я┤п╣пЁп╬, п©я─п╦ п╥п╟п╨я─я▀я┌п╦п╦ SSH-я│п╣я│я│п╦п╦, п╥п╟п╡п╣я─я┬п╟п╣я┌я│я▐. (п÷я─п╦ я█я┌п╬п╪ п╪п╣я┌п╬п╢п╣ п╡ я│п╦я│я┌п╣п╪п╣ п╫п╣ п╠я┐п╢п╣я┌ п©п╬я│я┌п╬я▐п╫п╫п╬ п╥п╟п©я┐я┴п╣п╫п╫я▀я┘ п©я─п╬я├п╣я│я│п╬п╡ svnserve).

п÷я─п╣п╦п╪я┐я┴п╣я│я┌п╡п╟ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • п≤я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╧ stateful-п©я─п╬я┌п╬п╨п╬п╩ п╥п╫п╟я┤п╦я┌п╣п╩я▄п╫п╬ п╠я▀я│я┌я─п╣п╣, я┤п╣п╪ WebDAV.

  • пёп╢п╬п╠я│я┌п╡п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦я┘ я┐я┤я▒я┌п╫я▀я┘ п╥п╟п©п╦я│п╣п╧ п╦ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄я│п╨п╬п╧ п╦п╫я└я─п╟я│я┌я─я┐п╨я┌я┐я─я▀.

  • п▓п╣я│я▄ я│п╣я┌п╣п╡п╬п╧ я┌я─п╟я└я└п╦п╨ я┬п╦я└я─я┐п╣я┌я│я▐.

п²п╣п╢п╬я│я┌п╟я┌п╨п╦ п╢п╟п╫п╫п╬пЁп╬ п╡п╟я─п╦п╟п╫я┌п╟:
  • п▓я▀п╠п╬я─ п╬п╢п╫п╬пЁп╬ п╪п╣я┌п╬п╢п╟ п╦п╢п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦

  • п√я┐я─п╫п╟п╩ п╫п╣ п╡п╣п╢п╣я┌я│я▐ п╡п╬п╬п╠я┴п╣, п╢п╟п╤п╣ п╥п╟п©п╦я│п╦ п╬п╠ п╬я┬п╦п╠п╨п╟я┘.

  • п╒я─п╣п╠я┐п╣я┌ п╬я┌ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ п©я─п╦п╫п╟п╢п╩п╣п╤п╫п╬я│я┌п╦ п╨ п╬п╢п╫п╬п╧ пЁя─я┐п©п©п╣ п╦п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п╬п╠я┴п╣пЁп╬ п╨п╩я▌я┤п╟ ssh.

  • п°п╬п╤п╣я┌ п©я─п╦п╡п╣я│я┌п╦ п╨ п©я─п╬п╠п╩п╣п╪п╟п╪ я│ п©я─п╟п╡п╟п╪п╦.

п▓я▀п╠п╬я─ п╩я┐я┤я┬п╣п╧ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│п╣я─п╡п╣я─п╟

п≤я┌п╟п╨, п╨п╟п╨п╬п╧ я│п╣я─п╡п╣я─ п╩я┐я┤я┬п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄? п п╟п╨п╬п╧ п╦п╥ п╫п╦я┘ п╩я┐я┤я┬п╣?

п п╬п╫п╣я┤п╫п╬, п╫п╟ я█я┌п╬я┌ п╡п╬п©я─п╬я│ п╫п╣я┌ я┌п╬я┤п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟. п п╟п╤п╢п╟я▐ п╨п╬п╪п╟п╫п╢п╟ п╦п╪п╣п╣я┌ я│п╡п╬п╦ п©п╬я┌я─п╣п╠п╫п╬я│я┌п╦, п╦ п╨п╟п╤п╢я▀п╧ я│п╣я─п╡п╣я─ п©я─п╣п╢п╬я│я┌п╟п╡п╩я▐п╣я┌ я│п╡п╬п╧ п╫п╟п╠п╬я─ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌п╣п╧. п║п╟п╪ п©я─п╬п╣п╨я┌ Subversion п╫п╣ п©я─п╣п╢п©п╬я┤п╦я┌п╟п╣я┌ п╨п╟п╨п╬п╧-я┌п╬ п╬п╢п╦п╫ я│п╣я─п╡п╣я─ п╦ п╫п╣ п©я─п╣п╢я│я┌п╟п╡п╩я▐п╣я┌ п╬п╢п╦п╫ п╦п╥ п╫п╦я┘ п╨п╟п╨ п╠п╬п╩п╣п╣ б╚п╬я└п╦я├п╦п╟п╩я▄п╫я▀п╧б╩.

п■п╩я▐ п╫п╣п╠п╬п╩я▄я┬п╬п╧ п╨п╬п╪п╟п╫п╢я▀, п╨п╬я┌п╬я─п╟я▐ я┘п╬я┤п╣я┌ п╫п╟я┤п╟я┌я▄ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я│п╣я─п╡п╣я─ Subversion, п╟п╡я┌п╬я─я▀ я█я┌п╬п╧ п╨п╫п╦пЁп╦ я─п╣п╨п╬п╪п╣п╫п╢я┐я▌я┌ п©я─п╬я│я┌я┐я▌ я┐я│я┌п╟п╫п╬п╡п╨я┐ svnserve; п╬п╫ п©я─п╬я│я┌ п╡ п╫п╟я│я┌я─п╬п╧п╨п╣ п╦ я┌я─п╣п╠я┐п╣я┌ п╪п╦п╫п╦п╪п╟п╩я▄п╫я▀я┘ я┐я│п╦п╩п╦п╧ п╫п╟ п©п╬п╢п╢п╣я─п╤п╨я┐. п÷п╬п╪п╫п╦я┌п╣, я┤я┌п╬ п╡я▀ п╡я│п╣пЁп╢п╟ п╪п╬п╤п╣я┌п╣ п©п╣я─п╣п╧я┌п╦ п╫п╟ п╠п╬п╩п╣п╣ п╨п╬п╪п©п╩п╣п╨я│п╫п╬п╣ я─п╣я┬п╣п╫п╦п╣, п╨п╬пЁп╢п╟ п╡п╟я┬п╦ п©п╬я┌я─п╣п╠п╫п╬я│я┌п╦ п╡я▀я─п╟я│я┌я┐я┌.

п▓п╬я┌ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╬п╠я┴п╦я┘ я─п╣п╨п╬п╪п╣п╫п╢п╟я├п╦п╧, п╬я│п╫п╬п╡п╟п╫п╫я▀я┘ п╫п╟ п╪п╫п╬пЁп╬п╩п╣я┌п╫п╣п╪ п╬п©я▀я┌п╣ п©п╬п╢п╢п╣я─п╤п╨п╦ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧:

  • If you're trying to set up the simplest possible server for your group, then a vanilla svnserve installation is the easiest, fastest route. Note, however, that your repository data will be transmitted in the clear over the network. If your deployment is entirely within your company's LAN or VPN, this isn't an issue. If the repository is exposed to the wide-open internet, then you might want to make sure the repository's contents aren't sensitive (e.g. it contains only open-source code.)

  • If you need to integrate with existing identity systems (LDAP, Active Directory, NTLM, X.509, etc.), then an Apache-based server is your only real option. Similarly, if you absolutely need server-side logs of either server errors or client activities, then an Apache-based server is required.

  • If you've decided to use either Apache or stock svnserve, create a single svn user on your system, and run either Apache or svnserve as that user. Be sure to make the repository directory wholly owned by the svn user as well. These keeps the repository data nicely siloed and protected by operating system filesystem permissions, changeable by only the Subverion server process itself.

  • If you have an existing infrastructure heavily based on SSH accounts, and if your users already have system accounts on your server machine, then it makes sense to deploy an svnserve-over-ssh solution. Otherwise, we don't recommend this option to the general public. It's generally considered safer to have your users access the repository via (imaginary) accounts managed by svnserve or Apache, rather than by full-blown system accounts. If your deep desire for encrypted communication still draws you to this option, we recommend using Apache with SSL instead.

  • Do not be seduced by the simple idea of having all of your users access a repository directly via file:/// URLs. Even if the repository is readily available to everyone via network share, this is a bad idea. It removes any layers of protection between the users and the repository: users can accidentally (or intentionally) corrupt the repository database, it becomes hard to take the repository 'offline' for inspection or upgrade, and it can lead to a mess of file-permissions problems (see б╚Supporting Multiple Repository Access Methodsб╩.) Note that this is also one of the reasons we warn against accessing repositories via svn+ssh:// URLs Б─■ from a security standpoint, it's effectively the same as local users accessing via file:///, and can entail all the same problems if the administrator isn't careful.)