ddcopy 发表于 2005-09-27 11:34

开发服务器环境配置软件包W2K/XP Apache PHP LDAP SVN MySQL...

开发服务器环境配置安装说明   
      Ver 1.2.5.930

   李治 ddcopy@263.net
      2005-9-30

前言
----
对于许多从事软件开发工作的人来说,一个良好的开发管理环境能够使我们更好的对软件的质量进行控制。
但是,目前网上的很多文章,只是对软件的配置管理环境中的部分软件进行了介绍,没有一个全面的说明。
本文向大家介绍一个比较全面的开发配置管理环境的建立过程,同时提供一个已经配置完成的开发环境包。

整个开发环境的组成:Windows 2000/XP, Apache2, PHP5, MySQL, SVN, OpenLDAP, EasyMail, NetOffice, Mantis, TestLink, BBS
开发环境的配置思路:利用 LDAP 对 SVN, Mantis, NetOffice 等系统进行开发人员身份认证。系统可以通过 Mail 服务发送通知信息等。

关于软件包中各软件的使用方法,请大家参考相应的使用文档。本软件包将会不断的完善...

下载地址:http://lizhi.avicinfo.com/download/DevEnv.html

安装说明
--------
1.将压缩文件解压到 D:/DevEnv 目录下,然后运行 Install.bat 文件;
2.客户端安装 setup/software 里的 TortoiseSVN 软件;
3.从“Windows 服务”中,启动 Apache、MySQL、OpenLDAP、WinWebMail 服务;
4.访问 http://www.dcme.cn:8080

注:可以根据实际情况,对安装目录和网站域名进行调整。
      Install.bat 将自动根据当前目录对系统配置进行调整,但是一些应用系统,如:MAIL,BBS 的一些运行参数需要用户进行手工调整。
      Install.bat 会修改服务器的 hosts 系统文件,设置域名 dcme.com。用户可以根据实际情况,建立内部局域网 DNS,进行访问。

使用方法
--------
新建用户步骤:
1.在 LDAP 中建立新用户;
2.在各子应用系统中建立相应的用户信息;

安装感受
--------
1.mod_auth_ldap 的安装花费时间最多,用了好几个星期。系统自带的模块不能用,后来找到 mod_auth_ldap.dll 和 Sun_ONE_Directory_SDK 才解决问题;
2.MySQL 4.1.14 在安装后,应用系统无法进行认证,下载了多个版本进行测试,经多方查找,通过 OLD_PASSWORD () 函数得以解决;
3.完成了 SVN + LDAP 访问权限分组管理配置,使用起来还比较方便;
4.安装了国产邮件服务器 WinWebMail,注册后的用户数可以多于25个;

参考文档
--------
《使用 Subversion 进行版本控制》
《Version Control with Subversion》
《OpenLDAP2_1管理员指南》


一、服务程序安装

1. APACHE
    版本:2.0.54
    安装:D:\DevEnv\server\Apache2
    用途:Web 服务

2. PHP
    版本    5.0.5
    目录:D:\DevEnv\server\php5
    用途:页面处理

3. MySQL
    版本:4.1.14
    目录:D:\DevEnv\server\MySQL
    用途:数据库服务

4. OpenLDAP
    版本:2.2.19
    安装:D:\DevEnv\server\openldap
    用途:用户认证

5. SubVersion
    版本:1.2.3
    安装:D:\DevEnv\server\Subversion
    用途:版本控制

6. WinWebMail
    版本:3.7.0.3
    目录:D:\DevEnv\server\WinWebMail
    用途:邮件服务,域名:dcme.com


二、应用程序安装

    用户名/口令:
      admin/admin_888
      guest/guest
      user1/user1
      user2/user2

1. phpMyAdmin
    版本:2.6.3-pl1
    目录:D:\DevEnv\www\phpMyAdmin
    用途:MySQL 管理程序
    用户名/口令:root/dev_admin_234

2. phpLdapAdmin
    版本:0.9.6c
    目录:D:\DevEnv\www\phpLDAPAdmin
    用途:OpenLDAP 管理程序
    用户名/口令:cn=root,dc=cn/ldap_root_secret

3. NetOffice
    版本:2.6.1
    目录:D:\DevEnv\www\netOffice
    用途:团队项目管理程序

4. Mantis
    版本:1.0.0.rc2
    目录:D:\DevEnv\www\mantis
    用途:BUG 跟踪管理

5. TestLink
    版本:1.6 rc1
    目录:D:\DevEnv\www\testlink
    用途:项目测试管理

6. SMF BBS
    版本:1.0.5
    目录:D:\DevEnv\www\smfbbs
    用途:BBS 论坛程序


三、开发环境配置

