自动安装svn服务端脚本

post by rocdk890 / 2013-2-7 13:03 Thursday linux技术

  今天在网上看到了一个不错的svn服务端自动安装的shell,拷过来分享给大家.
1.脚本内容:
vi svn_install.sh
#!/bin/bash
dir='/svndata'   ##svn的目录
name='puppet'    ##svn的资源库名称
user='test'      ##svn验证登陆的用户名
passwd='test'    ##svn验证登陆的密码
yum -y install httpd httpd-devel subversion mod_dav_svn expect
mkdir -p $dir
cd $dir/
svnadmin create $name
chown -R apache:apache $name
cat > /etc/httpd/conf.d/subversion.conf<<EOF
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNListParentPath on
SVNPath "$dir/$name"
AuthType Basic
AuthName "Subversion repository"
AuthUserFile "$dir/$name/conf/authfile"
Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>
EOF
echo "
[groups]
admin = test
[admin:/]
@admin = rw
[/]
* = r
[$name:/]
test = rw">>$dir/$name/conf/authz
echo '#!/usr/bin/expect
spawn /usr/bin/htpasswd -c '$dir'/'$name'/conf/authfile test
expect "New password:"
send "'$passwd'\n"
expect "Re-type new password:"
send "'$passwd'\n"
interact'>/tmp/htpasswd.sh
/usr/bin/expect /tmp/htpasswd.sh
chown apache:apache $dir/$name/conf/authfile
echo "$user = $passwd">>$dir/$name/conf/passwd
svn import $dir/$name/ file://$dir/$name -m "Initial repository"
sed -i 's/# anon-access = read/anon-access = none/g' $dir/$name/conf/svnserve.conf
sed -i 's/# auth-access = write/auth-access = write/g' $dir/$name/conf/svnserve.conf
sed -i 's/# password-db = passwd/password-db = \'$dir'\/'$name'\/conf\/passwd/g' $dir/$name/conf/svnserve.conf
sed -i 's/# authz-db = authz/authz-db = \'$dir'\/'$name'\/conf\/authz/g' $dir/$name/conf/svnserve.conf
sed -i 's/# realm = My First Repository/realm = puppt Repository/g' $dir/$name/conf/svnserve.conf
/etc/init.d/httpd restart
svnserve -d -r $dir/$name/

2.使用方式:
直接给这个脚本755权限,然后sh 脚本名称,之后就自动的安装svn服务端了,对于svn客户端的话,自己如果想在win里使用,那么下载TortoiseSVN客户端.
chmod +x svn_install.sh 或 chmod 755 svn_install.sh

当然你也可以在http://ip/svn里输入你的验证的用户与密码,就可以登录访问了.

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-316.html

标签: 安装 svn shell 服务端 自动化

评论: