apache+svn
一、需要的软件包:apr:apr-1.3.18apr-util-1.3.19apache:httpd-2.2.14svn:subversion-1.6.17.tar.gzsubversion-deps-1.6.17.tar.gz二、安装和配置步骤:1、安装httpd-2.2.14tar –zvxf httpd-2.2.14.tar.gzcd httpd-2.2.14
./configure
--prefix=/usr/local/apache
--enable-so--enable-dav--enable-modules=mostMakeMake install/usr/local/apache/bin/apachectl –k start验证apache :Curl 127.0.0.12、安装apr-1.3.18tar –zxvf apr-1.3.18cd apr-1.3.18./configure –prefix=/usr/local/aprMakeMake install3、安装apr-util-1.3.19tar –zxvf apr-util-1.3.19cd apr-util-1.3.19./configure –prefix=/usr/local/apr-util–with-apr=/usr/local/aprMakeMake install4、安装subversiontar –zvxf subversion-1.6.17.tar.gz
tar –zvxf subversion-deps-1.6.17.tar.gz/*这两个自动解压成一个包 subversion-1.6.17 cd subversion-1.6.17
rm –rf apr
rm -rf apr-utilcdsubversion-1.6.17./configure --prefix=/usr/local/svn --with-apxs2=/usr/local/apache/bin/apxs--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-utilMakeMake install
提示:注意包的安装顺序,apache中自己有apr、apr-util包,先安装apr、apr-util,apache会报错验证svn是否安装成功:/usr/local/svn/bin/svnserve –version
查看apache的相关模块是否加载如下:LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so三、配置apache支持svnVi/usr/local/apache/conf/httpd.conf在文件末尾添加<Location /svn/>
DAV svnSatisfy AnySVNListParentPathon
SVNParentPath /svndata/svn (此处配置你的版本库根目录) --注意这里不要是svn的安装路径
AuthType Basic (连接类型设置基本验证)
AuthName "Hello welcome to usesvn" (此处字符串内容修改为提示对话框标题)
AuthUserFile /svndata/userpasswd (此处修改为访问版本库用户的文件,用apache 的htpasswd命令生成)AuthzSVNAccessFile/svndata/authz (此处修改为访问版本库权限的文件)
Require valid-user ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。)
保存文件退出!
重新启动apache
# /usr/local/apache/bin/apachectl –krestart
先使用浏览器检测一下
打开浏览器访问http://192.168.0.111/svn/document 会提示输入用户名密码
等到完成下面步骤就可以进去访问了,进去后如果有东西显示就说明成功四、配置svn权限管理1 . 添加用户:
# /usr/local/apache/bin/htpasswd –c/svndata/userpasswd user1
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
第二次添加用户不需要带 –c 参数如:
# /usr/local/apache/bin/htpasswd /data/svn/userpasswduser2
2 . 权限分配:#vi /svn/auth.conf
这个表示群组设置
Admin=usr1,user2 表示admin群组里的成员 user1,user2
Develop=u1, u2 /表示Develop群组里的成员 u1,u2
表示仓库www的根目录下的访问权限 表示对www下的aaa目录的访问权限
user1 = rw www仓库user1用户具有读和写权限
user2 = r www仓库user2用户具只有读权限
@develop=rw表示群组develop的成员都具有读写权限
[/] 表示在所有仓库的根目录下
* = r表示对所有的用户都具有读权限
注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: ''user1'' ",里面的内容可以根据自己的需要自行添加,不必与我上面写的相同五、重启apache服务和svn服务/usr/local/apache/bin/apachectlrestart启动svn
/usr/local/svn/bin/svnserve -d -r /svndata/svn -d 表示以 daemon 方式(后台运行)运行-r /svn/project 指定根目录是/svndata/svn检查服务器是否启动正常:
#ps –aux | grep svnserveroot 22975 0.00.07132780 ?Ss Mar220:00 /usr/local/svn/bin/svnserve -d -r /svndata/svn
如果显示如下,即为启动成功两种方法创建版本库a\创建版本库是svnadmin create /svndata/svn/projectb\公司使用版本库模版/mode创建新项目Cd /svndata/svncp –r /mode newproject就可以通过 http://ip/svn/project这个URL来访问仓库了 OK.到此 APACHE+SVN服务器的架设已经完成
如果跟导师讲不清楚,那么就把他搞胡涂吧! 饭在锅里,我在床上*^_^* 我身在江湖,江湖里却没有我得传说。 不在放荡中变坏,就在沉默中变态! 长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。 不在放荡中变坏,就在沉默中变态!
页:
[1]