Ò» ¡¢Ê×ÏÈ×¼±¸ºÃÏà¹ØµÄ°²×°°ü£¬ÎÒÕâÀïʹÓõÄÊÇÏÂÁеö°ü
Apr : apr-1.2.12 ºÍ apr-util-1.2.12
Apache : httpd-2.2.4.tar.gz
Subversion: subversion-1.4.5.tar.gz ºÍ subversion-deps-1.4.5.tar.gz
×¢Ò⣺ÔÚ°²×°¹ý³ÌÖпÉÄÜ»áÌáʾÐèÒª°²×°ÆäËûµÄ°ü£¬¸ù¾Ý¾ßÌåµÄÇé¿öÀ´°²×°ËùÐèÒªµÄ°ü£¬Èç¹û°²×°¹ý³ÌºÜ˳ÀûÔò˵Ã÷ÄãÔËÆøºÃ£¡
¶þ¡¢°²×°ºÍÅäÖò½Ö裺
1¡¢°²×°apr-1.2.12
# tar -zvxf apr-1.2.12.tar.gz
# cd apr-1.2.12
# ./configure /* °²×°²»Ö¸¶¨Â·¾¶Ê± ĬÈϰ²×°µ½/usr/local/apr
# make ; make install
2¡¢°²×° apr-util-1.2.12
# tar -zvxf apr-util-1.2.12.tar.gz
# cd apr-util-1.2.12
# ./configure - -with-apr=/usr/local/apr
# make ; make install
3¡¢°²×° httpd-2.2.4.tar.gz
# tar -zvxf httpd-2.2.4.tar.gz
# cd httpd-2.2.4
# ./configure
- -prefix=/usr/local/apache
- -with-apr=/usr/local/apr/bin/apr-1-config
- -with-apr-util=/usr/local/apr/bin/apu-1-config
- -enable-modules=so /* DSOģʽ°²×°apache £¨»ò --enable-so£©
- -enable-dav
- -enable-maintainer-mode
- - enable-rewrite
# make ; make install
°²×°ºÃºóÆô¶¯apache
# /usr/local/apache/bin/apachectl -k start
ÓÃä¯ÀÀÆ÷²é¿´http://localhost/,µÃµ½it works£¬ËµÃ÷apacheÒѾÅäÖóɹ¦ÁË¡£
4¡¢°²×°ºÍÅäÖà subversion
#tar -zvxf subversion-1.4.5.tar.gz
#tar -zvxf subversion-deps-1.4.5.tar.gz /*ÕâÁ½¸ö×Ô¶¯½âѹ³ÉÒ»¸ö°ü subversion-1.4.5
#cd subversion-1.4.5
#rm -rf apr
#rm -rf apr-util
×¢Ò⣺SVN ÒÀÀµµÄAPR°æ±¾ÒªÕýÈ·¡£Èç¹ûApacheΪ2.0.x£¬¶ÔÓ¦µÄAPR°æ±¾Ó¦Îª0.9.x£»ApacheΪ2.2.x£¬¶ÔÓ¦µÄAPR°æ±¾Ó¦Îª1.2.x¡£ÓÉÓÚsubversion-deps°üÀïµÄAPRÊÇ0.9.xµÄ£¬Òò´Ë±àÒësvnʱҪɾ³ý´ÓdepsÀï½âѹ³öÀ´µÄapr, apr-util£¬¸Ä¶øÊ¹ÓÃapache 2.2ÀïÌṩµÄ¡££¨ÕâÀïÖ¸¶¨Îª¿ªÊ¼°²×°µÄaprĿ¼£©,ÕâÒ»µã֪ʶ·Ç³£ÖØÒª,×Ô¼ºÖ®Ç°¶à´Î°²×°¶¼Ã»³É¹¦,ÏÖÔÚ²ÅÃ÷°×ÊÇÔÚÕâÒ»µã±»¿¨×¡ÁË,µ«×îÖÕ»¹ÊDZ»ÎÒ½â¾öÁË, ѧϰ,ºÍ²»¶Ïʵ¼ù »áʹÄã²»¶Ï³É³¤!
#./configure
--prefix=/usr/local/svn
--with-apxs=/usr/local/apache/bin/apxs
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-ssl
--with-zlib
--enable-maintainer-mode
#make
#make install
È·¶¨Ò»ÏÂsvnÓÐûÓа²×°³É¹¦
#/usr/local/svn/bin/svnserve - -version
»á¿´µ½Ïà¹Ø°æ±¾ÐÅÏ¢£¡
ÍêÁËÔÙ¿´¿´apache µÄÏà¹ØÄ£¿éÓÐûÓмÓÔØ£¡ÈçÏ£¡
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
µ½´ËÈç¹ûÒ»Ö±¶¼Ë³ÀûµÄ»°¾Í»ù±¾Ã»Ê²Ã´ÎÊÌ⣡¼ÌÐøÍùÏ£¡
¿ªÊ¼½¨Á¢°æ±¾¿â
#/usr/local/svn/bin/svnadmin create /svn/project/www /*´´½¨²Ö¿â"www"
#ls /svn/project/www /*²é¿´ÓÐûÓд´½¨ºÃ,Èç¹û¶àÁËһЩÎļþÔò˵Ã÷°æ±¾¿âÒѾ´´½¨ºÃ
µ¼ÈëÏîÄ¿Îļþµ½°æ±¾¿â
ÏÂÃæÕâÌõÓï¾ä½«°Ñ·¾¶/share/wwwÏÂÕÒµ½µÄÏîÄ¿Îļþµ¼Èëµ½Äã´´½¨µÄ/svn/project/www ²Ö¿âÖÐÈ¥£¬
Ìá½»ºóµÄÐÞ¶©°æÎª1
#/usr/local/svn/bin/svn import /share/www file:///svn/project/www -m ¡°×¢ÊÍ¡±
ÅäÖÃÌá¸ßsvn°æ±¾¿âµÄ°²È«ÐÔ
#chmod -R 700 /svn/project /*²»ÈÃÆäËûÈËÓиÃĿ¼µÄȨÏÞ
×¢Òâ: Ö±½ÓÕâôchmod»áµ¼ÖÂsvn¿Í»§¶ËÎÞ·¨·ÃÎÊ,ͬʱÐèÒªÐÞ¸ÄapacheÅäÖÃÎļþ./conf/httpd.confÎļþ,(Èç¹ûÄãµÄˮƽ²»¹»¸ßµÄ»°,ÕâÒ»²½¿ÉÒÔÏÈÌø¹ý,ÒÔÃâ¸ø×Ô¼ºÕÒÂé·³!µÈ°Ñ·þÎñÍêÈ«¸ã¶¨ºóÔÙÀ´½øÒ»²½Ìá¸ß°²È«ÐÔ) ÔÚhttpd.confÎļþÖÐÓÐÕâôһ¶ÎÄÚÈÝ:
User daemon
Group daemon
°ÑÉÏÊöÄÚÈݸijÉ:
User apache
Group apache
(ÎÒµÄϵͳÔÚ°²×°apacheµÄʱºò,×Ô¶¯Ôö¼ÓÁËapacheÓû§ºÍapache×é,Èç¹ûÄãϵͳûÓÐÕâ¸öÓû§ºÍ×é,ÔòÇë×Ô¼ºÌí¼Ó¸ÃÓû§ºÍ×é)
ÐÞ¸Äsvn²Ö¿âµÄËùÓÐÕß
#chown -R apache:apache /svn/project
5¡¢ÅäÖÃapacheÖ§³Ösvn
#vi /usr/local/apache/conf/httpd.conf
ÔÚÎļþĩβÌí¼Ó
DAV svn
SVNParentPath /svn/project (´Ë´¦ÅäÖÃÄãµÄ°æ±¾¿â¸ùĿ¼)
AuthType Basic £¨Á¬½ÓÀàÐÍÉèÖà »ù±¾ÑéÖ¤£©
AuthName "Hello welcome to here" £¨´Ë´¦×Ö·û´®ÄÚÈÝÐÞ¸ÄΪÌáʾ¶Ô»°¿ò±êÌ⣩
AuthUserFile /svn/passwd (´Ë´¦ÐÞ¸ÄΪ·ÃÎʰ汾¿âÓû§µÄÎļþ£¬
ÓÃapache µÄhtpasswdÃüÁîÉú³É)
AuthzSVNAccessFile /svn/auth.conf £¨´Ë´¦ÐÞ¸ÄΪ·ÃÎʰ汾¿âȨÏÞµÄÎļþ£©
Require valid-user £¨"Require valid-user"¸æËßapacheÔÚauthfileÖÐËùÓеÄÓû§¶¼¿ÉÒÔ·ÃÎÊ¡£
Èç¹ûûÓÐËü£¬ÔòÖ»ÄܵÚÒ»¸öÓû§¿ÉÒÔ·ÃÎÊн¨¿â£©
±£´æÎļþÍ˳ö!
ÖØÐÂÆô¶¯apache
# /usr/local/apache/bin/apachectl -k restart
ÏÈʹÓÃä¯ÀÀÆ÷¼ì²âÒ»ÏÂ
´ò¿ªä¯ÀÀÆ÷·ÃÎÊhttp://192.168.0.1/svn/www »áÌáʾÊäÈëÓû§ÃûÃÜÂë
µÈµ½Íê³ÉÏÂÃæ²½Öè¾Í¿ÉÒÔ½øÈ¥·ÃÎÊÁË,½øÈ¥ºóÈç¹ûÓж«Î÷ÏÔʾ¾Í˵Ã÷³É¹¦¡£
ÏÂÃæ¾ÍÊǶÔsvnµÄÓû§ºÍȨÏÞÅäÖùÜÀí
6¡¢ÅäÖÃsvnȨÏÞ¹ÜÀí(¼´authz.confµÄÅäÖÃ)
1 . Ìí¼ÓÓû§:
# /usr/local/apache/bin/htpasswd -c /svn/passwd user1
µÚÒ»´ÎÉèÖÃÓû§Ê±Ê¹ÓÃ-c±íʾн¨Ò»¸öÓû§Îļþ¡£»Ø³µºóÊäÈëÓû§ÃÜÂ룬Íê³É¶ÔÓû§µÄÔö¼Ó
µÚ¶þ´ÎÌí¼ÓÓû§²»ÐèÒª´ø -c ²ÎÊý Èç:
# /usr/local/apache/bin/htpasswd /svn/passwd user2
2 . ȨÏÞ·ÖÅä:
#vi /svn/auth.conf
[groups] /*Õâ¸ö±íʾȺ×éÉèÖÃ
Admin=usr1,user2 /*Õâ¸ö±íʾadminȺ×éÀïµÄ³ÉÔ± user1,user2
Develop=u1, u2 /*Õâ¸ö±íʾDevelopȺ×éÀïµÄ³ÉÔ± u1,u2
[www:/] /*Õâ±íʾ£¬²Ö¿âwwwµÄ¸ùĿ¼ÏµķÃÎÊȨÏÞ
user1 = rw /*www²Ö¿âuser1Óû§¾ßÓжÁºÍдȨÏÞ
user2 = r /* www²Ö¿âuserlÓû§¾ßÖ»ÓжÁȨÏÞ
@develop=rw /*Õâ±íʾ Ⱥ developµÄ³ÉÔ±¶¼¾ßÓжÁдȨÏÞ
[/] /*Õâ¸ö±íʾÔÚËùÓвֿâµÄ¸ùĿ¼ÏÂ
* = r /*Õâ¸ö±íʾ¶ÔËùÓеÄÓû§¶¼¾ßÓжÁȨÏÞ
×¢Ò⣺ÔÚ±à¼authz.confÎļþʱ£¬ËùÓÐÐж¼±ØÐëÒª¶¥Í·Ð´£¬²»ÄÜÓÐËõÐгöÏÖ£¬·ñÔò»á±¨´í£º"Access denied: 'user1' ",ÀïÃæµÄÄÚÈÝ¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÒª×ÔÐÐÌí¼Ó,²»±ØÓëÎÒÉÏÃæËùдµÄÏàͬ!
7¡¢ÖØÆôapache·þÎñºÍÆô¶¯svn·þÎñ
#/usr/local/apache/bin/apachectl -k restart
¾Í¿ÉÒÔͨ¹ý¡¡http://192.168.0.1/svn/www Õâ¸öURLÀ´·ÃÎʲֿâÁË£¬µ±È»£¬ÊÜȨÏÞµÄÏÞÖÆ£¬±ØÐëÊǺϷ¨Óû§²ÅÄÜ·ÃÎÊÇÒ¾ßÓÐÏàÓ¦µÄȨÏÞ
×îºóÆô¶¯svn
#/usr/local/svn/bin/svn -d -r /svn/project
-d ±íʾÒÔ daemon ·½Ê½(ºǫ́ÔËÐÐ)ÔËÐÐ
-r /svn/project Ö¸¶¨¸ùĿ¼ÊÇ/svn/project
¼ì²é·þÎñÆ÷ÊÇ·ñÆô¶¯Õý³£:
#ps -ef|grep svnserve
Èç¹ûÏÔʾÈçÏ£¬¼´ÎªÆô¶¯³É¹¦£º
Root¡¡ 6941¡¡¡¡ 1¡¡0 15:07 ?¡¡¡¡00:00:00 svnserve -d ----listen-port 9999 -r /svn
½ÓÏÂÀ´¿Í»§¶ËTortoiseSVNÖ±½Ó°²×°£¬ÖØÆô¿Í»§¶Ë¼ÆËã»ú¡£
OK.µ½´Ë APACHE+SVN·þÎñÆ÷µÄ¼ÜÉèÒѾÍê³É