1、环境:
redhat AS4.0
2、软件包:
2.1、apr-1.3.5.tar.gz
.apache.org/download.cgi
2.2、apr-util-1.3.7.tar.gz
.apache.org/download.cgi
2.3、httpd-2.2.6.tar.gz
2.4、neon-0.28.2.tar.gz
neon-0.28.2.tar.gz
2.5、subversion-1.4.5.tar.gz和subversion-deps-1.4.5.tar.gz
3、安装:所有软件都在/root目录下进行的安装;
3.1、安装apr和apr-util
#tar -zxvf apr-1.3.5.tar.gz
#cd apr-1.3.5
#./configure
#make && make install
#tar -zxvf apr-util-1.3.7.tar.gz
#cd apr-util-1.3.7
#./configure --with-apr=/usr/local/apr
#make && make install
3.2、安装httpd:
#tar -zxvf
httpd-2.2.6.tar.gz;
#cd
httpd-2.2.6;
./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
#make && make install;
编译完成之后,编辑配置文件httpd.conf;
#vi /usr/local/apache2/conf/httpd.conf
ServerName 修改为ServerName localhost:80或者服务器IP地址;
启动apache进程:
#/usr/local/apache2/bin/apachectl start 或者 /usr/local/apache2/bin/httpd -k start
查看监听到的httpd80端口。
#netstat -nlp |grep 80
打开浏览器页面出现It works!,说明安装成功。
#/etc/init.d/httpd stop
关闭httpd服务;
3.3、安装neon
#tar -zxvf neon-0.28.2.tar.gz
#cd
neon-0.28.2
#./configure --prefix=/usr/local/neon
修改
neon-0.28.2src/Makefile文件,将CFLAGS= -g -02 改成CFLAGS= -fPIC -g -02
#make && make install
注:如不安装neon,会报错:“make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1
make:
***
[subversion/libsvn_ra_dav/libsvn_ra_dav-1.la]
Error 1
make:
***
[subversion/libsvn_ra_dav/libsvn_ra_dav-1.la]
Error 1
”
3.4、Subversion安装:
#tar -zxvf subversion-1.4.5.tar.gz;
#tar -zxvf
subversion-deps-1.4.5.tar.gz;
#cd
subversion-1.4.5;
#rm-fr apr apr-util #删除subversion-deps带的apr和apr-util目录,这里使用3.1安装中的apache2.2包;
#cd zlib
#./configure --prefix=/usr/local/zlib
#make && make install
#cd ..
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2/bin/apr-1-config --with-apr-util=/usr/local/apache2/bin/apu-1-config --with-neon=/usr/local/neon --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode
#make && make install;
查看apache配置文件:/usr/local/apache2/conf/httpd.conf
看到以下两个模块说明安装成功:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
4、配置
4.1、创建管理svn的用户:
#useradd svn;
#su svn;
#mkdir /home/svn/repository;
#cd /usr/local/subversion/bin;
创建svn"data"仓库
#./svnadmin create /home/svn/repository/data;
#cd /home/svn/repository/data;
#ll
多了很多目录(conf、dav、db、hooks、locks)和文件(format、README.txt),说明Subversion安装成功;
使用root用户修改apache配置文件httpd.conf文件:
User daemon 改为User svn
Group daemon Group svn
#chown -R svn:svn /home/svn/repository;
#chmod 700 /home/svn/repository;
4.2、测试:
$/usr/local/subversion/bin/svn import /tmp file:///home/svn/repository/data/ -m "data";
将/tmp下面的内容导入仓库data。
提示信息:
新增 **
提交后的修订版为1。
4.3、配置http服务器
添加配置在/usr/local/apache2/conf/httpd.conf:
DocumentRoot /usr/local/apache2/htdocs
ServerName 192.168.30.88
DirectoryIndex index.html
DAV svn
SVNPath /home/svn/repository/
AuthzSVNAccessFile /home/svn/repository/authz.conf
AuthType Basic
AuthName "Welcome!SubVersion."
AuthUserFile /home/svn/repository/valid-user
#
Require valid-user
#
注:如果需要用户每次登录时有验证用户密码,请将和两行注释掉。
重启apache服务器,访问如提示输入用户密码,配置成功。
添加访问http的用户:
#/usr/local/apache2/bin/htpasswd -c /home/svn/repository/valid-user svn_admin
设置密码;
#
/usr/local/apache2/bin/htpasswd /home/svn/repository/valid-user svn_guest
配置访问svn的用户权限:vi /home/svn/repository/authz.conf添加以下内容:
[groups] //表示群组设置
admin=svn_admin //表示群组成员
user=svn_guest
[data:/] //这表示,仓库test的根目录下的访问权限
svn_admin = rw //data仓库svn_admin用户具有读和写权限
svn_guest = r //data仓库svn_guest用户具有读权限
@admin=rw //如果在前面加上@符号,表示群组权限
@user=r
启动SVN:
/usr/local/subversion/bin/svnserve -d --foreground -r /home/svn
#-d --daemon mode
#--foreground --run in foreground(useful for debugging)
#-r --root of directory to serve
linux redhat SVN服务器搭建完成。
5、访问svn文件仓库
5.1、file:///模式
/usr/local/subversion/bin/svn co file:///home/svn/repository/data
或
/usr/local/subversion/bin/svn co file://localhost/home/svn/repository/data
注:如果不确定主机的名称,请使用"///",而如果指定了主机的名称,则使用"//";
如果重新启动apache出现如下错误:
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server:
/usr/local/apache2/modules/mod_dav_svn.so: undefined symbol: dav_register_provider
解决办法:重新配置apache;
./configure -prefix=/usr/local/apache2 -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite
make && make install
参考资料:
阅读(1733) | 评论(0) | 转发(0) |