linux+Apache+svn

 

安装版本

 Apache  

 http://archive.apache.org/dist/httpd/httpd-2.2.16.tar.gz

 Svn     

 http://subversion.tigris.org/downloads/subversion-1.6.0-rc2.tar.gz 

 http://subversion.tigris.org/downloads/subversion-deps-1.6.0-rc2.tar.gz 

 apr     

 http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.5.tar.gz

 apr-util  

 http://mirror.bjtu.edu.cn/apache/apr/apr-util-1.3.12.tar.gz

 

 

先安装下apr

 tar -zxvf  apr-1.4.5.tar.gz  -C  ../software

 #cd ../software/apr-1.4.5

 #./configure --prefix=/usr/local/apr

 #make && make install

安装apr-util

 #tar -zxvf  apr-util-1.3.12.tar.gz  -C ../software

 cd ../software/apr-util-1.3.12

 ./configure  --with-apr=/usr/local/apr/

 #make && make install

安装apache

 #tar -zxvf  httpd-2.2.16.tar.gz -C ../software

 #cd ../software/httpd-2.2.16

 #./configure --prefix=/usr/local/apache2.2.16 --enable-dav --with-mpm=worker --enable-so        --enable-rewrite --enable-headers --enable-expires --enable-mods-shared=all                                                  --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

 #make && make install

 #/usr/local/apapche2.2.16/bin/httpd  -k  start 

 访问下出现IT's work 说明apache安装成功

安装svn

 #./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2.2.16/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=/usr/local/src/software/subversion-1.6.0-rc2/zlib/ --enable-maintainer-mode

 #make && make install

 #/usr/local/svn/bin/svnserve --version

  如果出现svn的版本号就说明安装成功

现在我们来建库

 #mkdir /www/svn/repos

  /usr/local/svn/bin/svnadmin -create /www/svn/repos/test

  (test下有东西,就说明建库成功)

建立svn用户

 #mkdir /usr/local/svn/conf

 #/usr/local/apache2.2.16/bin/htpasswd -c /usr/local/svn/conf/passwd  lin (用户名)

用户权限的分配

 #cd /usr/local/svn/conf

 #vim authz 

  [groups]   建立用户组

  admin=lin

  [test:/]   test项目的访问权限

  @admin=rw  admin这个组有读写权限

  *=r       所有用户都用读的权限

apache的配置

#vim /usr/local/apache2.2.16/conf/http.conf

 自动会添加这两个模块

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

#vim  /usr/local/apache2.2.16/conf/extra/httpd-vhosts.conf

 添加

 <VirtualHost *:80>

 

   ServerName  lin.com  

   <Location /svn/> 

DAV svn

 SVNListParentPath On       加上这条就有项目列表

    SVNParentPath "/www/svn/repos/"      如果是指定到单个项目用svnpath

AuthzSVNAccessFile "/usr/local/svn/conf/authz"

    AuthType Basic

    AuthName "Authorization svn"

    AuthUserFile "/usr/local/svn/conf/passwd"

    Require valid-user

   </Location>

 

</VirtualHost>

重启apache

 

 

 

在编译过程中遇到的问题

1.apr找不到

按照这样的安装方式应该不会有apr的问题了,如果你安装的apache2.2以上的版本,要安装的aprapr-unil1.2以上版本

2.如果提示configure: error: Subversion requires SQLite

 按照提示下载

 #wget http://www.sqlite.org/sqlite-amalgamation-3.6.10.tar.gz

 tar -zxvf sqlite-amalgamation-3.6.10 -C ../software

 #mkdir /usr/local/src/software/subversion-1.6.0-rc2/sqlite-amalgamation

 #cp  -a 

 /usr/local/src/software/sqlite-amalgamation-3.6.10/sqlite3.c     

/usr/local/src/software/subversion-1.6.0-rc2/sqlite-amalgamation

 

3.如果提示configure: error: –with-zlib requires an argument

#tar  -zxvf  subversion-deps-1.6.0-rc2.tar.gz  ../software

#cd /usr/local/src/software/subversion-1.6.0-rc2/zlib

#./configure --share

#make && make install

4.如果提示

  configure: error: could not find library containing RSA_new 

  configure failed for neon

说明neon的版本过低

#wget http://www.webdav.org/neon/neon-0.29.0.tar.gz

#tar -zxvf  neon-0.29.0.tar.gz -C ../software

mv   neon-0.29.0  /usr/local/src/software/subversion-1.6.0-rc2/neon

或者是没有安装这4个开发软件

#yum install *openssl-devel*

#yum install *e2fsprogs-devel*

#yum install *krb5-devel*

#yum install *zlib-devel*

5.安装完如果碰见500错误查看下配置是否错误

比如   AuthUserFile "/usr/local/svn/conf/passwd"

   AuthzSVNAccessFile "/usr/local/svn/conf/authz"

的路径是否有错

等。。。。。。。。。

 

 

 

有什么疑问可以留言,大家一起探讨,一同成长。