- 论坛徽章:
- 0
|
开发服务器环境配置安装说明
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 |
|