RT, 软件采用yum方式安装。
一、软件安装
1. 安装SVN、Apache及其他相关
yum install httpd mod_dav_svn subversion mod_ssl
2. 测试安装是否成功
Apache:
SVN:
出现截图所示内容表示安装成功,下面开始配置
二、配置SVN
1.初始化版本仓库
新建SVN目录
mkdir /www/svn
新建SVN仓库
svnadmin create /www/svn/project
初始化版本仓库
cd /www/svn/project
mkdir project project/server project/client project/test
svn import project/ file:///home/svn/project -m “Init the repository”
删除临时目录
rm -rf /www/svn/project/project
2.配置配置权限、用户等
修改/www/svn/project/conf/下的authz和passwd文件,添加账户并设置目录权限
passwd如:
[users] usera=888888 userb=888888
auth如:
[groups] super=usera normal=userb [/] @super=rw *= [project:/] @super=rw @normal=r *=
启用自定义配置:
vi /www/svn/project/conf/svnserve.conf
启用[general]的几行
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
3.启动测试SVN
启动SVN
svnserve -d -r /home/svn
svn co svn://machine_ip/project
按提示输入最后出现类似“Checked out revision 2”表示成功
三、Apache+SVN整合
编辑Apache的Subversion配置文件
<Location /project> DAV svn SVNPath /www/svn/project/ #SSLRequireSSL AuthType Basic AuthName "Subversion for project" AuthUserFile /www/svn/project/conf/passwd_httpd AuthzSVNAccessFile /www/svn/project/conf/authz Satisfy all Require valid-user </Location>
Apache的账户不支持SVN的明文密码,我们用下面的命令来添加SVN账户:
htpasswd -bcm /www/svn/project/conf/passwd_httpd usera 888888
设置资源库文件所属账户
chown -R apache.apache /www/svn
重启Apache:
service httpd restart
现在就可以在浏览器尝试访问了:
http://svn_machine_ip/project
按提示输入用户名密码。
访问不了?查看下apache日志:
tail -100f /etc/httpd/logs/error_log
[Mon Oct 07 01:20:37 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd [Mon Oct 07 01:20:37 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured [Mon Oct 07 01:20:45 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd [Mon Oct 07 01:20:45 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured [Mon Oct 07 01:21:26 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd [Mon Oct 07 01:21:26 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured [Mon Oct 07 01:22:02 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd [Mon Oct 07 01:22:02 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured
对于这个问题有人说关掉SElinux,个人没试过,不过肯定不好,影响主机安全性。
执行如下命令即可:
chcon -R -h -t httpd_sys_content_t /www/svn
四、配置Https方式访问版本仓库
需要用到OpenSSL工具。
1.生成需要的证书、密钥
上面是以http方式访问的,安全性低,下面设置强制https访问svn:
2.配置Apache的Subversion强制使用Https
生成私钥
cd /etc/httpd/conf
openssl genrsa -out httpd.key 1024
用前面的私钥生成证书
openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
修改Apache的SSL配置文件
# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf/httpd.pem
SSLCertificateKeyFile /etc/httpd/conf/httpd.key
配置subversion强制使用https访问
# vim /etc/httpd/conf/httpd.conf
启用SSLRequireSSL配置(去掉前面的注释符)
五、Eclipse中使用https连接svn
其实这点也没啥好说的,之所以列出来是因为中间出现了一点小问题,记录下:
1、Eclipse中https连接svn失败
首先之前用小乌龟客户端和浏览器是能够连接svn的,既然小乌龟客户端可以连接为什么Eclipse不能连接呢?
猜测可能和SVN插件版本(1.6)有关, 升级到1.8后,可以正常访问了^_^至于有人介绍的说什么修改Apache配置的SSL协议之类的也试过,也会出现错误,如:
RA layer request failed
svn: OPTIONS of 'https://xxxxx/project': SSL negotiation failed: SSL error: sslv3 alert handshake failure (https://xxxxx)
参考文章:
http://www.linuxidc.com/Linux/2013-03/81007p7.htm
http://zhumeng8337797.blog.163.com/blog/static/100768914201292642655560/
相关推荐
"在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1" ...本文详细介绍了在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1 的步骤,包括环境准备、安装依赖包、下载和安装 Maven 和 Ant、配置环境变量、编译 Hadoop 和安装 Hadoop。
在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行安装。以下是详细的操作步骤和相关知识点: 1. **了解SVN**: SVN是一种集中式版本控制系统,它允许用户跟踪...
本文将详细介绍如何在 CentOS 6.4 上安装最新版本的 SVN(Subversion),包括安装前的准备、依赖项安装、 SVN 的安装和配置等步骤。 前提条件 * 操作系统:CentOS 6.4 * 虚拟机安装 依赖项安装 1. APR(Apache ...
本教程将详细讲解如何在CentOS-6.4 64位系统上编译安装Subversion-1.8.5,以创建一个完整的开发环境。 首先,确保系统已经安装了必要的基础工具,例如GCC和C++编译器。在CentOS中,可以使用`yum`命令来安装这些工具...
日间交易者安装要在运行 CentOS 6.4 的 EC2 实例上安装 Daytrader,您将: 安装 Docker 启动daytrader-mysql容器启动daytrader容器初始化mysql数据库部署应用安装 Docker 以 root 身份运行以下命令以在 CentOS 6 上...
用途:防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击 防止svn/备份之类文件泄漏 防止ApacheBench之类压力测试工具的攻击 ...系统:centos 6.4_x64 需要的软件:LuaJIT-2.0.3.tar.gz
探讨Puppet WebGUI的安装配置,以及如何创建Init脚本来自动启动Dashboard服务,为用户提供图形化界面,便于监控和管理Puppet环境。 ##### 7.2 Foreman Foreman是另一个与Puppet集成的WebGUI工具,提供了更高级的...