首页 > 代码库 > svn + apache 安装

svn + apache 安装

系统:centos6.3

svn:  subversion-1.6.1

apache: httpd-2.2.29

//创建svn路径
[root@localhost /]# mkdir svn

[root@localhost opt]# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

[root@localhost opt]# wget  http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz

[root@localhost opt]# wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.1.tar.gz

[root@localhost opt]# wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.3.tar.gz 

apr安装

[root@localhost opt]# tar xvf apr-1.5.1.tar.gz 

[root@localhost opt]# cd apr-1.5.1

[root@localhost apr-1.5.1]# ./configure     

rm: cannot remove `libtoolT‘: No such file or directory

[root@localhost apr-1.5.1]# make && make install

[root@localhost opt]# tar xvf apr-util-1.5.3.tar.gz 

[root@localhost opt]# cd apr-util-1.5.3

[root@localhost apr-util-1.5.3]# ./configure --with-apr=/usr/local/apr/

[root@localhost apr-util-1.5.3]# make && make install

apache安装

[root@localhost opt]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.29.tar.gz

[root@localhost opt]# tar xvf httpd-2.2.29.tar.gz 

[root@localhost opt]# cd httpd-2.2.29

[root@localhost httpd-2.2.29]# ./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-so --enable-dav --enable-maintainer-mode -- enable-rewrite

[root@localhost httpd-2.2.29]# make && make install

[root@localhost opt]# /usr/local/apache/bin/apachectl start
httpd: Could not reliably determine the server‘s fully qualified domain name, using ::1 for ServerName

//上边报错,在apache配置文件中添加这一行
ServerName localhost:80

[root@localhost opt]# /usr/local/apache/bin/apachectl start

安装SVN

[root@localhost opt]# tar xvf subversion-1.6.1.tar.gz 

[root@localhost opt]# tar xvf subversion-deps-1.6.1.tar.gz 

[root@localhost opt]# cd subversion-1.6.1

//把apr删除掉,使用前边刚刚安装的
[root@localhost subversion-1.6.1]# rm -rf apr*

[root@localhost subversion-1.6.1]# ./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

configure: error: --with-zlib requires an argument.  
//上边报错,解决方法:指定zlib路径
[root@localhost subversion-1.6.1]# ./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=/usr/local/lib --enable-maintainer-mode 

[root@localhost subversion-1.6.1]# make
/opt/subversion-1.6.1/subversion/libsvn_ra_neon/.libs/libsvn_ra_neon-1.so: undefined reference to `SSL_SESSION_cmp‘
collect2: ld returned 1 exit status

//安装subversion.1.6.11时,如果对应的neon版本为 neon-0.25.5.tar.gz,就会出现这个错误,根据网上的资料得知,在neon的高版本上已经修复这个错误,于是到其官方网站http://www.webdav.org/neon/下载最新版的neon-0.29.6,将其解压到subversion的源码目录中,并改名为neon

[root@localhost opt]# wget http://www.webdav.org/neon/neon-0.29.6.tar.gz 
[root@localhost opt]# tar xvf neon-0.29.6.tar.gz 

[root@localhost opt]# mv neon-0.29.6 subversion-1.6.1/neon

[root@localhost subversion-1.6.1]# make && make install

//apache和svn结合

[root@localhost opt]# grep -Ev ‘^$|^#‘ /usr/local/apache/conf/httpd.conf
ServerRoot "/usr/local/apache"
Listen 80
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

[root@localhost data]# /usr/local/svn/bin/svnadmin create /svn/data/tiger/

[root@localhost /]# chown apache.apache -R svn/

/usr/local/apache/bin/htpasswd -c passwd ceshi

[root@localhost svn]# cd conf/
[root@localhost conf]# ls
authz  passwd  svnserve.conf
[root@localhost conf]# grep -Ev ‘^$|^#‘ *
authz:[aliases]
authz:[groups]
authz:web = ceshi
authz:[/]
authz:* = r
authz:[tiger:/]
authz:@web = rw
authz:* = 
passwd:ceshi:$apr1$0B.WcSia$VRioxk05fw4Ls9LVYNOFF.
svnserve.conf:[general]
svnserve.conf:anon-access = read
svnserve.conf:auth-access = write
svnserve.conf:[sasl]

[root@localhost conf]# grep -Ev ‘^$|^#‘ /usr/local/apache/conf/httpd.conf
ServerRoot "/usr/local/apache"
Listen 80
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User apache   //修改称apache
Group apache	//修改称apache
</IfModule>
</IfModule>
ServerAdmin you@example.com
ServerName localhost:80
//在最后变添加
<Location /svn>
      DAV  svn
      #SVNPath /opt/svndata
      SVNParentPath /svn/data
      AuthzSVNAccessFile /svn/conf/authz
      AuthType Basic
      AuthName "Subversion repository"
      AuthUserFile /svn/conf/passwd
      Require valid-user
</Location>


svn + apache 安装