注; 这里的
/data要修改为你的
httpd.conf中
DocumentRoot 目录或其子目录
/data/svnroot/ 目录结构如下
|-- authfile
|-- authz.conf
`-- cns_server_auto_install 我的svn库项目目录
|-- README.txt
`-- conf
`-- svnserve.conf
1)下载并安装相关软件
wget
http://apache.mirrors.pair.com/apr/apr-1.3.3.tar.gz
tar xvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=/usr/local/apr && make && make install
cd ..
wget
http://apache.mirrors.pair.com/apr/apr-util-1.3.4.tar.gz
tar xvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install
cd ..
wget
http://subversion.tigris.org/downloads/subversion-1.6.2.tar.gz
tar xvf subversion-1.6.2.tar.gz
wget
http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
tar xvf sqlite-amalgamation-3.6.13.tar.gz
mkdir subversion-1.6.2/sqlite-amalgamation
cp sqlite-3.6.13/sqlite3.c subversion-1.6.2/sqlite-amalgamation/
wget
http://www.webdav.org/neon/neon-0.28.4.tar.gz
tar xvf neon-0.28.4.tar.gz
mv neon-0.28.4
subversion-1.6.2/
neon
cd subversion-1.6.2
./configure --prefix=/usr/local/subversion \
--with-apxs=/usr/local/apache/bin/apxs \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-ssl --with-zlib=/usr/local/zlib \
--enable-maintainer-mode && \
make && make install
cd ..
2) 进行相关配置
a)在/usr/local/apache/conf/httpd.conf中添加如下模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
b)配置svn.cnscn.org虚拟主机 并加入svn选项
.在/usr/local/apache/conf/httpd.conf中去掉#Include conf/extra/httpd-vhosts.conf前面的#
.创建目录/data/svnroot
[root@
www.cnscn.org ~]# mkdir /data/svnroot
.在conf/extra/httpd-vhosts.conf中添加虚拟主机svn.cnscn.org (一定要注意,在/etc/hosts中添加 127.0.0.1 svn.cnscn.org)
#svn.cnscn.org
<VirtualHost *:80>
DocumentRoot /data/svnroot
ServerName svn.cnscn.org
ErrorLog /var/log/apache/org_cnscn_svn-error_log
CustomLog /var/log/apache/org_cnscn_svn-access_log common
#这里/svn是个不存在,也不用建立的目录,即实际上不需要/data/svnroot/svn目录存在
#当访问
http://svn.cnscn.org/svn/projectname时,会自动寻找/data/svnroot/projectname目录
<location /svn>
#告诉Apache是dav_svn_module模块来响应/svn/的请求
DAV svn
#告诉Subersion版本库的根目录
SVNParentPath /data/svnroot
#指定SVN服务器的访问控制文件的路径
AuthzSVNAccessFile /data/svnroot/authz.conf
#激活基本认证,就是用户名/密码
AuthType Basic
#在认证输入框时显示的提示信息
AuthName "welcome to cnscn svn"
#指定使用的认证密码文件
AuthUserFile /data/svnroot/authfile
#指定只有输入了正确的用户/密码的用户可以访问URL
Require valid-user
</location>
</VirtualHost>
3)创建验证文件
1> /usr/local/apache/bin/htpasswd -c -b /data/svnroot/authfile username password
2> 编辑/data/svnroot/authz.conf 内容如下:
[groups]
users = cnscn
[/]
@users = rw
[svn:/]
@users = rw
4)创建svn项目库cns_server_auto_install
a)创建
/usr/local/subversion/bin/svnadmin create cns_server_auto_install
b)修改/data/svnroot/cns_server_auto_install/conf/svnserve.conf的内容为如下
[general]
anon-access = read
auth-access = write
password-db = /data/svnroot/authfile
authz-db = /data/svnroot/authz.conf
realm = cns_server_auto_install
5)重启apache
[root@
www.cnscn.org ~]# /usr/local/apache/bin/apachectl restart
6)测试
http://svn.cnscn.org/svn/cns_server_auto_install/ 内容应会显示出Revision ...:/
7)导入一个项目
[root@
www.cnscn.org ~]# svn import --username cnscn --password 123456 -m "cnscn server auto install" cns_server_auto_install_local
http://svn.cnscn.org/svn/cns_server_auto_install/
新增 cns_lanmp_install_090423/install.sh
新增 cns_lanmp_install_090423/mods
新增 cns_lanmp_install_090423/mods/mysql_proxy
新增 cns_lanmp_install_090423/mods/mysql_proxy/install.sh
新增 cns_lanmp_install_090423/mods/mysql_proxy/glib-2.16.4