网站设计定做,好网站目录,网站程序设置主页面,可以做微课PPT模板 网站环境 
centos 7.9 
SVN安装方式一#xff1a;yum 
1.1 http服务 
至今还没有搞定网页版#xff0c;网页版需要搭建apache http服务。遇到如下问题#xff1a; centos - svn: Could not open the requested SVN filesystem - Stack Overflow 
在试了加777权限#xff0c;加a…环境 
centos 7.9 
SVN安装方式一yum 
1.1 http服务 
至今还没有搞定网页版网页版需要搭建apache http服务。遇到如下问题 centos - svn: Could not open the requested SVN filesystem - Stack Overflow 
在试了加777权限加apache属组无果后苦战了很久才发现是我的selinux没有关闭。 
setenforce 0  #临时关闭vim /etc/sysconfig/selinuxSELINUXdisabled然后保存退出。  #永久关闭 
1.2 安装subversion服务 
使用yum安装 yum install subversion  1.3 安装sasl 
SASL全称Simple Authentication and Security Layer是一种用来扩充C/S模式验证能力的机制。 
SASL是一个胶合库通过这个库把应用层与形式多样的认证系统整合在一起。这有点类似于PAM但是后者是认证方式决定什么人可以访问什么服务而SASL是认证过程侧重于信任建立过程这个过程可以调用PAM来建立信任关系。在这里Memcached就是上面提到的应用层具体的认证交给SASL库SASL会根据相应的认证机制来完成验证功能。用于后续ldap认证。 yum -y install *sasl*  
二、SVN安装方式二源码编译用于离线安装 
网上有不少总结https://www.cnblogs.com/wizzhangquan/p/4564089.html 
https://www.cnblogs.com/hiyong/p/15890583.html 
2.1 源码编译svn 
所用到的包和版本一些基础工具也是要的比如gcczlib等 apr  1.4.8    apr-util  1.5.2    sqlite  3.7.17    subversion  1.8.0    
svnaprapr-util下载地址 
Index of /dist/subversion  
https://archive.apache.org/dist/apr/ 
1编译安装apr 1.4.8 wget https://archive.apache.org/dist/apr/apr-1.4.8.tar.gz tar zxf apr-1.4.8.tar.gz cd apr-1.4.8 ./configure --prefix/tools/misc/svn/apr-1.4.8 make  make install  
如果报错rm: cannot remove libtoolT: No such file or directory 
解决方案 configure文件注释掉 $RM $cfgfile 然后重新编译安装。 
2) 编译安装apr-util 1.5.2 wget https://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz tar zxf apr-util-1.5.2.tar.gz cd apr-util-1.5.2 ./configure --prefix/tools/misc/svn/apr-util-1.5.2 --with-apr/tools/misc/svn/apr-1.4.8 make  make install  
3) 编译安装sqlite3.7.17 
由于当前centos机器下默认安装的是sqlite3.7.17版本sqlite3所以在编译subversion需要指定该版本的sqlite3如果指定了别的版本运行时会报如下错误 解决方法就是保持运行svn服务的机器上的sqlite3跟编译时是sqlite3保持一致。 
也可以在运行svn的所有机器上都升级sqlite3并添加环境变量 export LD_LIBRARY_PATH/tools/misc/sqlite3/libexport PATH/tools/misc/sqlite3/bin:$PATH  由于历史版本sqlite3没有找到源码包所以到github上下载的源码然后切到3.7.17版本进行编译安装。 git clone GitHub - sqlite/sqlite: Official Git mirror of the SQLite source tree cd sqlite  git checkout version-3.7.17 ./configure --prefix/tools/misc/svn/sqlite3.7.17 make  make install  
4) 编译安装subversion 1.8.0 wget https://archive.apache.org/dist/subversion/subversion-1.8.0.tar.gz tar zxf subversion-1.8.0.tar.gz cd subversion-1.8.0 ./configure --prefix/tools/misc/svn --with-apr/tools/misc/svn/apr-1.4.8 --with-apr-util/tools/misc/svn/apr-util-1.5.2 --with-sqlite/tools/misc/svn/sqlite3.7.17 --with-lz4internal --with-utf8procinternal make  make install  
这样svn编译安装完成将安装好的/tools/misc/svn拷贝到目标机器并将/tools/misc/svn/bin加到当前path生效。 vi /etc/profile export PATH/tools/misc/svn/bin:$PATH source /etc/profile  2.2 源码编译sasl 
版本2.1.26 Releases · cyrusimap/cyrus-sasl · GitHub  
Cyrus-SASL 安装-CSDN博客 wget https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.26/cyrus-sasl-2.1.26.tar.gz tar zxf cyrus-sasl-2.1.26.tar.gz cd cyrus-sasl-2.1.26 ./configure --prefix/tools/misc/cyrus-sasl make  make install   三、SVN启动及配置 
3.1 创建仓库 cd /var/www svnadmin create Demo  3.2 启动svn服务 svnserve -d -r /var/www/svn --listen-port3690 --log-file /var/www/svn.log   3.3 配置LDAP 
修改认证方式 vi /etc/sysconfig/saslauthd 将MECHpam 修改成MECHldap  创建/etc/saslauthd.conf 文件写入以下内容 vi /etc/saslauthd.conf ldap_servers: ldap://xxx.xxx.xx:389/ ldap_bind_dn: admincompany.com ldap_password: xxxxx ldap_search_base: dcxxx,dccom ldap_filter: sAMAccountName%U  
注意如果用的是微软的Active Directory应配置ldap_filter: sAMAccountName%U 
如果是openldap则用ldap_filter: uid%U 
创建/etc/sasl2/svn.conf文件写入以下内容 vim /etc/sasl2/svn.conf pwcheck_method: saslauthd mech_list: PLAIN LOGIN  重启saslauthd服务 systemctl restart saslauthd  
测试ldap认证是否配置成功 
xioali是ldap用户名123是密码。可以看到ldap配置没有问题 testsaslauthd -uxiaoli -p123 0: OK Success.  修改SVN svnserve.conf 配置文件 我的SVN仓库地址为/var/www/svn/Demo所以服务器配置文件路径为/var/www/svn/Demo/conf/svnserve.conf  启用如下配置 vi /var/www/svn/Demo/conf/svnserve.conf use-sasl  true   注意使用LDAP认证后passwd就不再生效了。但是账户权限还是需要在authz中设置。LDAP Server只是验证用户在ldap server上是否存在但不进行权限限制  
修改完svn 配置后需要重启svn 1.杀死svn 进程号 ps -ef|grep svnserve kill -9 进程号 2.启动svn svnserve -d -r /var/www/svn/ --listen-port3690 --log-file /var/www/svn.log   
3.4 配置SVN仓库权限 cat /var/www/svn/Demo/conf/authz  [groups] repo  li.xinliang,zhao.bb rrepo  li.aa  [repo:/] repo  rw rrepo  r  上述权限表面 li.xinliang,zhao.bb 拥有 rw 读写权限li.aa 用户拥有只读 r 权限  版本库目录格式 [版本库:/项目/目录] 用户组  权限 用户名  权限  svnserve.conf配置 anon-access  read    #匿名用户可读 auth-access  write   #授权用户可写 password-db  passwd  #使用哪个文件作为账号文件 authz-db  authz      #使用哪个文件作为权限文件 realm  /var/www/svn     #认证空间名版本库所在目录  3.5 linux checkout命令 svn co svn://xx.xx.xx.xx/Demo --username test