注意:
subversion,
和
apache
的版本要对应起来,不然架设不起来。
安装需要的软件包:
Apr
:
APR-1.2.12
和
APR-util-1.2.12
Apache
:
httpd-2.2.6.tar.gz
Subversion
:
subversion-1.4.5.tar.gz subversion-deps-1.4.5.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.2.12.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.2.12.tar.gz
wget http:
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz
1
、安装
APR-1.2.12
和
APR-util-1.2.12
1) # tar zxvf apr-1.2.12.tar.gz
# cd apr-1.2.12
# ./configure
Make;make install
2) # tar zxvf apr-util-1.2.12.tar.gz
# cd apr-util-1.2.12
# . /configure --with-apr=/usr/local/apr
# make;make install
安装apr-util时遇到个错误,Google后找到解决办法
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-ldap --with-ldap-include=/usr/local/openldap/include/ --with-ldap-lib=/usr/local/openldap/lib --with-berkeley-db=/usr/local/BerkeleyDB.4.3
make
Note: If you use 64bit OS, it could report this error. Because the libexpat.so is 32bit.
/usr/lib/libexpat.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [libaprutil-1.la] Error 1
make[1]: Leaving directory `/home/omni/tools/httpd-2.2.8/srclib/apr-util'
make: *** [all-recursive] Error 1
Solution: rm -fr /usr/lib/libexpat.so
ln -s /lib64/libexpat.so.0.5.0 /usr/lib/libexpat.so
Then, re-run
make
make install
2
、安装
apache 2.2.6
1
)解包
httpd-2.2.6.tar.gz
# tar xzvf httpd-2.2.6.tar.gz
2)
生成配置文件
# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
3
)生成
make
文件,并安装
# make
;
make install
4
)编辑配置文件
httpd.conf
# vi /usr/local/apache2/conf/httpd.conf
(没修改)
保存退出
5
)启动
Apache
服务:
# /usr/local/apache2/bin/apachectl start
6
)浏览网站:
用浏览器查看
http://localhost/,
得到
it works
,说明
apache
已经配置成功了。
7
)停止
Apache
服务:
# /usr/local/apache2/bin/apachectl stop
8
)设置启动系统后,自启动
Apache
服务
编辑
etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
在最后加上一句:
/usr/local/apache2/bin/apachectl start
3
、安装
subversion
1
)解包
# tar xvzf subversion-1.4.5.tar.gz
# tar xvzf subversion-deps-1.4.5.tar.gz
2
)转入解包目录并生成配置文件
# cd subversion-1.4.5
SVN
依赖的
APR
版本要正确。如果
Apache
为
2.0.x
,对应的
APR
版本应为
0.9.x
;
Apache
为
2.2.x
,对应的
APR
版本应为
1.2.x
。
由于
subversion-deps
包里的
APR
是
0.9.x
的,因此编译
svn
时要删除从
deps
里解压出来的
apr, apr-util
,改而使用
apache 2.2
里提供的。(这里指定为开始安装的
apr
目录)
如果
apache
不是安装在默认路径,
configure
必須加上
--with-apxs
选项
,
如:
./configure --with-apxs=/usr/local/apache2/bin/apxs(
此目录为我的
apache
安装目录
)
# rm -rf apr
# rm -rf apr-util
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --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
3
)编译安装
# make
;
make install
4
)查看
subversion
两个动态库有没有安装成功
# vi /usr/local/apache2/conf/httpd.conf
看到下面两个模块说明安装成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
5
)配置
apache
支持
svn
# vi / usr/local/apache2/conf/httpd.conf
在文件末尾加上
例子:
<Location /svn>
DAV svn
SVNParentPath /subversion/project (
此处配置你的版本库根目录
)
AuthType Basic
AuthName "Subversion repository"
(此处字符串内容修改为提示对话框标题)
AuthUserFile /subversion/passwd (
此处修改为访问版本库用户的文件,用
apache
的
htpasswd
命令生成
)
AuthzSVNAccessFile /subversion/auth
(此处修改为访问版本库权限的文件)
Require valid-user
</Location>
我的修改:
<Location /svn>
DAV svn
SVNParentPath /home/nuptsoft/subversion_project (
此处配置你的版本库根目录
)
AuthType Basic
AuthName "Subversion repository"
(此处字符串内容修改为提示对话框标题)
AuthUserFile /home/nuptsoft/passwd (
此处修改为访问版本库用户的文件,用
apache
的
htpasswd
命令生成
)
AuthzSVNAccessFile /home/nuptsoft/auth
(此处修改为访问版本库权限的文件)
Require valid-user
</Location>
6
)建立版本库
先创建版本根目录
# mkdir -p /home/nuptsoft/subversion_project
/usr/local/subversion/bin/svnadmin create /subversion/project/test
更改版本库权限,这样通过
apache
服务访问
svn
的客户就有权限来编辑版本库文件
chown –R apache:apache /home/nuptsoft/subversion_project/test
进入到版本库
test
中执行
ls
# cd /home/nuptsoft/subversion_project/test
# ls
后看到以下文件夹及文件,则表示建库成功
conf dav db format hooks locks README.txt
7 )
建立访问库用户文件
# /usr/local/apache2/bin/htpasswd –cm /home/nuptsoft/passwd king
(第一次添加用户需先创建文件,所以有参数
-c
,以后添加用户可以不用添加参数
-c
)
按照提示输入密码
8
)建立访问库权限文件
# vi /home/nuptsoft/auth
内容按照以下格式
[groups]
Tester=test,king
Developer=king
[test:/]
@Tester = rw
king= rw
9)
浏览器
+
权限
访问版本库
重起
apache
输入拥有访问权限的用户名,密码登陆,