zoukankan      html  css  js  c++  java
  • linux下配置raid+svn

    一、raid
    二、svn
      1.subversion-1.6.12.tar.gz 
      2.httpd-2.2.16.tar.gz     
      3. db-5.0.26.NC        /*svn必须的数据库*/
      ####################################安装步骤 开始####################################
      1.以root用户登录系统,将以上软件复制到/usr/local/目录下.
      2.安装Apache,安装Berkeley DB,安装Subversion
      命令如下:
      [安装Apache]
      #tar -zxvf httpd-2.0.55.tar.gz    /*解压*/
      #cd httpd-2.0.54                  /*进入刚才解压的目录*/
      #./configure  --enable-dav --enable-so  --enable-ssl --enable-maintainer-mode -prefix=/usr/local/apache2  --enable-mods-shared=all /*编译配置,记住参数一个不能少.ssl是

      为以后用安全链加的module,dav模块就不用我说了,然后是共享所有模块*/
      #make                             /*编译*/
      #make install                     /*安装*/
      [安装Berkeley DB]
      #tar -zxvf db-4.4.20.NC.tar.gz   /*解压*/
      #cd db-4.4.20.NC/build_unix/     /*进入目录*/
      #../dist/configure --prefix=/usr/local/bdb  /*编译配置,指定安装目录*/
      #make                            /*编译*/
      #make install                    /*安装*/

      这里要安装gcc和openssh以及openssh-devel
      [安装Subversion]/*下面就不用写注释了,相信看了上面两段应该看得懂了*/
      #tar -zxvf subversion-1.3.2.tar.gz 
      #cd subversion-1.3.2
      #./configure --with-berkeley-db=/usr/local/bdb --with-apxs=/usr/local/apache2/bin/apxs
      #make
      #make install
      3.检查Subversion是否安装成功
      #svnadmin --version            /*如果成功你会看见相应的版本号,和支持的服务*/
      4.创建软件仓库
      #mkdir -p /svn/repos       /*-p 意思是如果没有目录则创建*/
      #svnadmin create --fs-type fsfs /svn/repos      /*参数 --fs-type fsfs  是指定存储类型*/

      svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据(我在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点。

      5.创建项目临时目录,建议目录结构如下:
      /svn/tmp/project_xxx/trunk
      /svn/tmp/project_xxx/tags
      /svn/tmp/project_xxx/branches
      /**********************************************************
      然后将项目文件复制到trunk下,如果是从CVS转移过来的项目,用下面命令清理目录
      #find projectname/ -name CVS -exec rm -rf {} \;
      **********************************************************/
      6.导入source
      #svn import -m "initial import" /opt/svn/tmp file:///opt/svn/repos
      /***********************************************************
      -m 后面跟的是操作注释 /opt/sv/tmp是项目文件位置 file:///opt/svn/repos是创建的软件仓库
      ***********************************************************/
      7.检查是否倒入成功
      #svn list --verbose file:///opt/svn/repos/
      /***********************************************************
      如果成功你看到到你倒入的项目列表,按我的操作步骤应该不会有错
      ***********************************************************/

      8.给仓库授权
      #chown -R apache.apache /svn/repos
      #chmod 770 /svn/repos               
      #chmod -R g+w /svn/repos

      9.与apache整合
      用apache工具创建用户文件
      #htpasswd -c /svn/passwd admin    ##密码为:123456
      设置密码文件权限
      #chown a+r passwd

      10.修改配置文件/home/svnrepo/conf/svnserve.conf

      #去掉#[general]前面的#号
      [general]
      #匿名访问的权限,可以是read,write,none,默认为read
      anon-access = none
      #认证用户的权限,可以是read,write,none,默认为write
      auth-access = write
      #密码数据库的路径,去掉前面的#
      password-db = passwd

      注意:所有的行都必须顶格,否则报错。
      建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容

      修改配置文件passwd

      代码
      [users]
      abc = abc

      注意,一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
      这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。

      配置SVN xinetd启动方式:

      在/etc/xinetd.d/下面新建svn文件
      service svn
      {
        disable = no
        port = 3690
        socket_type = stream
        protocol = tcp
        wait = no
        user = svn
        server = /usr/bin/svnserve
        server_args = -i -r /home/svn

      }

      重启xinetd   /etc/init.d/xinetd restart

      停止SVN服务器:killall svnserve

      启动SVN服务器

      对于单个代码仓库

      启动命令  svnserve -d -r /home/svn --listen-host 192.168.1.16

      其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.

      我们可以在svn客户端中通过svn://192.168.1.16来访问svn服务器

      对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.

      比 如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home--listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn: 

      //192.168.1.16/repo2来分别访问两个项目

      开放服务器端口

      svn默认端口是3690,你需要在防火墙上开放这个端口。

      /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

      /sbin/service iptables save

      你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.1.200:9999/.

      启动subversion服务,并设置版本库位置

      # svnserve --daemon --root=/svn/repos --listen-port=3690(为主)

      注:不推荐使用root用户启动服务,默认端口号为3690

      11.# yum list mod_dav_svn

      注:可以发现与mod_dav_svn相关的包mod_dav_svn.i386,安装mod_dav_svn.i386

      # yum install mod_dav_svn.i386

      注:安装完成后可以发现在/etc/httpd/conf.d文件夹下,自动产生了subversion.conf文件,而且自动添加了如下两行:

      LoadModule dav_svn_module modules/mod_dav_svn.so

      LoadModule authz_svn_module modules/mod_authz_svn.so

      将......之间的内容改为如下内容:

      DAV svn

      SVNPath #SVNPATH/repos/project1

      12.使用svn客户端导入项目

      推荐使用客户端 http://tortoisesvn.tigris.org/

      eclipse插件 http://subclipse.tigris.org/

    9.与apache整合
      用apache工具创建用户文件
      #htpasswd ?c /opt/svn/pwd admin    ##密码为:123456
      设置密码文件权限
      #chown a+r pwd
      创建访问权限文件assesspolicy内容
      [groups]
      developers =admin
      [repos:/]
      @developers = rw

      ssl安全认证:
      找到openssl.cnf目录执行
      #openssl genrsa -des3 -out my-server.key 1024
      然后输入密码:xxxxxx
      生成证书执行:
      #openssl req -new -key my-server.key -x509 -out my-server.crt -config openssl.cnf
      
      在 Apache 的 conf 目录下新建一个 sslfile 目录,将 my-server.key 和 my-server.crt 文件都移动到 sslfile 目录里面

      修改apache的httpd.conf文件
      User apache
      group apache

      打开sslmod前的#号
      LoadModule ssl_module modules/mod_ssl.so
      
      在最后加入如下内容
      SSLMutex default
      SSLRandomSeed startup builtin
      SSLSessionCache none
      ErrorLog logs/SSL.log
      LogLevel info
      <VirtualHost svntest.ut.cn.ibm.com:443>
      SSLEngine On
      SSLCertificateFile conf/ssl/my-server.crt
      SSLCertificateKeyFile conf/ssl/my-server.key
      </VirtualHost>

      <Location /repos>
        DAV svn
        SVNPath /opt/svn/repos
        AuthType Basic
        AuthName "svn repos"
        AuthUserFile /opt/svn/pwd
        AuthzSVNAccessFile /opt/svn/accesspolicy
        require valid-user
        SSLRequireSSL   ##加了这句就只能用https模式,不能用http模式了
      </Location>

      OK,到些结束,启动apache吧,别忘了要输入你创建证书时的密码!

    9.与apache整合
      用apache工具创建用户文件
      #htpasswd ?c /opt/svn/pwd admin    ##密码为:123456
      设置密码文件权限
      #chown a+r pwd
      创建访问权限文件assesspolicy内容
      [groups]
      developers =admin
      [repos:/]
      @developers = rw

      ssl安全认证:
      找到openssl.cnf目录执行
      #openssl genrsa -des3 -out my-server.key 1024
      然后输入密码:xxxxxx
      生成证书执行:
      #openssl req -new -key my-server.key -x509 -out my-server.crt -config openssl.cnf
      
      在 Apache 的 conf 目录下新建一个 sslfile 目录,将 my-server.key 和 my-server.crt 文件都移动到 sslfile 目录里面

      修改apache的httpd.conf文件
      User apache
      group apache

      打开sslmod前的#号
      LoadModule ssl_module modules/mod_ssl.so
      
      在最后加入如下内容
      SSLMutex default
      SSLRandomSeed startup builtin
      SSLSessionCache none
      ErrorLog logs/SSL.log
      LogLevel info
      <VirtualHost svntest.ut.cn.ibm.com:443>
      SSLEngine On
      SSLCertificateFile conf/ssl/my-server.crt
      SSLCertificateKeyFile conf/ssl/my-server.key
      </VirtualHost>

      <Location /repos>
        DAV svn
        SVNPath /opt/svn/repos
        AuthType Basic
        AuthName "svn repos"
        AuthUserFile /opt/svn/pwd
        AuthzSVNAccessFile /opt/svn/accesspolicy
        require valid-user
        SSLRequireSSL   ##加了这句就只能用https模式,不能用http模式了
      </Location>

      OK,到些结束,启动apache吧,别忘了要输入你创建证书时的密码!

  • 相关阅读:
    jQuery之Ajax应用
    ELK安装配置简单使用
    saltstack其他运行模式
    saltstack syndic安装配置使用
    salt api
    saltstack api安装使用
    saltstack master minion安装配置简单使用
    zabbix api
    zabbix snmp、jmx配置使用
    phoenix安装
  • 原文地址:https://www.cnblogs.com/chinacloud/p/1794348.html
Copyright © 2011-2022 走看看