1. Apache

    URL:http://www.dcme.cn:8080

    复制 mod_auth_ldap 模块文件
    cp -f setup/dll/modauthldap_apache2_dll/*.dll apache/modules
   
    复制 mod_auth_ldap 模块运行环境文件
    cp -f setup/dll/Sun_ONE_Directory_SDK_for_C_5.08/*.dll apache/modules

    在 httpd.conf 文件最后添加:
    #========================
    Include conf/custom.conf
    #========================

    文件 custom.conf 内容:
    #=====================================================================
    AddDefaultCharset GB2312

    # 加入 php 相关配置
    DirectoryIndex index.php
    PHPIniDir "D:/DevEnv/server/php5/"
    AddType application/x-httpd-php .php
    LoadModule php5_module "D:/DevEnv/server/php/sapi/php5apache2.dll"

    # 建立虚拟根目录 webapp
    Alias / "D:/DevEnv/www/"
    <Directory "D:/DevEnv/www">;
      Options Indexes MultiViews
      AllowOverride None
      Order allow,deny
      Allow from all
    </Directory>;

    # 加入 LDAP 相关模块
    LoadModule auth_ldap_module modules/mod_auth_ldap.dll

    # 加入 svn 相关模块
    LoadModule dav_svn_module   "D:/DevEnv/server/Subversion/bin/mod_dav_svn.so"
    LoadModule authz_svn_module "D:/DevEnv/server/Subversion/bin/mod_authz_svn.so"

    <Location /svn>;
      DAV svn
      SVNPath D:/DevEnv/svn
   
      AuthType Basic
      AuthName "Developer Subversion LDAP Auth"
      
      LDAP_Protocol_Version 3
      LDAP_Server localhost
      LDAP_Port 389
      
      Base_DN "dc=dcme,dc=cn"
      UID_Attr "uid"
    </Location>;
   
    <Location /svn/Example_Project/trunck>;
      require user admin
    </Location>;
   
    <Location /svn/Example_Project/tags>;
      require group cn=grp3,ou=groups
    </Location>;
   
    <Location /svn/Example_Project/branches>;
      require group cn=grp1,ou=groups cn=grp2,ou=groups
    </Location>;
    #=====================================================================

2. PHP

    确认 php.ini 在 D:\DevEnv\server\php5 目录下;
    拷贝 D:\DevEnv\server\php5\php5ts.dll 文件到 D:\DevEnv\Apache2\bin 目录下;

    拷贝 php5 下面非 php 开头的 .dll 文件到 system32 目录下;

    修改 php.ini 文件:
    #=============================
    extension_dir = "d:\devenv\server\php5\extensions"

    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_db.dll
    extension=php_ldap.dll
    extension=php_gd2.dll

    register_globals = On
    default_charset = "gb2312"
    include_path = ".;D:\DevEnv\server\php5\pear"
    #=============================

3. MySQL

    确认 my.ini 在 D:\DevEnv\server\MySQL 目录下;

    运行以下命令,修改 MySQL 4.1.14 的用户认证方式:
    # mysql -u root -p
    # mysql>; SET PASSWORD FOR
    # ->; root@localhost = OLD_PASSWORD('dev_admin_234');

    建立数据库:
    dev_mantis
    dev_netoffice
    dev_smfbbs
    dev_testlink

4. OpenLDAP

    (1) 初始化 LDAP 配置文件 slapd.conf

    参见:http://www.openldap.org/doc/admin23/quickstart.html

    修改 slapd.conf 配置文件:
    #==============================
    include   D:/DevEnv/server/openldap/etc/schema/core.schema
    include   D:/DevEnv/server/openldap/etc/schema/cosine.schema
    include   D:/DevEnv/server/openldap/etc/schema/dyngroup.schema
    include   D:/DevEnv/server/openldap/etc/schema/inetorgperson.schema
    include   D:/DevEnv/server/openldap/etc/schema/misc.schema
    include   D:/DevEnv/server/openldap/etc/schema/nis.schema
    include   D:/DevEnv/server/openldap/etc/schema/inetorgperson.schema
    include   D:/DevEnv/server/openldap/etc/schema/openldap.schema

    suffix      "dc=cn"
    rootdn      "cn=root,dc=cn"
    rootpw      ldap_root_secret

    allow bind_v2
    #==============================

    (2) 建立 LDAP 基础记录

    建立 BaseDn.ldif 文件:
    #==============================
    dn: dc=cn
    dc: cn
    objectClass: domain
   
    dn: dc=dcme,dc=cn
    dc: dcme
    objectClass: domain
   
    dn: ou=developers,dc=dcme,dc=cn
    ou: developers
    objectClass: organizationalUnit
   
    dn: ou=groups,dc=dcme,dc=cn
    ou: groups
    objectClass: organizationalUnit
    #==============================

    (3) 建立 LDAP 用户

    建立 UserDn.ldif 文件:
    #==============================
    dn: cn=root,dc=cn
    cn: root
    objectclass: organizationalRole
   
    dn:cn=admin,ou=developers,dc=dcme,dc=cn
    cn: admin
    sn: ADMIN
    uid: admin
    userPassword: admin
    objectClass: inetOrgPerson
   
    dn:cn=guest,ou=developers,dc=dcme,dc=cn
    cn: guest
    sn: GUEST
    uid: guest
    userPassword: guest
    objectClass: inetOrgPerson
   
    dn:cn=user1,ou=developers,dc=dcme,dc=cn
    cn: user1
    sn: USER1
    uid: user1
    userPassword: user1
    objectClass: inetOrgPerson
   
    dn:cn=user2,ou=developers,dc=dcme,dc=cn
    cn: user2
    sn: USER2
    uid: user2
    userPassword: user2
    objectClass: inetOrgPerson
    #==============================

    (4) 建立 LDAP 用户组

    建立 GroupDn.ldif 文件:
    #==============================
    dn: cn=grp1,ou=groups,dc=dcme,dc=cn
    cn: grp1
    objectClass: groupOfUniqueNames
    objectClass: top
    uniqueMember: cn=user1,ou=developers,dc=dcme,dc=cn
   
    dn: cn=grp2,ou=groups,dc=dcme,dc=cn
    cn: grp2
    objectClass: groupOfUniqueNames
    objectClass: top
    uniqueMember: cn=user2,ou=developers,dc=dcme,dc=cn
   
    dn: cn=grp3,ou=groups,dc=dcme,dc=cn
    cn: grp3
    objectClass: groupOfUniqueNames
    objectClass: top
    uniqueMember: cn=guest,ou=developers,dc=dcme,dc=cn
    #==============================

    (5) 运行 LDAP 命令

    运行ldapadd 添加根记录:
    ldapadd -x -D "cn=root,dc=cn" -w ldap_root_secret -f ldif\BaseDn.ldif

    运行ldapadd 添加用户记录:
    ldapadd -x -D "cn=root,dc=cn" -w ldap_root_secret -f ldif\UserDn.ldif

    运行ldapadd 添加用户组记录:
    ldapadd -x -D "cn=root,dc=cn" -w ldap_root_secret -f ldif\GroupDn.ldif

5. Subversion

    URL: http://www.dcme.cn:8080/svn/

    创建存储区命令行:
    svnadmin create D:\DevEnv\SVN

    开发人员安装 SVN 客户端:
    TortoiseSVN-1.2.1.3895-svn-1.2.1.msi

6. WinWebMail

    建立 dcme.com 域,并在该域下建立用户 admin, guest, user1, user2;
    未注册版本支持用户数为 25 人;
   
7. phpLdapAdmin

    URL:http://www.dcme.cn:8080/phpldapadmin/

    目录:D:\DevEnv\www\phpldapadmin

    拷贝:config.php.example 到 config.php

    修改:config.php
    #======================================================
    $servers[$i]['name'] = 'My Develop LDAP Server';
    $servers[$i]['host'] = 'www.dcme.cn';
    $servers[$i]['base'] = 'dc=cn';
    $servers[$i]['port'] = 389;
    $servers[$i]['auth_type'] = 'config';
    $servers[$i]['login_dn'] = 'cn=root,dc=cn';
    $servers[$i]['login_pass'] = 'ldap_root_secret';
    $servers[$i]['tls'] = false;
    $servers[$i]['low_bandwidth'] = false;
    $servers[$i]['default_hash'] = 'md5';
    #======================================================

    将文件 D:\DevEnv\www\phpldapadmin\header.php 最后的:

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />;

    替换为:

    <meta http-equiv="content-type" content="text/html; charset=gb2312" />;

8. phpMyAdmin

    URL:http://www.dcme.cn:8080/phpmyadmin/

9. Mantis

    URL:http://www.dcme.cn:8080/mantis/

    复制文件 config_defaults_inc.php 到 config_inc.php,并修改以下内容:

    #==============================================================
    $g_default_language   = 'auto';
   
    $g_ldap_server          = 'ldap://www.dcme.cn/';
    $g_ldap_port            = '389';
    $g_ldap_root_dn         = 'ou=developers,dc=dcme,dc=cn';
    $g_ldap_organization    = '';    # e.g. '(organizationname=*Traffic)'
    $g_ldap_uid_field       = 'uid'; # Use 'sAMAccountName' for Active Directory
    $g_ldap_bind_dn         = 'cn=root,dc=cn';
    $g_ldap_bind_passwd   = 'ldap_root_secret';
    $g_use_ldap_email       = ON; # Should we send to the LDAP email address or what MySql tells us

    $g_login_method         = LDAP;
    #==============================================================

10.NetOffice
    配置文件:settings.php

11.TestLink
    配置文件:config.inc.php

12.SMF
    配置文件:Settings.php

ddcopy 发表于 2005-09-27 13:16

开发服务器环境配置软件包W2K/XP Apache PHP LDAP SVN MySQL...

ScreenShut

ddcopy 发表于 2005-09-27 13:17

开发服务器环境配置软件包W2K/XP Apache PHP LDAP SVN MySQL...

ScreenShut

ddcopy 发表于 2005-09-27 13:21

开发服务器环境配置软件包W2K/XP Apache PHP LDAP SVN MySQL...

ScreenShut

346196247 发表于 2016-11-25 07:45

厉害,这些图片
页: [1]
查看完整版本: 开发服务器环境配置软件包W2K/XP Apache PHP LDAP SVN MySQL...