小波波 2011-06-18
参考:
http://svn.apache.org/repos/asf/subversion/trunk/INSTALL
http://svnbook.red-bean.com/
1. 需要下载两个tar包 httpd-2.2.19.tar.gz, subversion-1.5.9.tar.gz
2. 新建一个专门管理svn的linux用户 svnroot. 以后跟svn有关的权限,配置等操作全部由这个用户来完成。
3. 编译安装apache服务器
## 解压apache2安装包 $ tar xvzf httpd-2.2.19.tar.gz ## 进入解压后的目录 # cd httpd-2.2.19 ## 配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。 ## 后面的参数制定你要把apache安装哪里,我将其安装在/home/svnroot/apache2 # ./configure --enable-dav --enable-so --prefix=/home/svnroot/apache2 ## 编译并安装 # make && make install ## 启动apache服务 # cd /home/svnroot/apache2/bin # ./apachectl start ## 打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
4. 安装Subversion
## 解压SubVersion安装包 $ tar xvzf subversion-1.5.9.tar.gz ## 进入解压后的目录 $ cd subversion-1.5.9 ## 配置subversion安装, 安装到/home/svnroot/subversion $./configure --prefix=/home/svnroot/subversion --with-apxs=/home/svnroot/apache2/bin/apxs --with-apr=/home/svnroot/apache2 --with-apr-util=/home/svnroot/apache2 --with-ssl --enable-maintainer-mode ## 安装 $ make clean && make && make install ## 验证安装 $ svn --version svn, version 1.5.9 (r1041577) compiled Jun 17 2011, 18:18:53 ## 创建库文件所在的目录 $ mkdir /home/svnroot/repositories ## 创建仓库"test" # svnadmin create /home/svnroot/repositories/test # cd /home/svnroot/repositories/test ## 看看是不是多了些文件,如果是则说明Subversion安装成功了 # ls –l
5. 配置Apache
## 配置httpd.conf $ vi /home/svnroot/apache2/conf/httpd.conf ## 在最下面添加 <Location /svn/repos> DAV svn SVNParentPath /home/svnroot/repositories/ ## svn父目录 AuthzSVNAccessFile /home/svnroot/repositories/authz ## 权限配置文件 AuthType Basic ## 连接类型设置 AuthName "Subversion Authorization" ## 连接框提示 AuthUserFile /home/svnroot/repositories/authpasswd ## 用户配置文件 Require valid-user ## 采用何种认证 </Location> ## 其中authz文件可以从test版本库中拷贝到repositories目录,并加入一个用户 ## 其中authpasswd是通过"htpasswd [–c] /home/svnroot/repositories/authpasswd username"来创建的 ## "Require valid-user"告诉apache在authpasswd中所有的用户都可以访问。 ## 如果没有它,则只能第一个用户可以访问新建库 ## 顺便把你的端口号也改一下,比如Listen 8080,要不然不能以非root用户启动默认的80端口 ##重启apache,验证配置 $ ./home/svnroot/apache2/bin/apachectl restart ## 打开浏览器访问http://localhost:8080/svn/repos/test/,如果有东西显示就说明成功。
6. 配置目录权限
## 设置apache和subversion不允许其他用户访问 $ chmod o-rwx /home/svnroot/repositories $ chmod o-rwx /home/svnroot/subversion $ chmod o-rwx /home/svnroot/apache2
7. 其他问题
1) 编译subversion时出现少expat库
解决:下载expat-2.0.1.tar.gz安装皆可
http://sourceforge.net/projects/expat/
2) 安装subversion时,make install时出现
error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory
意思是找不到libexpat.so.1这个文件
运行 whereis libexpat.so.1
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
解决:vi /etc/ld.so.conf
加入 /usr/local/lib/ 保存退出
运行ldconfig