虚拟机centos6.0搭建svn+apache服务器步骤总结
2013-06-08 10:32
856 查看
本文从多个帖子整理修改而来,因此要谢谢他们。相关地址如下
http://blog.csdn.net/tonysz126/article/details/7454528
http://jingyan.baidu.com/article/3d69c551ae10c3f0ce02d77c.html
下面一篇是更完整的博文
http://www.cnblogs.com/hicome/archive/2012/03/22/2411693.html
但是由于或者是只介绍centos上搭建svn服务器一个环节,或者是介绍流程完整但是本机实验没有成功。这里只是在本机初步测试成功供以后自己参考,并不能保证在其它人机器上没有问题。本机环境如下
主机操作系统windows xp sp3
虚拟机工具sun virtualbox 3.1.2
虚拟机操作系统centos 6.0桌面版
1,安装svn服务器
一、安装subversion
在这里我们使用yum来安装subversion,使用以下命令即可完成。
二、创建版本库
进行刚才创建的版本库目录下的conf目录,可以看到有三个文件。
svnserve.conf 这个是版本库的配置文件
passwd 这个是记录用户帐号密码的文件
authz 这个则是记录组、权限和身份验证的文件
1、配置svnserve.conf文件
这里需要设置以下几处
anon-access = none 指定匿名权限,默认为可读,现设置匿名无权限
auth-access = write 用户有写权限
password-db = passwd 账号密码文件的路径,psswd文件也可复制一份,命名为 passwd.conf 这样可以知道是配置文件,也可以放到其它目录下
authz-db = authz 同上
注意去掉#注释以后配置一定要顶格写,下同。
2、配置passwd
该文件中记录svn用户名密码,以 (帐号 = 密码)或 (帐号 : 密码)的形式进行储存。
多用户之前用换行区分。这里配置了一个用户名为test1密码为123456的svn 账户。
3、authz文件的配置
[groups]表用于用户组的配置例如
“developers = test1,test2”这样就将这2个用户方在了developers组织之中。
建立组是为了方便给一组相同权限的用户分配权限。
[/] 指定是svn的根版本库
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
这样svn版本库就算配置完成了。
运行 svn, (停止SVN服务器命令为:killall svnserve )
以上svnserve命令执行后正常的话表明svn服务器已经启动。
2,svn服务器搭配apache服务器
⑧安装svn客户端,就可以使用客户端通过如下的url就可以访问了:
svn://IP地址/svn/project01
2、借助apache服务器,通过web端访问svn:
①给apache服务器安装两个svn插件,这两个插件同样可以使用yum安装:
yum install mod_dav_svn //使subversion与dav模块通信的功能
yum install mod_authz_svn //实现权限控制功能
②使用命令“httpd -M”可以查看是否加载这两个模块,如加载,则有加载模块中有如下两项:
.........
dav_svn_module (shared)
authz_svn_module (shared)
................
③编辑apache服务配置文件vi /etc/httpd/conf/httpd.conf,加入下面几行:
<Location /svn>
D*** svn
SVNParentPath /home/svn
AuthzSVNAccessFile /etc/httpd/conf.d/authz //指定svn授权文件路径
//apache服务器读取的权限策略文件
AuthType Basic
AuthName "Project"
AuthUserFile /etc/httpd/conf.d/passwdweb
//apache服务器读取的密码存储文件
Require valid-user
④编辑文件authz放在文件夹/etc/httpd/conf.d中,文件格式同文章上面的那个authz文件,
编辑文件passwd放在文件夹/etc/httpd/conf.d中,如下命令为生成第一个用户名和密码:
htpasswd -c /etc/httpd/conf.d/passwdweb test1
//命令为htpasswd,-c为参数,/etc/httpd/conf.d/passwdweb为创建密码保存文件路径,test1为用户名(并非用户组名)
然后重复输入你想设置的密码就可以自动存储在文件passwdweb中,默认为md5存储。
如再添加第二个用户就不加-c了,因为passtest文件已经存在了。
New password:
Re-type new password:
Adding password for user test2
重启apache服务,这时访问就需要用户验证了。
说明:此处的密码文件,将指定web访问需要的用户名密码。而passwd密码,将指定svn客户端访问的用户名和密码。
这时,在ie中输入ip:http://172.7.22.23/test将会要求输入密码,通过svn客户端也需要密码。
⑤重启apache服务,就可以在网页端使用刚才设置的用户名密码访问了,网址为http://192.168.2.100:8088/svn.
在第二步实施过程中,因为马虎大意将httpd.conf文件中<Location /svn>下AuthUserFile对应路径少写了一个子目录,导致svn认证机制不起作用。在修正路径错误重启svnserve和apche后,还遇到过用户名与密码始终无法通过的情况。然后就修改为当前密码文件路径,并使用htpasswd设置密码后就通过了。
还有几个注意事项:
1,为虚拟机centos指定与主机系统同一网段的静态ip地址
2,开放可供windows主机访问的svn端口3690和apache端口80
参考文章http://www.cnblogs.com/rockee/archive/2012/05/17/2506671.html
svn服务默认端口为3690,可以使用“netstat -ntlp|grep 3690”命令查看服务启动是否成功:
开放端口80(apache)和3690(svn)
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
#/etc/rc.d/init.d/iptables save
查看端口状态
/etc/init.d/iptables status
3,创建专门维护svn的权限用户参考文章
http://www.360doc.com/content/11/0816/16/7102324_140814867.shtml
对于设置用户对svn版本库的提交修改权限,后面实验过了再补充。
通过整理本文,自己头脑中模糊的有疑问的地方突然间变得清晰,写一写文字梳理一下混乱的思路,再次感到很有帮助,也很令人高兴。
http://blog.csdn.net/tonysz126/article/details/7454528
http://jingyan.baidu.com/article/3d69c551ae10c3f0ce02d77c.html
下面一篇是更完整的博文
http://www.cnblogs.com/hicome/archive/2012/03/22/2411693.html
但是由于或者是只介绍centos上搭建svn服务器一个环节,或者是介绍流程完整但是本机实验没有成功。这里只是在本机初步测试成功供以后自己参考,并不能保证在其它人机器上没有问题。本机环境如下
主机操作系统windows xp sp3
虚拟机工具sun virtualbox 3.1.2
虚拟机操作系统centos 6.0桌面版
1,安装svn服务器
一、安装subversion
在这里我们使用yum来安装subversion,使用以下命令即可完成。
[root@localhost ~]# yum -y install subversion
二、创建版本库
[root@localhost ~]# mkdir -p /home/svn/project01 [root@localhost ~]# svnadmin create /home/svn/project01 ): 初始化版本库,即导入文件到版本库中 svn import /home/software file:///svn/project/first --message "初始化版本" //将home文件夹的文件导入版本库 (不经过此初始化,后面检出时会提示没有版本库可供检出) svn list --verbose file:///svn/project/first //查看导入的文件 三、版本库管理配置
进行刚才创建的版本库目录下的conf目录,可以看到有三个文件。
[root@localhost ~]# cd /home/svn/project01/conf [root@localhost conf]# ls authz passwd svnserve.conf
svnserve.conf 这个是版本库的配置文件
passwd 这个是记录用户帐号密码的文件
authz 这个则是记录组、权限和身份验证的文件
1、配置svnserve.conf文件
这里需要设置以下几处
anon-access = none 指定匿名权限,默认为可读,现设置匿名无权限
auth-access = write 用户有写权限
password-db = passwd 账号密码文件的路径,psswd文件也可复制一份,命名为 passwd.conf 这样可以知道是配置文件,也可以放到其它目录下
authz-db = authz 同上
注意去掉#注释以后配置一定要顶格写,下同。
[root@localhost conf]# vi svnserve.conf anon-access = none auth-access = write password-db = passwd //将指定svn客户端访问的用户名和密码。 authz-db = authz
2、配置passwd
该文件中记录svn用户名密码,以 (帐号 = 密码)或 (帐号 : 密码)的形式进行储存。
多用户之前用换行区分。这里配置了一个用户名为test1密码为123456的svn 账户。
[root@localhost conf]# vi passwd [users] # harry = harryssecret # sally = sallyssecret test1 = 123456
3、authz文件的配置
[groups]表用于用户组的配置例如
“developers = test1,test2”这样就将这2个用户方在了developers组织之中。
建立组是为了方便给一组相同权限的用户分配权限。
[/] 指定是svn的根版本库
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
[root@localhost conf]# vi authz [groups] admin = test1, test2 //用户组admin包含的成员 [/] @admin=rw //用户组admin内成员拥有读写权限 * =
这样svn版本库就算配置完成了。
运行 svn, (停止SVN服务器命令为:killall svnserve )
[root@localhost ~]# svnserve -d -r /home/svn/
以上svnserve命令执行后正常的话表明svn服务器已经启动。
经过以上步骤后,通过svn co svn://ip/svn检出操作会提示版本1的提示信息。
2,svn服务器搭配apache服务器
⑧安装svn客户端,就可以使用客户端通过如下的url就可以访问了:
svn://IP地址/svn/project01
2、借助apache服务器,通过web端访问svn:
①给apache服务器安装两个svn插件,这两个插件同样可以使用yum安装:
yum install mod_dav_svn //使subversion与dav模块通信的功能
yum install mod_authz_svn //实现权限控制功能
②使用命令“httpd -M”可以查看是否加载这两个模块,如加载,则有加载模块中有如下两项:
.........
dav_svn_module (shared)
authz_svn_module (shared)
................
③编辑apache服务配置文件vi /etc/httpd/conf/httpd.conf,加入下面几行:
<Location /svn>
D*** svn
SVNParentPath /home/svn
AuthzSVNAccessFile /etc/httpd/conf.d/authz //指定svn授权文件路径
//apache服务器读取的权限策略文件
AuthType Basic
AuthName "Project"
AuthUserFile /etc/httpd/conf.d/passwdweb
//apache服务器读取的密码存储文件
Require valid-user
④编辑文件authz放在文件夹/etc/httpd/conf.d中,文件格式同文章上面的那个authz文件,
编辑文件passwd放在文件夹/etc/httpd/conf.d中,如下命令为生成第一个用户名和密码:
htpasswd -c /etc/httpd/conf.d/passwdweb test1
//命令为htpasswd,-c为参数,/etc/httpd/conf.d/passwdweb为创建密码保存文件路径,test1为用户名(并非用户组名)
然后重复输入你想设置的密码就可以自动存储在文件passwdweb中,默认为md5存储。
如再添加第二个用户就不加-c了,因为passtest文件已经存在了。
[root@localhost ~]#htpasswd /etc/httpd/conf.d/passwdweb test2
New password:
Re-type new password:
Adding password for user test2
重启apache服务,这时访问就需要用户验证了。
说明:此处的密码文件,将指定web访问需要的用户名密码。而passwd密码,将指定svn客户端访问的用户名和密码。
这时,在ie中输入ip:http://172.7.22.23/test将会要求输入密码,通过svn客户端也需要密码。
⑤重启apache服务,就可以在网页端使用刚才设置的用户名密码访问了,网址为http://192.168.2.100:8088/svn.
在第二步实施过程中,因为马虎大意将httpd.conf文件中<Location /svn>下AuthUserFile对应路径少写了一个子目录,导致svn认证机制不起作用。在修正路径错误重启svnserve和apche后,还遇到过用户名与密码始终无法通过的情况。然后就修改为当前密码文件路径,并使用htpasswd设置密码后就通过了。
还有几个注意事项:
1,为虚拟机centos指定与主机系统同一网段的静态ip地址
2,开放可供windows主机访问的svn端口3690和apache端口80
参考文章http://www.cnblogs.com/rockee/archive/2012/05/17/2506671.html
svn服务默认端口为3690,可以使用“netstat -ntlp|grep 3690”命令查看服务启动是否成功:
开放端口80(apache)和3690(svn)
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
#/etc/rc.d/init.d/iptables save
查看端口状态
/etc/init.d/iptables status
3,创建专门维护svn的权限用户参考文章
http://www.360doc.com/content/11/0816/16/7102324_140814867.shtml
对于设置用户对svn版本库的提交修改权限,后面实验过了再补充。
通过整理本文,自己头脑中模糊的有疑问的地方突然间变得清晰,写一写文字梳理一下混乱的思路,再次感到很有帮助,也很令人高兴。
相关文章推荐
- Centos 下搭建SVN + Apache 服务器
- centos下搭建svn+apache服务器
- CentOS搭建SVN服务器,并通过Apache HTTP方式访问
- CentOS搭建SVN服务器,并通过Apache HTTP方式访问
- Centos 下搭建SVN + Apache 服务器(转载)
- CentOS 6.0 搭建SVN 服务器
- CentOS6.5虚拟机下搭建SVN服务器
- centos 7上搭建svn服务器步骤
- 虚拟机下CentOS搭建SVN服务器
- CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)
- CentOS下搭建SVN服务器的步骤详解
- CentOS6.5搭建SVN服务器(Apache+SVN)
- centos搭建svn 服务器 并同步到web 目录(总结)
- Linux+Apache+SVN搭建SVN服务器(CentOS)
- 使用nat方式搭建虚拟机web(lnmp)服务器+svn服务器
- Centos搭建SVN服务器三步曲
- 阿里云(centos)下svn 服务器搭建
- CentOS 6.5 SVN 服务器搭建文档
- linux(centos)搭建SVN服务器
- 在centos上搭建svn服务器【新浪云搬运】