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以上的版本,要安装的apr与apr-unil是1.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"
的路径是否有错
等。。。。。。。。。
有什么疑问可以留言,大家一起探讨,一同成长。