Ubuntu
1、安装svn:
sudo apt-get install subversion
2、安装后创建一个版本目录
mkdir /home/svn/aaaa
svnadmin create /home/svn/aaaa
3、配置svn服务器
上一步执行svnadmin后会在aaaa目录下面生成4个文件夹和2个文件,如下:
进入到conf文件夹,里面有4个配置文件:
3.1修改svnserve.conf文件,将下面5行前面的#去掉(红色部分为修改内容,可以按照自己需要设置),并去掉空格(否则无法正常使用):
[general]
anon-access = none
auth-access =write
password-db = passwd
authz-db = authz
3.2修改passwd文件,设置用户和密码(我设置两个用户litao和root,密码分别为litao123和root123):
3.3 配置authz权限
给用户分配读写权限(给root管理权限,可以读写,给litao读取权限)
这样就完成配置了,最后启动svn服务即可:
svnserve -d -r /home/svn/
-d表示守护线程后台运行,-r表示指定目录。注意:不要写成svnserve -d -r /home/svn/aaa,否则虽能启动服务,但是只是启动一个项目,假如有多个不同的项目(比如project1,project2等)启动上一个目录可以包括下面的全部项目,多方便啊。
可以查一下服务是否启动了:
ps -ef |grep svnserve
看到svnserve的进程表示运行正常。
4. 客户端连接(我的服务器地址172.168.128.128)
在电脑资源管理器中右键,选择SVN checkout,在弹出的窗口的Url处填写SVN服务器上版本库的访问地址,之后直接点确定。
svn地址:svn://192.168.128.128/svn 然后输入用户名lan和密码lan123确认。
如果没有连上,那么清理旧的数据信息。
清除旧数据方法:右键->tortoisesvn->setting->Saved Data,都清理掉。
连接成功后在文件夹里面有一个隐藏的.svn文件夹
5. 设置开机启动svn:
编辑rc.local文件
sudo vi /etc/rc.local
加入下面的代码
/usr/bin/svnserve -d -r /home/svn
上面的路径记得补全了,不能直接就是svnserve,手动启动可以这么写,但是设置开机启动要写全部路径。不知道svn安装的位置可以用whereis命令查看一下,比如:
这样就出来了。
其实想要改变位置的时候可以直接用mv移动位置即可,很方便。
附:很多时候都是利用SVN做一个版本控制,然后同步更新到网站,那么就要开启相关的设置:
svnserve -d -r /var/svn/lanlan --listen-port 5550 //监听一个5550端口,我lanlan项目所在地
创建一个同步更新commit文件,用来实时监听文件更新到网站:
vim post-commit (在hooks文件夹下,内容如下几行)
#!/bin/bash
export LANG="zh_CN.UTF-8" #//防止乱码
svn update /etc/www/lan --username lan--password lanlan44451WB ##同步更新到我的网站目录/etc/www/lan/
chmod 775 post-commit //给权限这个文件,否则不能同步
然后在Linux服务器checkout一次就可以了:
svn checkout svn://172.168.128.128:5550 /var/www/lanlan --username lan --password lanlan44451WB