hellow 运维

对自己要求不要太低

  • 博客访问: 138758
  • 博文数量: 92
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 940
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-05 14:50
  • 认证徽章:
个人简介

hellow 运维

文章分类

全部博文(92)

文章存档

2017年(17)

2016年(39)

2015年(34)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
centos下面的svn的搭建 2015-05-13 10:54:32

分类: 系统运维

系统环境:CentOS-6.6
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件


检查已安装版本


#检查是否安装了低版本的SVN
[root@zck /]# rpm -qa subversion
#卸载旧版本SVN
[root@zck modules]# yum remove subversion
安装SVN
[root@zck modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确认已安装了svn模块
[root@zck /]# cd /etc/httpd/modules
[root@zck modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so


验证安装 


检验已经安装的SVN版本信息 
[root@zck modules]# svnserve --version 
svnserve,版本 1.6.11 (r934486) 
编译于 Jun 23 2012,00:44:03 


版权所有 (C) 2000-2009 CollabNet。 
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 
此产品包含由 CollabNet( http://www.Collab.Net/) 开发的软件。 


下列版本库后端(FS) 模块可用: 
* fs_base : 模块只能操作BDB版本库。 
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。 
Cyrus SASL 认证可用。 


代码库创建 


SVN软件安装完成后还需要建立SVN库 

[root@zck modules]# mkdir -p /opt/svn/repos
[root@zck modules]# svnadmin create /opt/svn/repos
执行上面的命令后,自动建立repos库,查看/opt/svn/repos 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。 
配置代码库 
进入上面生成的文件夹conf下,进行配置 
[root@zck modules]# cd /opt/svn/repos/conf 
用户密码passwd配置 
[root@zck password]# cd /opt/svn/repos/conf
[root@admin conf]# vim  passwd
修改passwd为以下内容: 
[users]
# harry = harryssecret
# sally = sallyssecret
hanye=hanye

权限控制authz配置 
[root @admin conf]# vim authz 
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容: 
#设置[/]代表根目录下所有的资源 
[/] 
hanye=rw 
服务svnserve.conf配置 
[root @admin conf]# vimm svnserve.conf 
追加以下内容: 

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repos
配置防火墙端口 

[root@zck conf]# vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@zck conf]# servimce iptables restart
启动SVN 
?
1
svnserve -d -r /opt/svn/repos
查看SVN进程 

[root@zck conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repos
检测SVN 端口 

[root@zck conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN 
[root@zck password]# killall svnserve //停止
[root@zck password]# svnserve -d -r /opt/svn/repos // 启动
测试 
SVN服务已经启动,使用客户端测试连接。 
客户端连接地址:svn://192.168.0.168 
用户名/密码: hanye/hanye 
测试创建文件夹等操作。

另附:
CentOS下svn的安装配置和使用


一,安装必须的软件包


        $ yum install subversion 
        $ yum install mod_dav_svn 

二,基本的SVN服务器配置 
        1,新建一个目录用于存储SVN所有文件
                # mkdir /home/svn
 
        2,新建一个版本仓库
                # svnadmin create /home/svn/test
 
        3,初始化版本仓库中的目录,导入原始代码
                如果原代码已经有svn的相关文件,则切换到原代码目录,先删除这些svn相关的文件和文件夹。假定/home/user/code/src存放源代码
                # cd /home/user/code/src
                # find ./ -name "*.svn" | xargs rm -rf
                # svn import /home/user/code/src file:///home/svn/test/ -m "init test code"
 
        4,添加用户
                在/home/svn/test/conf/passwd文件添加形如“username=password"的条目。
                [users]
                admin = adminpass
                user1 = hanye


         5,修改用户访问策略
                /home/svn/test/conf/authz记录用户的访问策略:
                        [groups]
                        
                        [test:/]
                        admin = rw
                        user1 = r
                        * =
                        
                        [test:/modue]
                        admin = rw
                        user1 = rw
                        * =
                以上表示admin具有所有的读写权限,user1在modue文件夹下可读可写,根目录下只读。也可以配置组的权限。
 
        6,修改/home/svn/test/conf/svnserve.conf文件,让用户和策略配置生效.
                svnserve.conf内容如下:
                        [general]
                        anon-access = none
                        auth-access = write
                        password-db = passwd
                        authz-db = authz
 
        7,启动服务器
                # svnserve -d -r /home/svn
 
        8,测试服务器
                # svn co svn://192.168.0.168/test
                按提示先输入用户密码,再输入svn的用户名、密码,就可以了。
                # cd test
                # vimm main.c
                # svn add main.c 
                # svn commit main.c -m "comment"
                Adding         main.c
                Transmitting file data .
                Committed revimsion 2.  ( 测试提交成功 )


三,配置SVN服务器的HTTP支持(可以用浏览器看代码) 


       详细配置请参考 http://www.blogjava.net/jasmine214--love/archive/2010/09/26/332989.html
       1,修改httpd.conf,添加关于SVN服务器的内容
                修改/etc/httpd/conf/httpd.conf。
 
        2,重启HTTPD服务器
                # servimce httpd restart
 
        3,用浏览器访问http://192.168.0.168/test


四,可能出现的问题 


1. 如果外网不能正常访问,可能还需要作端口映射,对外网开放3690端口。
    检查端口是否打开,可以用命令: telnet xxx.xxx.xxx.xxx 3690


2. 在windows下checkout的时候,如果出现类似以下的错误:


原因是linux下有同名但大小写不同的文件。一种解决办法是尽量避免这种情况,改成不同的名称。


编译安装:

Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器

摘要

本文将基于svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器
SVN(subversion)的运行方式有两种:一种是基于Apache的http、https网页访问形式;还有一种是基于svnserve的独立服务器模式
SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用普通的文件FSFS存储数据。
由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全。

系统环境:CentOS 6.6 x86_64

系统IP:172.16.6.100

1、关闭SELinux

[root@Legion100 ~]# sed -i 's/^SELINUX=.*/#&/;s/^SELINUXTYPE=.*/#&/;/SELINUX=.*/a SELINUX=disabled' /etc/sysconfig/selinux && /usr/sbin/setenforce 0

2、关闭防火墙

[root@Legion100 ~]# service iptables stop

3、配置编译环境

[root@Legion100 ~]# [ -f /etc/yum.repos.d/epel.repo ] && mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup [root@Legion100 ~]# [ -f /etc/yum.repos.d/epel-testing.repo ] && mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup [root@Legion100 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@Legion100 ~]# yum clean all && yum makecache [root@Legion100 ~]# yum groupinstall "Development tools" "Server Platform Development" -y [root@Legion100 ~]# yum install apr-devel apr-util-devel apr-util-mysql apr-util-odbc apr-util-pgsql apr-util-sqlite \ compat-dapl compat-dapl-devel compat-dapl-static compat-dapl-utils compat-db compat-db42 compat-db43 \ compat-expat1 compat-gcc-34 compat-gcc-34-c++ compat-gcc-34-g77 compat-glibc compat-glibc-headers \ compat-libcap1 compat-libf2c-34 compat-libgfortran-41 compat-libstdc++-296 compat-libstdc++-33 \ compat-libtermcap compat-openldap compat-openmpi compat-openmpi-devel compat-openmpi-psm compat-openmpi-psm-devel \ compat-opensm-libs compat-readline5 compat-readline5-devel compat-readline5-static fontconfig-devel freetype-demos \ freetype-devel gd gtk+-devel kernel libX11-devel libXScrnSaver-devel libXau-devel libXaw-devel libXaw3dXft \ libXaw3dXft-devel libXcm libXcm-devel libXcomp libXcomp-devel libXcompext libXcompext-devel libXcomposite-devel \ libXcompshad libXcompshad-devel libXcursor-devel libXdamage-devel libXdmcp-devel libXevie libXevie-devel \ libXext-devel libXfixes-devel libXfont-devel libXft-devel libXi-devel libXinerama-devel libXmu-devel libXp \ libXp-devel libXpm-devel libXrandr-devel libXrender-devel libXres-devel libXt-devel libXtst-devel libXv-devel \ libXvMC-devel libXxf86dga-devel libXxf86misc-devel libXxf86vm-devel libcurl-devel libjpeg-turbo-devel \ libjpeg-turbo-static libpng-devel libpng-static libpng10 libpng10-devel libtiff-devel libtiff-static \ libtool-ltdl-devel libxml2-devel nasm nasm-doc nasm-rdoff ncurses-static ncurses-term pcre-devel \ php-common php-gd t1lib t1lib-apps t1lib-devel t1lib-static -y

4、删除系统中原有的svn及依赖包

[root@Legion100 ~]# yum remove apr apr-util subversion subversion-libs -y

5、下载编译SVN需要的依赖包

[root@Legion100 ~]# mkdir /tmp/src && cd /tmp/src [root@Legion100 ~]# echo "https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz http://www.openssl.org/source/openssl-1.0.1o.tar.gz http://fossies.org/linux/www/serf-1.3.8.tar.gz http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz http://www.sqlite.org/snapshot/sqlite-amalgamation-201506201411.zip" > downloadlist [root@Legion100 ~]# wget -i downloadlist

6、安装SVN

[root@Legion100 /tmp/src]# tar xf apr-1.5.2.tar.gz [root@Legion100 /tmp/src]# cd apr-1.5.2 [root@Legion100 /tmp/src/apr-1.5.2]# ./configure --with-apr=/usr/local/apr/ [root@Legion100 /tmp/src/apr-1.5.2]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../ [root@Legion100 /tmp/src]# [root@Legion100 /tmp/src]# tar xf apr-util-1.5.4.tar.gz [root@Legion100 /tmp/src]# cd apr-util-1.5.4 [root@Legion100 /tmp/src/apr-util-1.5.4]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config [root@Legion100 /tmp/src/apr-util-1.5.4]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../ [root@Legion100 /tmp/src]# [root@Legion100 /tmp/src]# tar xf scons-2.3.5.tar.gz [root@Legion100 /tmp/src]# cd scons-2.3.5 [root@Legion100 /tmp/src/scons-2.3.5]# python setup.py install [root@Legion100 /tmp/src]# [root@Legion100 /tmp/src]# tar xf openssl-1.0.1o.tar.gz [root@Legion100 /tmp/src]# cd openssl-1.0.1o [root@Legion100 /tmp/src/openssl-1.0.1o]# CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared [root@Legion100 /tmp/src/openssl-1.0.1o]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../ [root@Legion100 /tmp/src]# echo "export PATH=/usr/local/openssl/bin:\$PATH" > /etc/profile.d/openssl.sh [root@Legion100 /tmp/src]# . /etc/profile.d/openssl.sh [root@Legion100 /tmp/src]# which openssl /usr/local/openssl/bin/openssl [root@Legion100 /tmp/src]# ln -vs /usr/local/openssl/include/openssl /usr/include/openssl "/usr/include/openssl/openssl" -> "/usr/local/openssl/include/openssl" [root@Legion100 /tmp/src]# [root@Legion100 /tmp/src]# tar xf serf-1.3.8.tar.gz [root@Legion100 /tmp/src]# cd serf-1.3.8 [root@Legion100 /tmp/src/serf-1.3.8]# scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl [root@Legion100 /tmp/src/serf-1.3.8]# scons install [root@Legion100 /tmp/src/serf-1.3.8]# cp -a /usr/local/serf/lib/libserf-1.so* /usr/local/lib/ [root@Legion100 /tmp/src/serf-1.3.8]# scons -c [root@Legion100 /tmp/src/serf-1.3.8]# cd .. [root@Legion100 /tmp/src]# tar xf subversion-1.8.13.tar.gz [root@Legion100 /tmp/src]# cd subversion-1.8.13 [root@Legion100 /tmp/src/subversion-1.8.13]# mkdir sqlite-amalgamation [root@Legion100 /tmp/src/subversion-1.8.13]# cd .. [root@Legion100 /tmp/src]# unzip sqlite-amalgamation-201506201411.zip -d /tmp/src/subversion-1.8.13/sqlite-amalgamation/ #解压sqlite-amalgamation软件包到sqlite-amalgamation目录 Archive: sqlite-amalgamation-201506201411.zip inflating: /tmp/src/subversion-1.8.13/sqlite-amalgamation/sqlite3.c inflating: /tmp/src/subversion-1.8.13/sqlite-amalgamation/sqlite3.h inflating: /tmp/src/subversion-1.8.13/sqlite-amalgamation/sqlite3ext.h inflating: /tmp/src/subversion-1.8.13/sqlite-amalgamation/shell.c [root@Legion100 /tmp/src]# cd subversion-1.8.13 [root@Legion100 /tmp/src/subversion-1.8.13]# ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config \ --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf \ --with-openssl=/usr/local/openssl --enable-mod-activation [root@Legion100 /tmp/src/subversion-1.8.13]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../ [root@Legion100 /tmp/src]# echo "export PATH=\$PATH:/usr/local/svn/bin" > /etc/profile.d/svn.sh [root@Legion100 /tmp/src]# . /etc/profile.d/svn.sh [root@Legion100 /tmp/src]# which svn /usr/local/svn/bin/svn [root@Legion100 /tmp/src/subversion-1.8.13]# whereis libexpat.so.1 libexpat.so: /lib64/libexpat.so.1 /usr/lib64/libexpat.so.0 /usr/lib64/libexpat.so [root@Legion100 /tmp/src/subversion-1.8.13]# ls -l /lib64/libexpat.so.1 lrwxrwxrwx. 1 root root 17 5月 31 04:28 /lib64/libexpat.so.1 -> libexpat.so.1.5.2 [root@Legion100 /tmp/src/subversion-1.8.13]# ln -sv /lib64/libexpat.so.1.5.2 /usr/local/lib/libexpat.so.1 "/usr/local/lib/libexpat.so.1" -> "/lib64/libexpat.so.1.5.2" [root@Legion100 /tmp/src/subversion-1.8.13]# echo "/usr/local/lib/" >> /etc/ld.so.conf [root@Legion100 /tmp/src/subversion-1.8.13]# ldconfig [root@Legion100 /tmp/src/subversion-1.8.13]# svn help | head 用法: svn [options] [args] Subversion 命令行客户端,版本 1.8.13。 使用“svn help ” 显示子命令的帮助信息。 使用“svn --version”查看程序的版本号和版本库访问模块,或者 使用“svn --version --quiet”只查看程序的版本号。 大多数的子命令可接受文件或目录参数,对目录进行递归处理。 如果没有指定参数,默认对当前目录(包含当前目录)递归处理。 可用的子命令: [root@Legion100 /tmp/src/subversion-1.8.13]# svn --version | head -2 svn,版本 1.8.13 (r1667537) 编译于 Jul 5 2015,01:32:57 在 x86_64-unknown-linux-gnu [root@Legion100 /tmp/src/subversion-1.8.13]# svnserve --version | head -2 svnserve,版本 1.8.13 (r1667537) 编译于 Jul 5 2015,01:32:57 在 x86_64-unknown-linux-gnu [root@Legion100 /tmp/src/subversion-1.8.13]#

Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器

7、配置svn

[root@Legion100 /tmp/src/subversion-1.8.13]# cd [root@Legion100 ~]# mkdir -p /home/svn [root@Legion100 ~]# svnadmin create /home/svn [root@Legion100 ~]# ls -l /home/svn 总用量 24 drwxr-xr-x 2 root root 4096 7月 5 01:51 conf drwxr-sr-x 6 root root 4096 7月 5 01:51 db -r--r--r-- 1 root root 2 7月 5 01:51 format drwxr-xr-x 2 root root 4096 7月 5 01:51 hooks drwxr-xr-x 2 root root 4096 7月 5 01:51 locks -rw-r--r-- 1 root root 246 7月 5 01:51 README.txt [root@Legion100 ~]# tree /home/svn /home/svn ├── conf │   ├── authz │   ├── hooks-env.tmpl │   ├── passwd │   └── svnserve.conf ├── db │   ├── current │   ├── format │   ├── fsfs.conf │   ├── fs-type │   ├── min-unpacked-rev │   ├── revprops │   │   └── 0 │   │   └── 0 │   ├── revs │   │   └── 0 │   │   └── 0 │   ├── transactions │   ├── txn-current │   ├── txn-current-lock │   ├── txn-protorevs │   ├── uuid │   └── write-lock ├── format ├── hooks │   ├── post-commit.tmpl │   ├── post-lock.tmpl │   ├── post-revprop-change.tmpl │   ├── post-unlock.tmpl │   ├── pre-commit.tmpl │   ├── pre-lock.tmpl │   ├── pre-revprop-change.tmpl │   ├── pre-unlock.tmpl │   └── start-commit.tmpl ├── locks │   ├── db.lock │   └── db-logs.lock └── README.txt 10 directories, 28 files [root@Legion100 ~]# #上面的命令执行完成之后,会自动建立svn库,在/home/svn文件夹含了conf,db,format,hooks,locks,README.txt等文件。

8、配置svn代码库

[root@Legion100 ~]# cd /home/svn/conf [root@Legion100 /home/svn/conf]# cat svnserve.conf | grep -Ev '^$|^#{2,}' #配置文件参考 [general] anon-access = read #禁止匿名访问,设置为none。默认为read,参数:read,write,none auth-access = write #授权用户写权限 password-db = passwd #用户账号密码文件路径,可以写绝对路径 authz-db = authz #访问控制权限文件路径,可以写绝对路径 # groups-db = groups realm = Legion #每个SVN项目的认证名,会在认证提示里显示,建议写项目名称。 # force-username-case = none # hooks-env = hooks-env [sasl] # use-sasl = true # min-encryption = 0 # max-encryption = 256 [root@Legion100 /home/svn/conf]#[root@Legion100 /home/svn/conf]# cat passwd | grep -v '^#\|^$' #用户密码配置格式 [users] lookback = lookback Legion = lookback dwhd = lookback [root@Legion100 /home/svn/conf]# cat authz | grep -Ev '^#{2,}|^$|^# ' #配置权限控制文件,设置用户可以访问的目录格式 [aliases] [groups] admin = lookback users = Legion,dwhd [/] #路径设置是根(SVN的根) @admin = rw #管理组是读写权限 * = r #所有用户是读权限(只设置了管理组和普通用户,达到的效果就是普通组是读权限了) [root@Legion100 /home/svn/conf]#

9、测试启动svn

[root@Legion100 ~]# svnserve -d -r /home/svn --listen-port 3690 [root@Legion100 ~]# ss -tnl | grep 3690 LISTEN 0 7 *:3690 *:* [root@Legion100 ~]# ps aux | grep▼显示vn root 62188 0.0 0.0 160820 852 ? Ss 02:07 0:00 svnserve -d -r /home/svn --listen-port 3690 [root@Legion100 ~]# killall svnserve [root@Legion100 ~]# wget http://www.dwhd.org/script/svnserverinit.sh -O /etc/rc.d/init.d/svn [root@Legion100 ~]# chmod +x /etc/rc.d/init.d/svn [root@Legion100 ~]# chkconfig svn on [root@Legion100 ~]# chkconfig --list svn svn 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@Legion100 ~]#

启动脚本

#!/bin/bash ######################################################################### # File Name: svnserverinit.sh # Author: LookBack # Email: admin#dwhd.org # Version: # Created Time: 2015年07月05日 星期日 04时30分33秒 ######################################################################### # # svnserve Startup script for the Subversion svnserve daemon # # chkconfig: - 85 15 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # description: The svnserve daemon allows access to Subversion repositories \ # using the svn network protocol. # processname: svnserve # config: /etc/sysconfig/svnserve # pidfile: /var/run/svnserve.pid # ### BEGIN INIT INFO # Provides: svnserve # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Short-Description: start and stop the svnserve daemon # Description: The svnserve daemon allows access to Subversion # repositories using the svn network protocol. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions if [ -f /etc/svnserver/config ]; then . /etc/svnserver/config else mkdir $(dirname /etc/svnserver/config) touch /etc/svnserver/config cat > /etc/svnserver/config << EOF svn_port=3690 svn_home=/home/svn EOF . /etc/svnserver/config fi exec=/usr/local/svn/bin/svnserve prog=svnserve pidfile=${PIDFILE-/var/run/svnserve.pid} lockfile=${LOCKFILE-/var/lock/subsys/svnserve} args="--daemon --pid-file=${pidfile} $OPTIONS" #[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 if [ "$retval_pid" = "0" -a "$retval_port" = "0" ]; then echo -e "$prog ...... \033[32mRunning!\033[0m" else echo -n "Starting $prog ...... " if $exec -d -r $svn_home --listen-port $svn_port >/dev/null 2>&1; then echo -e "\033[32mSuccessfully!\033[0m" else echo -e "\033[31mError!\033[0m" fi fi return $retval } stop() { echo -n "Stopping $prog ...... " if [ "$retval_pid" = "0" -a "$retval_port" = "0" ]; then killall $prog >/dev/null 2>&1 retval=$? [ $retval -eq 0 ] && rm -f $lockfile && echo -e "\033[32mSuccessfully!\033[0m" || echo -e "\033[31mError!\033[0m" else echo -e "\033[31mNot Running!\033[0m" retval=$? fi return $retval } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { # run checks to determine if the service is running or use generic status pidNO=$(ps aux | pgrep $prog >/dev/null 2>&1) && retval_pid=$? portON=$(lsof -i :$svn_port >/dev/null 2>&1) && retval_port=$? echo -n "$prog ...... " if [ "$retval_pid" = "0" -a "$retval_port" = "0" ]; then echo -e "\033[32mRunning!\033[0m" else echo -e "\033[31mStopping!\033[0m" fi } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) #rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $?

10、测试SVN

Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器

Linux之svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器



SVN Windows客户端下载
























阅读(1111) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册