ä»ã¾ã§ Subversion 㯠svnserve çµç±ã§ä½¿ã£ã¦ãããã¦ã¾ãããã©ï¼ãªãã svn+ssh ã¨ãæ¸ãã®ã¡ã³ãããï¼trac ã¨é£æºããããã¨ãæã£ããã¨ã«ãã¦ï¼Chapter 6. Server Configuration ã¨ããèªãã ããã¦ãã¾ããï¼ã¼ãã¯å®éã«ä½¿ã£ã¦ã¿ããããï¼ããããããã¥ã¡ã³ããèªãæ¹ã好ãã§ããï¼ç 究ã¨ããèªåã§ããããï¼è«æãèªãæ¹ã好ããªã¯ã½ã¿ãããªäººéã§ãï¼
ãã¦ï¼ä»å試ããã®ã¯ Fedora ã ãã¼ï¼
|tcsh|
cat /etc/redhat-release
Fedora release 9 (Sulphur) ||<
**subversion 㨠mod_dav_svn ãå ¥ããã!
Fedora 㯠DVD ããã¤ã³ã¹ãã¼ã«ãããã§ããã©ï¼ã¤ã³ã¹ãã¼ã«ãªãã·ã§ã³ã¨ãã¯è¦ãã¦ããªãï¼ãªããè¦ã¦ã¿ããã¨ãããã Subversion ã¯å ¥ã£ã¦ããï¼
|tcsh|
yum list installed | grep -i subversion
subversion.i386 1.4.6-7 installed ||< mod_dav_svn ã¯å ¥ã£ã¦ããªãã£ãã®ã§ï¼ãããã¤ã³ã¹ãã¼ã«ãã¾ãï¼ããã¯ï¼Apache ãã HTTP ãªã¯ã¨ã¹ãããã¯ã£ã¦ï¼ãªãã¸ããªãæä½ãã¦ãããæãã®ã¢ã¸ã¥ã¼ã«ï¼ |tcsh|
yum install mod_dav_svn
||<
httpd.conf ã«ä½ãè¨è¿°ããããªã£ã¦ãã¨ã Chapter 6. Server Configuration ã«ã¯æ¸ãã¦ãã£ããã§ããï¼ã©ãã mod_dav_svn ãå ¥ãã㨠Apache ã® conf.d ã« subversion.conf ã¦ããã³ã³ãã£ã°ãã¡ã¤ã«ãå ¥ããããªã®ã§ï¼ããã«è¨è¿°ããã°è¯ãã§ããï¼åããããã!!
|tcsh|
rpm -ql mod_dav_svn
/etc/httpd/conf.d/subversion.conf <= ãã! /usr/lib/httpd/modules/mod_authz_svn.so /usr/lib/httpd/modules/mod_dav_svn.so ||<
subversion.conf ã§ããã©ï¼æåã¯åã«ã¢ã¸ã¥ã¼ã«ãèªã¿ããã ãã®è¨å®ã ï¼
|tcsh| $ grep -v -e ^# -e ^$ /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so ||<
**ãªãã¸ããªãä½ãã!
åã®äºã®è¨ããã«ãã£ãã¨ä½ãã!
|tcsh|
mkdir -p /var/svn/
cd /var/svn
svadmin create repos
||<
**HTTP ã§ã¢ã¯ã»ã¹ãã¦ã¿ã
subversion.conf ã«æä½éã®è¨å®ããã¦ï¼Apache ã«åæ ããããã¼ï¼Location ãã£ã¬ã¯ãã£ãã«ãã£ã¦ï¼http://kiririmode-subversion/repos ã¿ãããªæãã® URI ã¸ã®ã¢ã¯ã»ã¹ãè¦ã¦ï¼ mod_dav_svn ããªãã¸ã㪠/var/svn/repos ã¸ã®ã¢ã¯ã»ã¹ã«å¤æãã¦ãããã¿ãããªæãï¼
|tcsh| $ grep -v -e ^# -e ^$ /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn SVNPath /var/svn/repos apachectl graceful
||< ãã©ã¦ã¶ããã¢ã¯ã»ã¹ããããããªæãã«ãªã£ã!
**Digest èªè¨¼ã§ãããã¦ã¿ããããªãã
ãã®ã¾ã¾ã ã¨ï¼ä¸çä¸ã®èª°ããã³ããããã¦ããã¦ã¹ã´ãæãã§ããã©ï¼ã¼ãã¯ä¸ã®ä¸ã®äººã¨ãä¿¡ãã¦ãªãã! ãããªãã㧠Digest èªè¨¼ãè¨å®ããï¼HTTPS ã¨ãããããã§ããã©ï¼ãåã®ãªãã¸ããªã§ä½ãæå·åãããã ãã¢ããã¿ãããªæãï¼ ã¾ãï¼ã¦ã¼ã¶åã¨ããã¹ã¯ã¼ãã¨ã realm ã¨ããè¨é²ãããã¡ã¤ã«ãä½ããï¼htdigest ã§ã§ãããã ãã©ï¼ããã¾ã Chapter 6. Server Configuration ã«ã¯èª¬æãã¦ãªãã£ããªã¼ï¼Basic èªè¨¼ã® htpasswd ã¯èª¬æãããã¨ããï¼åã®äºã®è¨ããï¼ã¤ãã!
|tcsh|
htdigest -c /path/to/auth-digest 'Subversion repository' kiririmode
||< ããã! ãããã subversion.conf ã次ã¿ããå¤æ´ãã! realm 㯠AuthName ã¨å¯¾å¿ãã¦ï¼AuthUserFile 㯠htdigest ã§ä½ã£ããã¡ã¤ã«ã¸ã®ãã¹ã§ããï¼LimitExcept ã§ã¯ï¼GET ã¨ã PROPFIND ã¨ã READ ç³»ã®ãªãã¸ããªã¢ã¯ã»ã¹ä»¥å¤ã®ã¢ã¯ã»ã¹ã«èªè¨¼ãããã! ãã㧠commit ããã¤ãã¯å ¨å¡ã¼ããç¥ã£ã¦ã人éã«ãªã£ã! |tcsh|
grep -v -e ^# -e ^$ subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn SVNPath /var/svn/repos AuthType Digest AuthName "Subversion repository" AuthDigestDomain /repos/ AuthUserFile /path/to/auth-digest ||< ã¨ãããããããªæãï¼ã㨠log ã¨ãã®è¨å®ãããããã ãã©ï¼ã¾ãç¶ãï¼Require valid-user