Svn安装
检查已安装版本
#检查是否安装了低版本的SVN
rpm -qa subversion
#卸载旧版本SVN
yum remove subversion
安装SVN
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确认已安装了svn模块
cd /etc/httpd/modules
ls | grep svn
验证安装
检验已经安装的SVN版本信息
svnserve --version
代码库创建
SVN软件安装完成后还需要建立SVN库
useradd svn
mkdir -p /home/svn/public_repo
svnadmin create /home/svn/public_repo
执行上面的命令后,自动建立repositories库,查看/home/svn/public_repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置代码库
进入上面生成的文件夹conf下,进行配置
cd /home/svn/public_repo
只需要改conf里面的svnserve.conf里面的一个选项即可
修改以下三项 前面的#和#后面的空格去掉,然后让其顶格(不顶格会报错)
然后在passwd里面添加账户密码(给别人创建svn账户就是在这里,一个库一个账户,如果你创建别的库了,还是需要去另一个库的conf的passwd里面添加用户,添加完用户不需要重启svn,即时生效)
格式就是 用户名=密码
比如我要添加一个用户名为yangyue密码为123456的账户就这样添加
vim /home/svn/public_repo/conf/passwd
即可
然后改变svn目录属主属组
chown svn:svn /home/svn/ -R
注意,以后每次添加新的svn库的时候都要修改属主属组为svn,因为svn是要以svn用户启动的
启动svn
su svn -c "svnserve -d -r /home/svn"
这个命令的意思是 你在root用户下以svn用户的权限来执行 svnserve -d -r /home/svn 的命令
然后在你的windows上安装svn客户端
安装完毕后
在你的D盘空白处点击鼠标右键
然后输入svn://11*.21*.189.48/public_repo地址
这个public_repo就是你刚才创建的svn库
点OK
然后回弹出让你输入用户名密码
然后点OK,
查看你download下来的文件
进去随便创建一个文件
然后右键点public_repo上传
点all,然后上传
上传成功
然后删了public_repo
再重新按照上面一步checkout下来,如果里面有public_repo即成功
====================================================分割线
作为linux的门外汉,一直觊觎svn的方便性,在有台aliyun的情况下,一起来搞搞。
1.环境
阿里云 centos5.5
2.安装svn
yum -y install subversion
3.配置
建立版本库目录
mkdir /alidata/www/svndata
svnserve -d -r /alidata/www/svndata
4.建立版本库
创建一个新的Subversion项目
svnadmin create /alidata/www/svndata/myproject
配置允许用户rsync访问
cd /alidata/www/svndata/myproject/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
myname=myaname
5.客户端连接
svn co svn://ip/alidata/www/svndata/myproject
用户名密码:myname
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/alidata/www/webroot
2)checkout一份SVN
svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot
修改权限为WEB用户
chown -R www:www /alidata/www/webroot/myproject
3)建立同步脚本
cd /alidata/www/svndata/oplinux/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/alidata/www/webroot/
$SVN update $WEB –username myname –password myname
chown -R www:www $WEB
增加脚本执行权限
chmod +x post-commit
这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。