Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
说明:
服务器操作系统:CentOS 6.x
服务器IP:192.168.21.134
实现目的:
1、在服务器上安装配置SVN服务;
2、配置SVN服务同时支持Apache的http和svnserve独立服务器两种模式访问;
3、Apache的http和svnserve独立服务器两种模式使用相同的访问权限账号。
具体操作:
一、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
二、开启防火墙端口
系统运维 www.osyunwei.com 温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接
基于Apache的http模式,默认端口为80
基于svnserve的独立服务器模式,默认端口为3690
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
service iptables restart #最后重启防火墙使配置生效
三、安装Apache
yum install httpd apr apr-util httpd-devel #安装Apache
yum install mod_dav_svn mod_auth_mysql #安装基于Apache的http模式访问的支持模块
chkconfig httpd on #设置开机启动
service httpd start #启动Apache
httpd -version #查看Apache版本信息
cd /etc/httpd/modules/
#查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功!
#mod_auth_mysql模块是用数据库存储账号信息,本次教程没有涉及,可以不安装!
注意:如果Apache启动之后提示错误:
httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName
解决办法:
vi /etc/httpd/conf/httpd.conf #编辑
ServerName www.example.com:80 #去掉前面的注释
:wq! #保存退出
四、安装SVN
yum install subversion #使用yum命令在线安装
svnserve --version #查看svn版本信息
五、配置SVN
1、创建svn版本库
mkdir -p /home/svn #创建svn版本库存放目录
cd /home/svn #进入目录
svnadmin create /home/svn/project1 #创建svn版本库project1
svnadmin create /home/svn/project2 #创建svn版本库project2
svnadmin create /home/svn/project3 #创建svn版本库project3
2、设置配置文件
mkdir -p /home/svn/conf #创建配置文件目录
cp /home/svn/project1/conf/passwd /home/svn/conf/passwd #拷贝账号密码配置文件模板
cp /home/svn/project1/conf/authz /home/svn/conf/authz #拷贝目录权限配置文件模板
cp /home/svn/project1/conf/passwd /home/svn/conf/svnserve.conf #拷贝全局配置文件模板
vi /home/svn/conf/passwd #编辑,添加以下代码
[users]
# harry = harryssecret
# sally = sallyssecret
osyunwei=123456
osyunwei1=123456
osyunwei2=123456
osyunwei3=123456
:wq! #保存退出
vi /home/svn/conf/authz #编辑,添加以下代码
[groups]
admin = osyunwei
project1 = osyunwei1
project2 = osyunwei2
project3 = osyunwei3
[/]
@admin = rw
* =
[project1:/]
@admin = rw
@project1 = rw
* =
[project2:/]
@admin = rw
@project2 = rw
* =
[project3:/]
@admin = rw
@project3 = rw
* =
:wq! #保存退出
vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码
[general]
anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none
auth-access=write #授权用户写权限
password-db=/home/svn/conf/passwd #用户账号密码文件路径,可以写绝对路径
authz-db=/home/svn/conf/authz #访问控制权限文件路径,可以写绝对路径
realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。
:wq! #保存退出
3、启动SVN
svnserve -d -r /home/svn --config-file /home/svn/conf/svnserve.conf --listen-port 3690
#--config-file后面跟全局配置参数文件
ps -ef|grep svn|grep -v grep #查看进程
netstat -ln |grep 3690 #检查端口
killall svnserve #关闭svn
4、设置svn服务开机启动
vi /etc/init.d/svn #编辑,添加以下代码
#!/bin/sh # chkconfig: 2345 85 85 # processname: svn svn_bin=/usr/local/svn/bin svn_port=3690 svn_home=/home/svn svn_config=/home/svn/conf/svnserve.conf if [ ! -f "$svn_bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." $svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_port echo "Successfully!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Successfully!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac
栏 目:Linux
下一篇:Linux下SVN服务器自动更新文件到Web目录的方法
本文标题:Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
本文地址:https://idc91.com/fuwuqizl/2439.html
您可能感兴趣的文章
- 05-10Ubuntu系统安装ANSYS2021R1
- 05-10ANSYS2021R1安装方法Linux centos Ubuntu系统
- 11-07Linux中一对多配置日志服务器的详细步骤
- 11-07linux服务器安装SonarQube代码检测工具的详细步骤
- 11-07Apache自带的ab压力测试工具的实现
- 11-07apache虚拟主机配置的三种方式(小结)
- 11-07Linux在两个服务器直接传文件的操作方法
- 11-07xshell5使用ssh连接阿里云服务器的实现步骤
- 11-07linux查看服务器开放的端口和启用的端口多种方式
- 11-07Xshell连接centOS7并与CentOS7联网