运维管理-Linux服务器一键安装SVN并通过命令行管理

运维管理-Linux服务器一键安装SVN并通过命令行管理Windows系统上安装SVN非常简单,下载安装包安装即可;但是作为一名服务器运维人员,使用最多是Linux系统服务器,本文我就将自己部署安装过

大家好,欢迎来到IT知识分享网。

Windows系统上安装SVN非常简单,下载安装包安装即可;但是作为一名服务器运维人员,使用最多是Linux系统服务器,本文我就将自己部署安装过程,分享给感兴趣的小伙伴们,可以关注或者私信我,欢迎感兴趣的小伙伴共同探讨与学习。

安装脚本

Linux环境下,比较麻烦的就是依赖包安装,特别是版本要求比较高。我当时安装的subversion-1.5.0版本不是最新版,所以花了比较长时间解决版本依赖问题,下面安装脚本中,都对依赖组件指定了版本。

#!/bin bash # CentOS vesion 6.4 #安装配置apr tar zxvf apr-1.3.5.tar.gz cd apr-1.3.5 ./buildconf ./configure LDFLAGS="-L/lib64" make make install cd .. #安装配置apr-util tar zxvf apr-util-1.3.7.tar.gz cd apr-util-1.3.7 ./buildconf ./configure --with-apr=/usr/local/apr LDFLAGS="-L/lib64" make make install cd .. #安装配置apr-util 2.2.4. 安装expat-2.0.1.tar.gz tar zxvf expat-2.0.1.tar.gz cd expat-2.0.1 ./configure make make install cd .. #安装配置libxml2 tar zxvf libxml2-2.7.2.tar.gz cd libxml2-2.7.2 ./configure LDFLAGS="-L/lib64" make make install cd .. #安装配置openssl tar zxvf openssl-1.0.0g.tar.gz cd openssl-1.0.0g ./config --prefix=/usr/local/ssl make make install cd .. #安装配置neon ##(特别注意:使用neon-0.28.2.tar.tar,在编译之前需要手动修改neo-0.28.2/src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2 ,而neon-0.30.1.tar.tar新版本不用,已经修改好) tar zxvf neon-0.28.2.tar.tar cd neon-0.28.2 ./configure --prefix=/usr/local/neon --enable-shared LDFLAGS="-L/lib64" make make install cd .. #安装配置httpd tar zxvf httpd-2.2.11.tar.gz cd httpd-2.2.11 ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config make make install cd .. #安装zlib-1.2.8.tar.gz(至关重要,单独下载zlib,不要使用subversion-deps中附带的zlib) tar zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=/usr/local/zlib make make install cd .. #安装subversion-1.5.0.tar.gz #安装subversion-deps-1.5.0.tar.gz(解压到同一目录) tar zxvf subversion-1.5.0.tar.gz tar zxvf subversion-deps-1.5.0.tar.gz cd subversion-1.5.0 #(删除subversion自带的apr及apr-util) rm -rf apr rm -rf apr-util ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-neon=/usr/local/neon --with-ssl=/usr/local/ssl --with-zlib=/usr/local/zlib --without-serf --enable-maintainer-mode LDFLAGS="-L/lib64" make make install svn --help #配置http+svn echo "Include /usr/svnrootfiles/project.conf/*.project" >> /usr/local/apache2/conf/httpd.conf #创建SVN服务目录 mkdir -p /usr/svnrootfiles/project.conf mkdir -p /usr/svnrootfiles/passwd.conf mkdir -p /usr/svnrootfiles/authz.conf mkdir -p /root/subversion_http chown -R apache:apache /usr/svnrootfiles/ chmod -R o+rw /usr/svnrootfiles/

创建仓库repos

#创建svn根目录 if [ ! -d /usr/svnrootfiles ] then mkdir /usr/svnrootfiles fi cd /usr/svnrootfiles/ #创建项目配置目录 if [ ! -d /usr/svnrootfiles/project.conf ] then mkdir /usr/svnrootfiles/project.conf fi #创建权限配置目录 if [ ! -d /usr/svnrootfiles/authz.conf ] then mkdir /usr/svnrootfiles/authz.conf fi #创建用户密码目录 if [ ! -d /usr/svnrootfiles/passwd.conf ] then mkdir /usr/svnrootfiles/passwd.conf fi #创建SVN项目版本库 echo "=======================创建SVN项目版本库=======================" echo "请输入项目名称(英文小写):" read projectname #将项目名称转化成小写 pn=$(echo $projectname | tr '[A-Z]' '[a-z]') echo "正在创建"$pn"SVN版本库..." if [ ! -d /usr/svnrootfiles/$pn ] then /usr/local/subversion/bin/svnadmin create /usr/svnrootfiles/$pn fi #创建项目的svn配置文件 #创建项目的权限配置文件 /usr/local/jdk/jre/bin/java -cp /root/subversion_http createrepos "$pn" #设置项目版本库所有者权限 chown -R apache:apache /usr/svnrootfiles/ #启动http和svn服务 /usr/local/apache2/bin/apachectl -k restart pid=`ps -e | grep svnserve | awk '{print $1}'` if [ -z "$pid" ] then echo -n "正在启动svn服务..." /usr/local/subversion/bin/svnserve -d -r /usr/svnrootfiles/ else kill -9 $pid /usr/local/subversion/bin/svnserve -d -r /usr/svnrootfiles/ fi

新增用户

#利用htpasswd新增虚拟用户及设置密码 #密码文件的存放路径/usr/svnrootfiles/passwd.conf,文件名为passwd echo "请输入svn用户的用户名(英文小写):" read uname #将项目名称转化成小写 username="$(echo $uname | tr '[A-Z]' '[a-z]')" echo "请输入svn用户的密码:" read password if [ ! -f /usr/svnrootfiles/passwd.conf/passwd ] then echo "passwd文件不存在" /usr/local/apache2/bin/htpasswd -bmc /usr/svnrootfiles/passwd.conf/passwd $username $password else echo "文件存在" /usr/local/apache2/bin/htpasswd -bm /usr/svnrootfiles/passwd.conf/passwd $username $password fi 

使用说明

1. 执行install.sh 2. 修改/usr/local/apache2/conf/httpd.conf配置文件 >修改服务端口号为81,或者其他不与已有服务冲突的端口号; > >修改User daemon为User apache; > >修改Group daemon为Group apache; 3. 创建svn空间(JDK1.6或以上版本) 4. 创建虚拟用户及密码 5. 新建SVN空间后,配置虚拟用户权限,重启httpd服务即可 使用说明 1.新建SVN空间:执行create_repos.sh;【输入项目名称】 2.新增SVN虚拟用户:执行create_user.sh;【输入用户名密码】 3.设置访问权限:修改/usr/svnrootfiles/authz.conf/ 下各项目权限配置文件; 4.修改用户密码:方法1-直接删除/usr/svnrootfiles/passwd.conf/passwd文件中中用户及密码信息;重新创建新用户; 方法2-可以先创建用户,将用户名之后":"之后密码替换原来的; 方法3-使用Apache自带的密码修改工具;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/47068.html

(0)
上一篇 2024-09-24 22:45
下一篇 2024-09-26 09:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信