svn中的用户不是系统用户,这点与samba完全不同;
svn中的group,不是系统中的group,就是accesspolicy文件中[groups]下自定义的group,这点也与samba不同;
0.设置svn服务目录
首先新建一个存储svn工程的目录,比如/opt/svnroot/
新建/opt/svnroot/svnpasswd空文件用来存放用户名和密码(之后用命令创建,不需要自己输入文件内容)
新建/opt/svnroot/accesspolicy文件存放用户访问规则
1.新建svn用户
htpasswd /opt/svnroot/svnpasswd lzh
回车后输入两次密码即可
然后在/opt/svnroot/acesspolicy文件中把用户添加到对应的组
注意:如果第一次创建,/opt/svnroot/svnpasswd文件不存在,使用参数-c即可,
如:htpasswd -c /opt/svnroot/svnpasswd lzh
2.删除svn用户
在/opt/svnroot/svnpasswd中删除对应的用户名和设置的登录服务器的密码,再输入一下命令:
htpasswd -D /opt/svnroot/svnpasswd lzh
然后,在/opt/svnroot/accesspolicy文件中把对应的用户删除
3.新建svn项目
svnadmin create /opt/svnroot/pmon
chmod 777 -R /opt/svnroot/pmon
在/opt/svnroot/accesspolicy文件结尾处,增加
[pmon:/]
@PmonGroup = rw
设置新项目的访问权限,即@PmonGroup有读写权限,即可下载,也可上传
4.删除svn项目
直接删除svnroot下的该文件夹即可,删除在/opt/svnroot/accesspolicy中对应的项目访问权限代码
5.svn相关操作
下载svn仓库时,先svn update,将服务器上相应的svn仓库拉到(或者更新到)本地,再进行修改、添加、删除等操作,以保持与服务器中的项目版本的一致性;
svn checkout https://localhost/svn/kernel --username lzh(本地没有此仓库)
svn update(更新已有仓库)
vim kernel.txt
svn status(进入到svn仓库中操作)
svn add kernel或svn add *
svn commit -m "add kernel.txt"
svn log kernel.txt
svn info kernel.txt
6.搭建svn密码自助修改系统时.php文件编码的转变
iconv -f utf-8 -t gbk -o index.php1 index.php
mv index.php index.php2
mv index.php1 index.php
再打开浏览器,svn密码自助修改系统的.php文件编码正确
7./usr/local/apache2/htdocs/svnadmin/index.php为192.168.10.101所对应的配置文件
第146行的$passwdfile="/opt/svnroot/svnpasswd",为对应的svn账户和密码(密文)
/opt/svnroot/accesspolicy为svn的仓库接入配置文件
8.通过https在线修改密码时要注意的事项
在/opt/svnroot/下执行如下命令:
chown svnadmin:root accesspolicy
chown svnadmin:root svnpasswd
因为在/usr/local/apache2/conf/httpd.conf文件中的第68,69行指定httpd服务依赖于
User svnadmin
Group root