Subvision在Linux下的建立
本文主要讲述Subvision在Linux下的建立过程.
一.下载Apache和Subvision 1
.下载httpd-2.2.11.tar.gz(
http://www.apache.org)源代码包
2.下载Subversion-1.6.2.tar.gz(
http://subversion.tigris.org/)的源代码包
3.编译安装httpd
# tar xvzf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ./configure --enable-dav --enable-so --prefix=/yourpath/apache
# make
# make install
# /yourpath/apache/bin/apachectl start &
* 注意:以上的前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。后面的参数制定你要把apache安装哪里打开浏览器
http://localhost/,如果有测试页出现则证明已经安装成功(Y)
4.安装Subvision
5. 解压tar -zxvf subversion-1.6.2.tar.gz
6. 编译./configure --prefix=/yourpath/subversion --with-apxs=/yourpath/apache/bin/apxs
7. 结果报错: checking APR version... 0.9.4 wanted regexes are 0\.9\.[7-9] 0\.9\.1[0-9] 1\. configure: error: invalid apr version found
8. 提示api的版本不够,是因为它使用了系统自带的apr版本,所以我们修改编译参数,指定apr版本
./configure --prefix=/yourpath/subversion --with-apxs=/yourpath/apache/bin/apxs --with-apr-util=/yourpath/apache/bin/apu-1-config --with-apr=/yourpath/apache/bin/apr-1-config
9. 此时编译后,提示错误: configure: error: Subversion requires SQLite 原因是:1.6.2需要依赖Sqlite. 于是下载Sqlite,下载网址:
http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz 可以下载到最新的Sqlite版本sqlite-amalgamation-3.6.13.tar.gz
10.安装Sqlite3.6.13 tar zxvf sqlite-amalgamation-3.6.13.tar.gz 进入文件夹sqlite-amalgamation找到sqlite3.c将其复制到 /home/SVN/subversion-1.6.2/sqlite-amalgamation/sqlite3.c
11.然后按照步骤8配置,之后配置通过.
12.执行make 执行make install 此时Subvision就已经安装成功了。
二、创建仓库
1.创建仓库
# mkdir /yourpath/repository 创建库文件所在的目录
# cd /yourpath/subversion/bin
# ./svnadmin create /path/to/repository/test 创建仓库
去/yourpath/repository/test看看是不是多了些文件,如果是则说明Subversion安装成功了
2.下面来修改apache让subversion和apache一起工作
修改"/yourpath/apache/conf/httpd.conf" 在最下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so(如果已经加载,就注释掉)
DAV svn SVNParentPath /absolute/path/to/repository
如果不想让任何人都看到,要在location块内添加如下的代码
AuthType Basic AuthName "Subversion repository"
AuthUserFile /path/to/svnpasswd.file Require valid-user 其中svnpasswd.file是通过"htpasswd -cb /path/to/svnpasswd.file username password"来创建的 "Require valid-user"告诉apache在svnpasswd.file中所有的用户都可以访问。
如果没有它,则只能第一个用户可以访问
#/path/to/apache/bin/apachectl restart 重启apache,打开浏览器访问
http://localhost/svn/test/,如果有东西显示就说明成功。如果不能正确的显示,你看看您的"/absolute/path/to/repository"目录是否对apache的用户是可写的就可以了。