開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
開發伺服器環境配置安裝說明
Ver 1.2.5.930
李治
[email protected] 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
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
phpLDAPadmin
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
phpMyAdmin.gif
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
SVN - Subverison
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
netOffice
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
Mantis
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
SMFBBS.gif
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
TestLink
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
辛苦!
《解決方案》
開發伺服器環境配置軟體包W2K/XP Apache PHP LDAP SVN MySQL...
學習