1:安装svn
apt-get install subversion
2. 开启svn服务器
svnserve -d
检查是否开启: ps aux | grep svnserve
停止svn服务: killall svnserve
3. 建立仓库(单仓库)
svnadmin create /home/pan/svn/repos/svnrepos
(这里我设置的仓库路径比较长,也可以设置的短些,如:/home/svn/svnrepos。事实上,仓库未必要创建在/home目录下,也可以创建在其他目录下,如:/usr或/var等
4. 修改配置文件
编辑 svnserve.conf
vi /home/pan/svn/repos/svnrepos/conf/svnserve.conf
修改后的内容:(把前面注释去掉)
anon-access = none #(前的注释取消,=之后改为none)表示禁止匿名
auth_access = write # (认证用户可写,也就是通过密码登陆的)
password-db = passwd #(取消前面的的注释,这是指定passwd文件的位置,由于passwd与svnserve.conf是在同一文件夹,所以直接是文件名)
authz-db = authz #(取消前面的注释,指定全线文件authz的位置)
注:当你去掉注释的时候,不要简单的把前面的#去掉,要把前面的空格一块去掉。
5. 修改帐户文件
vi /home/pan/svn/repos/svnrepos/conf/passwd
在[users]下添加自定义的用户名及密码:
[users]
user1 = pass1
6. 修改授权文件
vi /home/pan/svn/repos/svnrepos/conf/authz
修改或者输入下面2行:
[/]
user1 = rw #指定用户有读写权限
7.客户端连接
在单仓库下,我们启动svn服务器,最好将路径写完整(指定到具体的仓库名):
svnserve -d -r /home/pan/svn/repos/svnrepos
客户端连接时,url的写法为:
svn://(ip):3690 或者 svn://(ip):3690/(仓库名)
注意:这里是默认保存身份验证的,下次登录无需重新输入用户、密码。
8.多仓库的配置
跟步骤三一样,再次执行仓库的创建语句:
svnadmin create /home/pan/svn/repos/blog (第二个仓库名为 blog)
在svnrepos单一仓库的基础上,将svnrepos的conf文件夹下的authz和passwd拷贝一份放到repos
修改:passwd将所有需要的用户和密码都设置在/repos/passwd中
所有权限的分配也放在/repos/authz中
然后修改各自仓库下conf中的svnserve.conf指定passwd_db与authz_db的路径:
svnrepos仓库下的svnserv.conf做相似修改即可。
9.启动命令
单仓库时启动:
svnserve -d -r /home/pan/svn/repos/(仓库名)
多仓库时启动:
svnserve -d -r /home/pan/svn/repos ( 注意 repos 是总目录,比仓库高一层次 )
10.客户端连接多仓库svn服务器
想连接哪个仓库就将url具体至该仓库,写法:
svn:// (IP) : 3690/ (仓库名)
之后输入用户名、密码即可。
( 注意:svn服务器默认需要3690端口,在云服务器上记得添加对应的安全组哦!)