++++++++++++++++++++++++++++++++++++++++++++++
linux下subversion+apache安装
++++++++++++++++++++++++++++++++++++++++++++++
操作系统 : [CentOS6.0]
svn : [subversion-1.6.17]
apache : [httpd-2.2.9]
++++++++++++++++++++++++++++++++++++++++++++++
准备安装软件(download)
1> [apr-1.4.5]
http://labs.renren.com/apache-mirror//apr/apr-1.4.5.tar.gz
2> [apr-util-1.3.12]
http://labs.renren.com/apache-mirror//apr/apr-util-1.3.12.tar.gz
3> [openssl-1.0.0]
http://www.openssl.org/source/openssl-1.0.0e.tar.gz
4> [httpd-2.2.9]
http://sunsite.bilkent.edu.tr/pub/apache/httpd/httpd-2.2.9.tar.gz
5> [subversion-1.6.17]
http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
6> [subversion-deps-1.6.17]
http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++
1>【安装apr】
linux下subversion+apache安装
++++++++++++++++++++++++++++++++++++++++++++++
操作系统 : [CentOS6.0]
svn : [subversion-1.6.17]
apache : [httpd-2.2.9]
++++++++++++++++++++++++++++++++++++++++++++++
准备安装软件(download)
1> [apr-1.4.5]
http://labs.renren.com/apache-mirror//apr/apr-1.4.5.tar.gz
2> [apr-util-1.3.12]
http://labs.renren.com/apache-mirror//apr/apr-util-1.3.12.tar.gz
3> [openssl-1.0.0]
http://www.openssl.org/source/openssl-1.0.0e.tar.gz
4> [httpd-2.2.9]
http://sunsite.bilkent.edu.tr/pub/apache/httpd/httpd-2.2.9.tar.gz
5> [subversion-1.6.17]
http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
6> [subversion-deps-1.6.17]
http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++
1>【安装apr】
tar -zxvf apr-1.4.5.tar.gz
cd apr-1.4.5
#不指定安装路径时,默认安装到/usr/local/apr下
./configure
make
make install
2>【安装apr-util】
tar -zxvf apr-util-1.3.12.tar.gz
cd apr-util-1.3.12
./configure --with-apr=/usr/local/apr
make
make install
3>【安装openssl】
tar -zxvf openssl-1.0.0e.tar.gz
cd openssl-1.0.0e
./config --prefix=/usr/local/openssl
make
make install
4>【安装apache】
tar -zxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-dav --enable-so --enable-maintainer-mode
make
make install
5>【安装subversion】
#下面这两个包会自动解压成一个包subversion-1.6.17
tar zxvf subversion-1.6.17.tar.gz
tar zxvf subversion-deps-1.6.17.tar.gz
cd subversion-1.6.17
#上面己经安装了apr和apr-util,所以需要将subversion-1.6.17目录下的apr和apr-util删除
#说明:svn依赖的APR版本要正确,如果Apache为2.0.x,应该的APR版本就为0.9.x
#apache为2.2.x,对应的APR版本应为1.2.x。由于subveresion-deps包里的APR是0.9.x的
#因此编译svn时要删除从deps里解压出来的apr,apr-util,改而使用apache2.2里提供的
rm -rf apr
rm -rf apr-util
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-openssl=/usr/local/openssl
make
make install
#将svn命令链接到/usr/local/bin目录下(需要root权限)
ln –s /usr/local/subversion/bin/svn /usr/local/bin
ln –s /usr/local/subversion/bin/svnadmin /usr/local/bin
6>【创建版本库】
mkdir -p /etc/svn/repos
#运行创建版本库的命令,指定数据存储为 FSFS
#如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb
svnadmin create --fs-type fsfs /etc/svn/repos
#查看生成的版本库结构
ls -l /etc/svn/repos
#创建项目临时目录,建议目录结构如下
mkdir -p /etc/svn/tmp/project_exam/trunk
mkdir -p /etc/svn/tmp/project_exam/branches
mkdir -p /etc/svn/tmp/project_exam/tags
#导入source, -m是注释
svn import -m "initial import" /etc/svn/tmp/ file:///etc/svn/repos/
#检查是否导入成功
svn list --verbose file:///etc/svn/repos/
7>【给仓库授权】
chown -R apache.apache /etc/svn/repos
chmod 770 /etc/svn/repos
chmod -R g+w /etc/svn/repos
#建立本地访问控制文件
/usr/local/apache2/bin/htpasswd -c /etc/svn/repos/conf/passwd test1
#然后输入密码即可, 默认是MD5加密的
#追加用户
/usr/local/apache2/bin/htpasswd /etc/svn/repos/conf/passwd test2
#配置访问权限
vi /etc/svn/repos/conf/authz
#添加
admin = test1,test2
[/]
@admin = rw
[/]
*=r
[project_exam:/]
admin = rw
8>【配置apache】
vi /etc/httpd/httpd.conf
#如果你看到如下两句,说明安装是成功的
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#修改版本库的权限
#查找User daemon和Group daemon改为
User apache
Group apache
#添加
<Location /svn>
DAV svn
#此处配置你的版本库父目录
SVNParentPath /etc/svn
#连接类型设置,基本验证
AuthType Basic
#此处字符串内容修改为提示对话框标题
AuthName "Hello welcome to here"
#访问版本库用户的文件,用apache的htpasswd命令生成
AuthUserFile /etc/svn/repos/conf/passwd
#此处修改为访问版本库权限的文件
AuthzSVNAccessFile /etc/svn/repos/conf/authz
#告诉apache在authfile中的所有用户者可以访问
Require valid-user
#SSLRequireSSL
</Location>
#保存退出
#重启apache
service httpd restart
#在浏览中输入http://127.0.0.1/svn/repos,查看是否能正常访问