ubuntu svn安装测试
本机环境 :ubuntu 12.4 LTS desktop
1 sudo apt-get install subversion #安装svn
2 sudo mkdir /home/lzj/svn 建立svn主目录,名称叫svn
3 sudo mkdir /home/lzj/svn/first_project # 建立一个项目
4 svnadmin create /home/lzj/svn/first_project #创建SVN版本,这一步在这个目录下就会生成多个文件,可以配置等。。
5 sudo vim /home/lzj/svn/first_project/conf/svnserve.conf #修改first_project的配置
# anon-access = read 找到这句,去掉#和空格 ,记得一定要顶住行首。
# auth-access = write 找到这句,去掉#和空格 ,记得一定要顶住行首。
# password-db = passwd 找到这句,去掉#和空格 ,记得一定要顶住行首。验证密码用
# authz-db = authz 找到这句,去掉#和空格 ,记得一定要顶住行首。验证权限用
进行配置修改前,先建立一个组 subversion,一个用户 svn_user ,
# groupadd subversion 添加组
# useradd svn_user 添加用户
# gpasswd -a svn_user subversion 把svn_user添加到subversion组中
6 sudo vim /home/lzj/svn/first_project/conf/passwd #修改svn用户
6.1
[users]
# harry = harryssecret
# sally = sallyssecret
svn_user = 123456 #说明 { 用户名 = 密码 } , 这个用户 svn_user 可以用命令,密码随便写,用于以后用户checkout的时候用
7 sudo vim /home/lzj/svn/first_project/conf/authz #修改权限
[groups]
# harry_and_sally = harry,sally ,这些行的意思是说 ,某个组的某些用户 有权访问 这个项目SVN
# harry_sally_and_joe = harry,sally,&joe
subversion = svn_user
[/] #项目SVN根目录
root = rw #root用户可以读写这个根目录,也就是/home/lzj/svn ,r 代表 读,w 代表 写
svn_user = rw #我新建的svn_user用户,可以读写
[repository:/] #仓库目录下的某个目录,应该是这么理解,有时间再看文档~~
@subversion = rw #我新建的subversion组,可以读写
以上配置完成后
启动svn服务 # svnserve -d -r /home/lzj/svn #SVN监视的目录~~ # ps -ef | grep svn 查看是否正确启动,如果有‘ 。。。 0:00:00 svnserve -d -r /home/lzj/svn/。。。。‘ ,就说明已经启动, # sudo vim /etc/rc.local ,添加这句 svnserve -d -r /home/lzj/svn ,目的是开机启动svn
至此,SVN的安装,配置已完成!
接下来,我们把这个SVN项目,checkout到我的nginx 网站运行目录下 /usr/local/nginx/html/
svn checkout svn://127.0.01/first_project --username svn_user --password 123456 #因为这是一台服务器,以上的操作都在同一台机子上,所以127.0.0.1就相当于远程机了~~,
checkout出来后,在 /usr/local/nginx/html目录下 就会自动生成 first_project 目录了。。。。~~
---------------------------------------------------------
如果我的同事,要checkout这个svn项目,他可以在他的电脑上这样
svn checkout 192.168.1.111/first_project --username xxx --password xxxx #现在111这台机子 ,就是服务器
当他修改了他本地的某个文件后,他会上传到svn中,怎么样可以让SVN把刚才上传的文件,同步到服务器的网站运行目录下呢????这样以后就可以直接看效果了,岂不是很方便 !!!!!!
办法 就是 在SVN的项目文件中,有个hooks/post-commit.tmpl ,这是个说明模版文件,它的作用就是当我的同事提交代码到svn后,就会触发这个文件,这个文件可以写命令~~~
sudo cp /home/lzj/svn/first_project/hooks/post-commit.tmpl /home/lzj/svn/first_project/hooks/post-commit # 修改成执行的文件
sudo chmod 759 /home/lzj/svn/first_project/hooks/post-commit
sudo chown nobody:nobody /home/lzj/svn/first_project/hooks/post-commit #修改文件属主是为了 跟 /usr/local/nginx/html/first_project的属主一样,防止权限问题而导致SVN同步失败!!!!
sudo vim /home/lzj/svn/first_project/hooks/post-commit
REPOS="$1"
REV="$2" #"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf export LC_CTYPE=en_US.UTF- #语言支持
#SVN=/usr/bin/svn #指定 svn 路径
svn update /usr/local/nginx/html/first_project --username svn_user --password --no-auth-cache # 把这个命令可以先执行一下,看看是否报错!!记得在用命令行模式
好了,这样SVN修改后,就可以自动同步到网站目录下了。。。很方便呢~~
参考文章 http://blog.sina.com.cn/s/blog_6f066a890100s5wh.html SVN目录自动同步!!
参考了 很多文章 !!感谢前辈们的分享!!!
ubuntu svn安装测试的更多相关文章
- Ubuntu SVN安装&使用&命令
SVN 安装 apt-get install subversion checkout svn checkout svn://192.168.1.110/app 按提示输入相应的用户名和密码. 往版本库 ...
- Ubuntu svn 安装 Rabbitvcs
先添加源 sudo add-apt-repository ppa:rabbitvcs/ppa 必要的话在源清单里面也添加一下 sudo gedit /etc/apt/sources.list 内容是 ...
- ubuntu svn 安装
deepin@deepin:~$ sudo apt-get install rabbitvcs-rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitv ...
- 来杯Caffe——在ubuntu下安装Caffe框架并测试
Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...
- Ubuntu SVN客户端安装
查看系统版本: uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) 1.首先需要安装Ubuntu SVN.Ubun ...
- 【转载】Ubuntu下SVN安装和配置
一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...
- ubuntu下opencv2.4.9安装测试
ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1. build-essential 软件包 sudo apt-get install bui ...
- ubuntu下安装svn
Ubuntu下使用SVN SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install ...
- Ubuntu下安装Wine&WineQQ+Phpstorm+wps+svn+vim(计划任的使用)+flashplayer+curl扩展
一.安装Wine 1.添加PPA sudo add-apt-repository ppa:ubuntu-wine/ppa 2.更新列表 sudo apt-get update 3.安装Wine sud ...
随机推荐
- js基础一
1.声明提升:变量的声明提升,函数的声明提升,但函数赋值表达式不会提升: foo(); // 正常运行,因为foo在代码运行前已经被创建 function foo() {} foo(); // 出错: ...
- Oracle- 用户管理
Oracle一个数据库里可以分配多个用户,用户创建自己的表,自己创建的表如果不想分配给其他用户使用,其他用户是看不到自己的创建的表的. 用户管理: 创建用户: create user chunxiao ...
- PAT 1057. Stack (30)
题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1057 用树状数组和二分搜索解决,对于这种对时间复杂度要求高的题目,用C的输入输出显然更好 #i ...
- mysql字符串分割函数(行转列)
由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了 )) ) BEGIN /*函数功能: 把带逗号的字符串分割取出 参数: num 要 ...
- Android(java)学习笔记159:Dalivk虚拟机的初始化过程
1.初始化下面系统函数(调用dvmStartup函数初始化所有相关的函数) 开始学习虚拟机的初始化过程,先从dvmStartup函数开始,这个函数实现所有开始虚拟机的准备工作: dvmAllocTra ...
- c# 枚举基础有[flags]和没有的的区别
枚举提供成组的常数值,它们有助于使成员成为强类型以及提高代码的可读性.在 C# 中,使用 enum 来声明枚举. 枚举分为简单枚举和标志枚举两种. 基本语法示例 enum Day { Sun, Mon ...
- C#中的字符串
1. 值类型与引用类型比较 classProgram { staticvoid Main() { int b = a; //将a的副本给变量b b = 10; Console.WriteLi ...
- Centos如何设置静态IP地址,LINUX怎么修改IP地址
1.登陆连接centos系统,输入 ifconfig 可以查看到当前本机的IP地址信息 2.临时设置IP地址: 输入 ifconfig eth0 (默认是第一个网卡) 后面接IP地址, 网络掩码和 网 ...
- (转)十分钟搞定CSS选择器
原文地址:http://www.cnblogs.com/dolphinX/p/3347713.html 在最近的web开发中是不是就会用到一些选择器,发现很多尤其是CSS3新增的不太熟悉,在此总结一下 ...
- 【S】【S】【S】一大波前端干货整合(一)
前端交流站点 大前端 http://www.daqianduan.com/ V2EX http://www.v2ex.com/ W3cplus http://www. ...