分类: 系统运维
2012-04-25 10:22:37
1.建立想要保存软件仓库的目录。 并在系统设置里面打开Web共享(Apache2)。
sudo su (然后输入密码)
mkdir /opt
mkdir /opt/svn
mkdir /opt/svn/repos
即创建了目录/opt/svn/repos/
2.创建版本仓库 svnadmin create /opt/svn/repos
3.修改授权配置
进入到仓库配置目录 cd /opt/svn/repos/conf
(1)编辑配置文件 vi svnserve.conf 取消下列行的注释
anon-access = read
auth-access = write
password-db = passwd (密码配置的保存文件)
auth-db = authz (认证配置的保存文件)
(2)编辑密码配置文件 vi passwd
格式为 “用户名 = 密码”
(3)编辑认证文件 vi authz
格式为 [groups]
用户组名 = 用户组成员
[需要授权的目录]
@组名 = 权限
用户名 = 权限
例如:
[groups]
g_developers = jcccn,jesse,bill
g_tester = jerry,wang
[/]
@g_developer = r
jcccn = rw
* =
[/jcccn]
@g_tester = rw
jcccn = rw
* = r
(4)配置忽略文件 vi ~/.subversion/config
如果”.subversion”目录不存在,请运行”svn status”命令,虽然此命令会失败,但是会为你创建所需要的文件。
找到 global-ignores 一行,去掉注释,编辑成:
global-ignores = build *~.nib *.so *.pbxuser *.mode *.perspective*
找到 enable-auto-props = yes 把注释去掉,在[auto-props] Section声明以下文本文件:
*.mode* = svn:mime-type=text/X-xcode
*.pbxuser = svn:mime-type=text/X-xcode
*.perspective* = svn:mime-type=text/X-xcode
*.pbxproj = svn:mime-type=text/X-xcode
4.启动svnserve :
svnserve -d -r /opt/svn/repos
结束服务可以用 killall -9 svnserve
注:很可能会遇到权限问题,可使用 sudo 命令,的DB文件如果是ROOT的,要改为用户权限:
sudo chown -R UserName /opt/svn/repos
sudo chmod -R 755 /opt/svn/repos
另,如有SVN文件是从其它地方Copy到Mac硬盘上的,就会碰到“Operation not permitted”(大意:你丫没事吧,瞎得瑟啥,哥的文件你动不了)的提示。
咋整咧?
请使用 sudo chflags -R nouchg /opt/svn/repos
简而言之,如果SVN目录碰到奇怪滴权限问题,大体三步走即可搞定:
sudo chflags -R nouchg /opt/svn/repos
sudo chown -R UserName /opt/svn/repos
sudo chmod -R 755 /opt/svn/repos
最后友情建议,别忘了先 “Clean up”~
以上引用:
如果创建文件夹时遇到这样的问题:svn: Can't create directory '/opt/svn/repos': Permission denied,可以通过切换到root账户解决,具体方案,请参考我上一篇转载的日志。
如果原本端口已被占用,通过:svnserve -d --listen-port 2122 -r /opt/svn/repos 使用其它端口。