当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>J2EE

J2EE综合 svn配置手记

    以前公司的服务器都有专人在配置,现在轮到我了。。。虽然不懂LINUX,不懂APACHE MODULE, 不懂SSL。好些东西都是第一次,但不要紧,有专业的基础知识压底,再加上网络这个巨大宝库,相信能搞定。
    虽然网络上有相关文章,但我试了十几篇都没有一篇文章能够完全配置正确。所以,不懂得原理肯定是搞不定的。能过努力我终于征服svn!以下是我配置svn的完整步骤,现贡献出来。让大家少走弯路吧。
  OK,开始吧!呵呵呵。对了,忘说环境了。linux[centos4.2]
  首先准备好相关软件包,
  1.subversion-1.3.2.tar.gz  /*因为我下载的1.4里面没找到configure文件所以这里下载1.3.2这个版本*/
  2.httpd-2.0.55.tar.gz      /*据说用2.2有问题,不过我没试。我用2.0.55*/
  3. db-4.4.20.tar.gz        /*svn必须的数据库*/
  ####################################安装步骤 开始####################################
  1.以root用户登录系统,将subversion-1.3.2.tar.gz/httpd-2.0.55.tar.gz/db-4.4.20.tar.gz
复制到/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                    /*安装*/
  [安装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 /opt/svn/repos       /*-p 意思是如果没有目录则创建*/
  #svnadmin create --fs-type fsfs /opt/svn/repos      /*参数 --fs-type fsfs  是指定存储类型*/
  
  5.创建项目临时目录,建议目录结构如下:
  /opt/svn/tmp/project_xxx/trunk
  /opt/svn/tmp/project_xxx/tags
  /opt/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 /opt/svn/repos
  #chmod 770 /opt/svn/repos               
  #chmod -R g+w /opt/svn/repos

  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吧,别忘了要输入你创建证书时的密码!呵呵

  ####################################安装步骤 结束####################################

相关内容
赞助商链接