9AMC 发表于 2018-11-22 07:57:08

SVN+apache安装部署

  一,安装软件:
  安装apache
  #yuminstall httpd
  安装subversion
  #yum install subversion*
  安装需要的模块mod_dav_svn
  #yum -y install mod_dav_svn
二,创建版本库并开始配置svn
1,创建版本库
创建目录结构
#mkdir -p /var/svn              注:/var/svn 是SVN的库存放目录   /var/svn/repos是svn的库根/
2.运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb
# svnadmin create --fs-type fsfs/var/svn/repos
/var/svn/repos/conf/passwd是用户名密码文件,如用http方式访问svn则此文件无用

用户名 = 密码
/var/svn/repos/conf/svnserve.conf 是主配置文件

anon-access = none
auth-access = write
password-db = passwd   #用户名密码文件位置
authz-db = authz          #权限文件位置

3,可用可写的svn账户提交库内容,也可以创建目录结构并导入项目,
#svn import /etc/svn/tmp/ file:///var/svn/repos/--message "init"
启动svn
#svnserve -d -r /var/svn/
  注:关闭防火墙,进行测试
  

三,配置apache 实现apache+svn的结构
1,第一步要给svn的源目录修改权限
#chown -R apache:apache /var/svn
apache 是http的启动用户
2,查看apache支持的模块vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so并添加相应的apache配置
      #这里的/svn是网页访问时http://ip/svn(这里)/库名
DAV svn
SVNParentPath /var/svn    #父目录
AuthTypeBasic
AuthName "Auth"
AuthUserFile/var/svn/passwordfile      #密码文件位置
AuthzSVNAccessFile /var/svn/repos/conf/authz   #权限文件
Requirevalid-user
ErrorDocument404 default


3,授权访问用户:
给密码文件授权
#chown apache.apache passwordfile
Apache 提供了一个工具 htpasswd,用于生成用户文件,可以在 Apache 的安装目录下找到。具体使用方法如下:-c 创建新的文件
#htpasswd –c /var/svn/passwordfile username
如果该文件已存在则需要加-b,更新用户密码也用这个
#htpasswd –b /var/svn/passwordfile username passwd

#service httpd restart

用IE访问svn 的url http://192.168.40.149/svn/repos/
  出现用户提示说明成功
3.目录访问控制
  #vim /var/svn/repos/conf/authz    策略文件,详细的权限控制可以在这个策略文件中指定
  [/]是库根目录    为库下文件夹    @users为users组
  

  
  网页自主更改密码
  先安装PHP
  #yum install php
  把两个脚本放在apache主页目录/var/www/html/
  #vim gaimi.html
  把以下内容粘贴进去



确认用户名:
确认原密码:
新密码:



  然后
  #vim passwd.php
  把以下内容粘贴进去
  然后从网页访问修改密码 http://ip/gaimi.html
  

  




页: [1]
查看完整版本: SVN+apache安装部署