浏览有关小城镇建设的网站6,广东建设公司网站,备案域名注册,紫金网站建设在CentOS6.3 64位机器上配置SVN服务器#xff0c;并设置只允许HTTPS连接#xff0c;可以配置多个repos源#xff0c;每个源都拥有自己的组和成员#xff0c;用于权限控制。安装相关软件Apacheyum install httpd httpd-devel Subversionyum install mod_dav_svn subversionS…在CentOS6.3 64位机器上配置SVN服务器并设置只允许HTTPS连接可以配置多个repos源每个源都拥有自己的组和成员用于权限控制。安装相关软件Apacheyum install httpd httpd-devel Subversionyum install mod_dav_svn subversionSSLyum install mod_ssl openssl创建版本库[plain]view plaincopy#mkdir /var/svn #cd /var/svn #svnadmin create myapp #chown -R apache.apache myapp #chcon -R -t httpd_sys_content_t myapp //selinux相关 相似的我添加了另一个版本库myapp2修改配置文件/etc/httpd/conf.d/subversion.conf添加如下内容[plain]view plaincopyLocation /repos DAV svn SVNParentPath /var/svn AuthType Basic AuthName Authorization Realm AuthUserFile /var/svn/passwd //用户文件 AuthzSVNAccessFile /var/svn/authz //用户权限控制文件 Require valid-user /Location 此处需要注意添加/var/svn/passwd文件的相关权限否则可能出想权限错误。相关日志文件为/var/log/httpd/error_log 遇到问题要查看错误日志。用户文件passwd的内容只能通过htpasswd命令添加如添加用户leon[plain]view plaincopy#htpasswd -c /var/svn/passwd leon //-c 表示新建一个文件,以后就不需要加了 相似的我添加了其他用户hailonggaowang用户权限控制文件authz[plain]view plaincopy[groups] myapp leon,hailong //myapp项目有两个成员leon和hailong myapp2 wang, gao [myapp:/] myapp rw //myapp组拥有myapp项目的读写权限其他人无权限 [myapp2:/] myapp2 rw 这样就做到权限控制。可能遇到的问题1.权限问题通过查看错误日志添加相关权限。重点注意SeLinux引起的权限问题可以暂时关闭SeLinux方法setenforce 0SeLinux的管理方法参考CSDN网站http://blog.csdn.net/haiong0707/article/details/81376332.防火墙问题关闭防火墙或者打开相关端口通过上面的配置SVN服务器通过HTTP访问基本就没有问题了接着配置HTTPS访问[plain]view plaincopy#cd /etc/pki/tls/private #openssl genrsa -out my.key 1024 #openssl req -new -key my.key -out my.csr #cd /etc/pki/tls/certs #openssl x509 -req -days 365 -in /etc/pki/tls/private/my.csr -signkey /etc/pki/tls/private/my.key -out my.crt 以上步骤必须在相关文件夹下产生所需的文件保证输入命令正确保证产生文件所在文件夹正确否则后面将可能发生错误修改/etc/httpd/conf.d/ssl.conf文件[plain]view plaincopySSLCertificateFile /etc/pki/tls/certs/my.crt SSLCertificateKeyFile /etc/pki/tls/private/my.key 修改/etc/httpd/conf/httpd.conf文件[plain]view plaincopyDirectory / Options FollowSymLinks AllowOverride None SSLRequireSSL //添加此行 /Directory 重启httpd[plain]view plaincopy#service httpd restart 如此SVN就只可以通过HTTPS访问了并且能够对多个项目分配人员和权限。可能遇到的问题1.SVN开启HTTPS加密后所有的WEB访问都变成HTTPS例如localhost将无法访问需要访问https://localhost这个应该是可以在https.conf文件中配置区分的暂时不做处理故建议此服务器不再当作WEB服务器。----------------------------------------------------------------------------------------------------------------localhost需要https的解决方法不在httpd.conf添加 SSLRequireSSL 添加到subversion.conf[plain]view plaincopyLocation /repos DAV svn SVNParentPath /var/svn AuthType Basic AuthName Authorization Realm AuthUserFile /var/svn/passwd //用户文件 AuthzSVNAccessFile /var/svn/authz //用户权限控制文件 Require valid-user SSLRequireSSL //需要https加密访问 /Location 这样只有/repos目录需要https加密访问不影响httpd做web服务器转载自http://blog.csdn.net/haiong0707/article/details/8259235 Linux 下svn恢复到某一版本经常由于坑爹的需求功能要切回到之前的某一个版本。有两种方法可以实现 方法1 用svn merge1) 先 svn up保证更新到最新的版本如202) 然后用 svn log 查看历史修改找出要恢复的版本如10 。如果想要更详细的了解情况可以使用svn diff -r 10:20 [文件或目录];3) 回滚到版本号10svn merge -r 20:10 [文件或目录]注意版本号之间的顺序这个叫反向合并4) 查看当前工作版本中的文件如test.cpp和版本号10中文件的差别svn diff -r 10 test.cpp 有差别则手动改之5) 若无差别则提交svn ci -m“back to r 10xxxxx” [文件或目录]。这时svn库中会生成新的版本如21。方法2: 用svn up前2步如方法1然后直接 svn up -r 10。当前的工作版本就是版本10了。但是注意这时svn库中会并不会生成新的版本下次在本地svn up之后还是会回到之前的版本。来源 Linux 下svn恢复到某一版本 - Kingcs Time的日志 - 网易博客