Windows上安裝Apache2、PHP5、MySQL5及與Resin配合實現(xiàn)多系統(tǒng)之整合
更新時間:2010年03月18日 23:31:33 作者:
筆者之前一直使用Resin作為WEB應(yīng)用服務(wù)器,近來有項目需要在已有的JSP系統(tǒng)中整合phpwind系統(tǒng),因此首次嘗試在電腦中配置PHP的運行環(huán)境。
誰知坎坷頗多,故覺得有必要記錄下來,一來為了備忘,二來希望對后來者有所助益,避免走不必要的彎路。本人的安裝操作過程也參考了很多前輩們的經(jīng)驗,在此一并表示感謝。
另外在進入正題前,再說幾句題外話。下文的安裝整合在Apache2.2、PHP5、MySQL5、resin-3.1.10上測試通過,但考慮到每個人電腦本身運行環(huán)境的差異,并不能保證按照筆者的流程可以順利在各個電腦上安裝運行。因此按照此流程安裝的朋友遇到問題時,請自行通過Google、百度解決。因為別人文章里言之鑿鑿順利完成的安裝,在筆者電腦里卻就是無法運行,出的問題也是稀奇古怪,毫無道理可言。以下流程筆者走了不下10余次,其間磕磕碰碰、反反復(fù)復(fù)、裝裝卸卸、修修改改,不由感嘆程序員工作之煩復(fù)瑣碎,心想如能以程序員執(zhí)著之精神、頑強之意志、堅韌之毅力來做其他事情,諸事皆成!
好了,下面進入正題。
一、安裝apache 2.2.14
1、運行安裝程序,一路“Next”到“Server Information”,前兩處有域名填域名,無域名可填localhost(也可隨意填寫),其余接受默認選項即可,按“Next”繼續(xù)。
2、選擇安裝類型,如果需要更改默認程序安裝目錄的話,選擇Custom自定義安裝,否則選Typical進行默認安裝。此處筆者選擇Custom,按“Next”繼續(xù)。
3、出現(xiàn)選擇安裝選項界面,點選“Change...”指定安裝目錄,按“Next”繼續(xù)。
4、確認安裝選項無誤后,按“Install”開始安裝。安裝向?qū)С晒ν瓿蓵r,右下角狀態(tài)欄會出現(xiàn)一個新的小圖標,設(shè)置成“Start”狀態(tài)表示Apache服務(wù)已經(jīng)開始運行,按“Finish”結(jié)束。
5、在瀏覽器輸入http://localhost/,如果顯示“It works!”,表示Apache已能正常工作。如果沒有顯示,或者提示出錯,或者Apache小圖標的綠燈不亮,則可能是系統(tǒng)80端口被占用。這時需要查找出錯原因,一般情況可能是IIS、迅雷等軟件占用了80端口,關(guān)閉該軟件即可。
二、安裝php-5.2.5
1、將PHP的壓縮包解壓到指定文件夾中,筆者將其解壓到D:\dev\php。
2、將其中的php.ini-recommended文件改名為php.ini,同時修改其內(nèi)容:
(1);default_charset = "iso-8859-1"改為:default_charset ="utf-8";
(2)extension_dir = "./" 改為:extension_dir =" D:/dev/php/ext";
(3)找到memory_limit = 128M,修改數(shù)值可限定php腳本最多占用的內(nèi)存大小;
(4)根據(jù)需求選擇要加載的模塊,方法是去掉前面的;號,通??杉虞d如下的模塊:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3、將PHP安裝路徑添加到Windows的系統(tǒng)路徑中,具體方法是:在“我的電腦”上右鍵點擊選擇“屬性”,在“系統(tǒng)屬性”窗口中按“高級”標簽,點選“環(huán)境變量”,在“系統(tǒng)變量”下找到“Path”變量,將“;D:\dev\php;D:\dev\php\ext”添加到原有值的最后面(具體路徑根據(jù)真實安裝路徑修改),修改之后重啟生效。
4、對Apache的配置文件httpd.conf作如下修改:
(1)找到DocumentRoot "X:/xxx/htdocs" 和 <Directory "X:/xxx/htdocs">(引號中地址根據(jù)個人安裝路徑填寫),將“X:/xxx/htdocs”改為網(wǎng)站所存放的文件夾,筆者在此將其改為DocumentRoot "D:/www" 和 <Directory "D:/www">
(2)找到LoadModule,在下面添加
LoadModule php5_module "D:/dev/php/php5apache2_2.dll"
PHPIniDir "D:/dev/php"
(3)找到<IfModule dir_module> DirectoryIndex index.html </IfModule>,將其改為:
<IfModule dir_module>
DirectoryIndex index.php index.phtml index.html index.jsp
</IfModule>
(4)找到“AddType application/x-gzip .gz .tgz”, 在下面增加:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .html
5、在D:\www中創(chuàng)建index.php文件,內(nèi)容如下:
<?php
phpinfo();
?>
重啟Apache,在瀏覽器中輸入http://localhost/ ,如果顯示PHP的相關(guān)信息的話,則表示Apache已支持PHP。
三、安裝mysql-5.0.41
1、運行安裝程序,選擇“Custom”方式,將MySQL的安裝路徑改為D:\dev\MySQL,然后一路“Next”。
2、安裝完成后出現(xiàn)提示“Configure the MySQL Server now”,將其勾選后按“finish”。
3、在啟動的MySQL配置向?qū)е?,選擇“Detailed Configuration”配置方式,按“Next”繼續(xù)。
4、選擇服務(wù)器類型,“Developer Machine(開發(fā)測試類型,MySQL占用很少資源)”、“Server Machine(服務(wù)器類型,MySQL占用較多資源)”、“Dedicated MySQL Server Machine(專門的數(shù)據(jù)庫服務(wù)器,MySQL占用所有可用資源)”,根據(jù)自己的需要進行選擇。筆者主要是為了測試程序,這里選“Developer Machine”,按“Next”繼續(xù)。
5、選擇MySQL數(shù)據(jù)庫的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(專注事務(wù)處理型)”、“Non-Transactional Database Only(非事務(wù)處理型)”,根據(jù)自己的用途進行選擇。筆者選擇“Multifunctional Database”,按“Next”繼續(xù)。
6、對InnoDB Tablespace進行配置,就是為InnoDB 數(shù)據(jù)庫文件選擇存儲空間。筆者此處使用默認位置,按“Next”繼續(xù)。
7、對MySQL大概的連接數(shù)進行配置,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設(shè)置個數(shù))”。筆者此處選擇“Decision Support(DSS)/OLAP”,僅為調(diào)試程序之用,按“Next”繼續(xù)。
8、勾選啟用TCP/IP連接,默認端口3306,按“Next”繼續(xù)。
9、對MySQL數(shù)據(jù)庫默認編碼進行設(shè)置,第一是西文編碼,第二是UTF8編碼,第三個是手工配置。筆者選第三個,并在Character Set處選擇“gbk”,按 “Next”繼續(xù)。
10、將MySQL設(shè)置為Windows服務(wù),指定Service Name(服務(wù)標識名稱),并將MySQL的bin目錄加入到Windows PATH中(加入后將可在DOS窗口內(nèi)直接使用bin目錄中的命令,而不再需要輸入完整地址)。筆者此處全部勾選,Service Name默認不變,按“Next”繼續(xù)。
11、設(shè)置root用戶密碼(默認為空),在“New root password”中填寫密碼(如果是重裝并且之前已經(jīng)設(shè)置了密碼,此處更改密碼可能會出錯,請留空并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼)。另外可勾選“Enable root access from remote machines(是否允許root用戶遠程登陸)”,而“Create An Anonymous Account(新建一個匿名用戶)”,一般不用勾選。設(shè)置完畢,按“Next”繼續(xù)。
12、確認設(shè)置無誤后。按“Execute”使設(shè)置生效。設(shè)置完畢,按“Finish”結(jié)束。
13、在D:\www中創(chuàng)建testconn.php文件,內(nèi)容如下:(**為root用戶密碼):
<?php
mysql_connect("localhost", "root", "**") or die(mysql_error());
echo "Connected to MySQL<br />";
?>
在瀏覽器中輸入http://localhost/testconn.php,如果顯示Connected to MySQL,則表明與MySQL連接成功。
四、安裝phpMyAdmin-3.2.5
1、將phpMyAdmin壓縮包解壓在指定文件夾中,筆者將其解壓到D:\www\phpmyadmin,并將libraries目錄中的config.default.php復(fù)制到phpmyadmin目錄,重命名為config.inc.php。
2、對config.inc.php文件作如下修改:
(1)將 $cfg['Servers'][$i]['auth_type'] = 'config'; 改為:
$cfg['Servers'][$i]['auth_type']='http';
(2)將 $cfg['Servers'][$i]['password'] = '' 改為:
$cfg['Servers'][$i]['password'] = '**'(**為MySQL的密碼)
3、打開Apache配置文件httpd.conf,找到 # Alias /webpath /full/filesystem/path,在下面添加一下代碼(具體路徑根據(jù)情況修改):
Alias /phpmyadmin "D:/www/phpmyadmin"
<Directory "D:/www/phpmyadmin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
重啟Apache,在瀏覽器中打開http://localhost/phpmyadmin。在出現(xiàn)的對話框中輸入管理員帳號(root)和對應(yīng)密碼,如果順利登錄并打開phpMyAdmin界面,則表明已安裝完成。
五、安裝ZendOptimizer-3.3.3
ZendOptimizer的安裝較為簡單,只需按提示步驟選擇安裝路徑、勾選Apache2.x以及設(shè)置項目所在的根目錄即可。安裝完成后,在瀏覽器中輸入http://localhost/可以看到Zend 的信息。
六、整合Apache與Resin并配置虛擬主機
筆者電腦在Resin中已存在兩個工程,假設(shè)其中一個名為tieba,另一個名為zhidao,現(xiàn)需再整合phpwind論壇系統(tǒng),并實現(xiàn)分別可以用如下網(wǎng)址來訪問對應(yīng)的系統(tǒng):tieba.aaa.com、zhidao.aaa.com、bbs.aaa.com。
1、修改C:\WINDOWS\system32\drivers\etc目錄中的hosts文件,在其中添加:
127.0.0.1 tieba.aaa.com
127.0.0.1 zhidao.aaa.com
127.0.0.1 bbs.aaa.com
2、進入Resin安裝目錄的win32子目錄,運行setup.exe。在“Resin Setup”窗口中勾選Apache復(fù)選框,并在后面的輸入框中填寫Apache的安裝目錄,按“OK”確認。
3、對Apache的配置文件httpd.conf作如下修改:
(1)LoadModule caucho_module "D:/dev/resin-3.1.10/win32/apache-2.0/mod_caucho.dll"
將其修改為:
LoadModule caucho_module "D:/dev/resin-3.1.10/win32/apache-2.2/mod_caucho.dll"
(2)將#ServerName localhost:80前面的#號去掉。
(3)將<Directory " D:/www ">修改為<Directory />。
(4)將Options Indexes FollowSymLinks中的Indexes去掉,不顯示目錄列表。
(5)將#Include conf/extra/httpd-vhosts.conf前面的#號去掉,打開虛擬主機配置。
4、對D:\dev\Apache2.2\conf\extra中的httpd-vhosts.conf文件作如下修改:
(1)將NameVirtualHost *:80改為NameVirtualHost localhost:80,如果正式啟用Internet服務(wù)可將localhost換成服務(wù)器的IP地址。
(2)開始配置虛擬主機,一個域名對應(yīng)一個<VirtualHost>:
<VirtualHost bbs.aaa.com:80>
ServerName bbs.aaa.com
DocumentRoot D:/www/phpwind
</VirtualHost>
<VirtualHost tieba.aaa.com:80>
ServerName tieba.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/tieba
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
<VirtualHost zhidao.aaa.com:80>
ServerName zhidao.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/zhidao
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
5、對Resin的配置文件resin.conf作如下修改:
(1)由于已不需要Resin直接提供WEB服務(wù),可將<http address="*" port="8080"/>注釋掉,只需保證<server id="" address="127.0.0.1" port="6800"/>有效監(jiān)聽本地端口即可。這里需要注意的是,如果Apache與Resin不在同一臺服務(wù)器上的話,此處的127.0.0.1以及上面提到的httpd-vhosts.conf文件中127.0.0.1都應(yīng)改成Resin所處服務(wù)器的IP地址。
(2)如下所示配置Host:
<host id=" tieba.aaa.com " root-directory=".">
<web-app id="/" root-directory=" D:/dev/resin-3.1.10/webapps/tieba "/>
<stderr-log path='D:/dev/resin-3.1.10/logs/stderr.log' rollover-period='1W'/>
<stdout-log path='D:/dev/resin-3.1.10/logs/stdout.log' rollover-period='1W'/>
</host>
<host id=" zhidao.aaa.com" root-directory=".">
<web-app id="/" root-directory=" D:/dev/resin-3.1.10/webapps/zhidao"/>
<stderr-log path='D:/dev/resin-3.1.10/logs/stderr.log' rollover-period='1W'/>
<stdout-log path='D:/dev/resin-3.1.10/logs/stdout.log' rollover-period='1W'/>
</host>
重啟Apache與Resin,現(xiàn)在可以直接使用tieba.aaa.com、zhidao.aaa.com、bbs.aaa.com這三個域名來訪問對應(yīng)的工程了。
七、利用Apache Rewrite規(guī)則實現(xiàn)URL偽靜態(tài)
在實現(xiàn)Apache與Resin的整合之后,由于Apache對帶html的URL優(yōu)先進行攔截處理,就可能導(dǎo)致原有為優(yōu)化網(wǎng)站URL而在Resin系統(tǒng)中進行的偽靜態(tài)設(shè)置失效,這時就需要通過Apache Rewrite規(guī)則進行重新設(shè)置。此處以tieba工程中的URL為例進行說明,操作步驟如下:
1、在httpd.conf中,找到#LoadModule rewrite_module modules/mod_rewrite.so,將前面的#去掉。
2、在httpd-vhosts.conf中,找到<VirtualHost tieba.aaa.com:80>,將其修改為:
<VirtualHost tieba.aaa.com:80>
ServerName tieba.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/tieba
ResinConfigServer 127.0.0.1 6800
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/tie/(\d+).html$ /do/viewthread?id=$1 [L,PT]
</IfModule>
</VirtualHost>
這樣就可以實現(xiàn)將類似于http://tieba.aaa.com/do/viewthread?id=77的網(wǎng)址偽靜態(tài)為http://tieba.aaa.com/tie/77.html了。此處需注意的是,在規(guī)則后面必須寫[L,PT],不然會將/do/viewthread?id=$1視為目錄結(jié)構(gòu)進行訪問,而不交由Resin進行解析執(zhí)行。筆者被此處糾纏較長時間,后來者謹記。
好了,從上至下這樣一個流程走來,完成了在Windows中對Apache2、PHP5、MySQL5、phpMyAdmin、ZendOptimizer的安裝與配置,以及實現(xiàn)了Apache與Resin整合、虛擬主機配置和URL偽靜態(tài)的處理。接下來,筆者有空會來總結(jié)一下如何將Oracle中的數(shù)據(jù)快速便利的導(dǎo)入到MySQL中,以及如何將已有的JSP網(wǎng)站與phpwind論壇整合實現(xiàn)同步登入與同步退出的功能。
另外在進入正題前,再說幾句題外話。下文的安裝整合在Apache2.2、PHP5、MySQL5、resin-3.1.10上測試通過,但考慮到每個人電腦本身運行環(huán)境的差異,并不能保證按照筆者的流程可以順利在各個電腦上安裝運行。因此按照此流程安裝的朋友遇到問題時,請自行通過Google、百度解決。因為別人文章里言之鑿鑿順利完成的安裝,在筆者電腦里卻就是無法運行,出的問題也是稀奇古怪,毫無道理可言。以下流程筆者走了不下10余次,其間磕磕碰碰、反反復(fù)復(fù)、裝裝卸卸、修修改改,不由感嘆程序員工作之煩復(fù)瑣碎,心想如能以程序員執(zhí)著之精神、頑強之意志、堅韌之毅力來做其他事情,諸事皆成!
好了,下面進入正題。
一、安裝apache 2.2.14
1、運行安裝程序,一路“Next”到“Server Information”,前兩處有域名填域名,無域名可填localhost(也可隨意填寫),其余接受默認選項即可,按“Next”繼續(xù)。
2、選擇安裝類型,如果需要更改默認程序安裝目錄的話,選擇Custom自定義安裝,否則選Typical進行默認安裝。此處筆者選擇Custom,按“Next”繼續(xù)。
3、出現(xiàn)選擇安裝選項界面,點選“Change...”指定安裝目錄,按“Next”繼續(xù)。
4、確認安裝選項無誤后,按“Install”開始安裝。安裝向?qū)С晒ν瓿蓵r,右下角狀態(tài)欄會出現(xiàn)一個新的小圖標,設(shè)置成“Start”狀態(tài)表示Apache服務(wù)已經(jīng)開始運行,按“Finish”結(jié)束。
5、在瀏覽器輸入http://localhost/,如果顯示“It works!”,表示Apache已能正常工作。如果沒有顯示,或者提示出錯,或者Apache小圖標的綠燈不亮,則可能是系統(tǒng)80端口被占用。這時需要查找出錯原因,一般情況可能是IIS、迅雷等軟件占用了80端口,關(guān)閉該軟件即可。
二、安裝php-5.2.5
1、將PHP的壓縮包解壓到指定文件夾中,筆者將其解壓到D:\dev\php。
2、將其中的php.ini-recommended文件改名為php.ini,同時修改其內(nèi)容:
(1);default_charset = "iso-8859-1"改為:default_charset ="utf-8";
(2)extension_dir = "./" 改為:extension_dir =" D:/dev/php/ext";
(3)找到memory_limit = 128M,修改數(shù)值可限定php腳本最多占用的內(nèi)存大小;
(4)根據(jù)需求選擇要加載的模塊,方法是去掉前面的;號,通??杉虞d如下的模塊:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3、將PHP安裝路徑添加到Windows的系統(tǒng)路徑中,具體方法是:在“我的電腦”上右鍵點擊選擇“屬性”,在“系統(tǒng)屬性”窗口中按“高級”標簽,點選“環(huán)境變量”,在“系統(tǒng)變量”下找到“Path”變量,將“;D:\dev\php;D:\dev\php\ext”添加到原有值的最后面(具體路徑根據(jù)真實安裝路徑修改),修改之后重啟生效。
4、對Apache的配置文件httpd.conf作如下修改:
(1)找到DocumentRoot "X:/xxx/htdocs" 和 <Directory "X:/xxx/htdocs">(引號中地址根據(jù)個人安裝路徑填寫),將“X:/xxx/htdocs”改為網(wǎng)站所存放的文件夾,筆者在此將其改為DocumentRoot "D:/www" 和 <Directory "D:/www">
(2)找到LoadModule,在下面添加
LoadModule php5_module "D:/dev/php/php5apache2_2.dll"
PHPIniDir "D:/dev/php"
(3)找到<IfModule dir_module> DirectoryIndex index.html </IfModule>,將其改為:
<IfModule dir_module>
DirectoryIndex index.php index.phtml index.html index.jsp
</IfModule>
(4)找到“AddType application/x-gzip .gz .tgz”, 在下面增加:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .html
5、在D:\www中創(chuàng)建index.php文件,內(nèi)容如下:
<?php
phpinfo();
?>
重啟Apache,在瀏覽器中輸入http://localhost/ ,如果顯示PHP的相關(guān)信息的話,則表示Apache已支持PHP。
三、安裝mysql-5.0.41
1、運行安裝程序,選擇“Custom”方式,將MySQL的安裝路徑改為D:\dev\MySQL,然后一路“Next”。
2、安裝完成后出現(xiàn)提示“Configure the MySQL Server now”,將其勾選后按“finish”。
3、在啟動的MySQL配置向?qū)е?,選擇“Detailed Configuration”配置方式,按“Next”繼續(xù)。
4、選擇服務(wù)器類型,“Developer Machine(開發(fā)測試類型,MySQL占用很少資源)”、“Server Machine(服務(wù)器類型,MySQL占用較多資源)”、“Dedicated MySQL Server Machine(專門的數(shù)據(jù)庫服務(wù)器,MySQL占用所有可用資源)”,根據(jù)自己的需要進行選擇。筆者主要是為了測試程序,這里選“Developer Machine”,按“Next”繼續(xù)。
5、選擇MySQL數(shù)據(jù)庫的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(專注事務(wù)處理型)”、“Non-Transactional Database Only(非事務(wù)處理型)”,根據(jù)自己的用途進行選擇。筆者選擇“Multifunctional Database”,按“Next”繼續(xù)。
6、對InnoDB Tablespace進行配置,就是為InnoDB 數(shù)據(jù)庫文件選擇存儲空間。筆者此處使用默認位置,按“Next”繼續(xù)。
7、對MySQL大概的連接數(shù)進行配置,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設(shè)置個數(shù))”。筆者此處選擇“Decision Support(DSS)/OLAP”,僅為調(diào)試程序之用,按“Next”繼續(xù)。
8、勾選啟用TCP/IP連接,默認端口3306,按“Next”繼續(xù)。
9、對MySQL數(shù)據(jù)庫默認編碼進行設(shè)置,第一是西文編碼,第二是UTF8編碼,第三個是手工配置。筆者選第三個,并在Character Set處選擇“gbk”,按 “Next”繼續(xù)。
10、將MySQL設(shè)置為Windows服務(wù),指定Service Name(服務(wù)標識名稱),并將MySQL的bin目錄加入到Windows PATH中(加入后將可在DOS窗口內(nèi)直接使用bin目錄中的命令,而不再需要輸入完整地址)。筆者此處全部勾選,Service Name默認不變,按“Next”繼續(xù)。
11、設(shè)置root用戶密碼(默認為空),在“New root password”中填寫密碼(如果是重裝并且之前已經(jīng)設(shè)置了密碼,此處更改密碼可能會出錯,請留空并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼)。另外可勾選“Enable root access from remote machines(是否允許root用戶遠程登陸)”,而“Create An Anonymous Account(新建一個匿名用戶)”,一般不用勾選。設(shè)置完畢,按“Next”繼續(xù)。
12、確認設(shè)置無誤后。按“Execute”使設(shè)置生效。設(shè)置完畢,按“Finish”結(jié)束。
13、在D:\www中創(chuàng)建testconn.php文件,內(nèi)容如下:(**為root用戶密碼):
<?php
mysql_connect("localhost", "root", "**") or die(mysql_error());
echo "Connected to MySQL<br />";
?>
在瀏覽器中輸入http://localhost/testconn.php,如果顯示Connected to MySQL,則表明與MySQL連接成功。
四、安裝phpMyAdmin-3.2.5
1、將phpMyAdmin壓縮包解壓在指定文件夾中,筆者將其解壓到D:\www\phpmyadmin,并將libraries目錄中的config.default.php復(fù)制到phpmyadmin目錄,重命名為config.inc.php。
2、對config.inc.php文件作如下修改:
(1)將 $cfg['Servers'][$i]['auth_type'] = 'config'; 改為:
$cfg['Servers'][$i]['auth_type']='http';
(2)將 $cfg['Servers'][$i]['password'] = '' 改為:
$cfg['Servers'][$i]['password'] = '**'(**為MySQL的密碼)
3、打開Apache配置文件httpd.conf,找到 # Alias /webpath /full/filesystem/path,在下面添加一下代碼(具體路徑根據(jù)情況修改):
Alias /phpmyadmin "D:/www/phpmyadmin"
復(fù)制代碼 代碼如下:
<Directory "D:/www/phpmyadmin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
重啟Apache,在瀏覽器中打開http://localhost/phpmyadmin。在出現(xiàn)的對話框中輸入管理員帳號(root)和對應(yīng)密碼,如果順利登錄并打開phpMyAdmin界面,則表明已安裝完成。
五、安裝ZendOptimizer-3.3.3
ZendOptimizer的安裝較為簡單,只需按提示步驟選擇安裝路徑、勾選Apache2.x以及設(shè)置項目所在的根目錄即可。安裝完成后,在瀏覽器中輸入http://localhost/可以看到Zend 的信息。
六、整合Apache與Resin并配置虛擬主機
筆者電腦在Resin中已存在兩個工程,假設(shè)其中一個名為tieba,另一個名為zhidao,現(xiàn)需再整合phpwind論壇系統(tǒng),并實現(xiàn)分別可以用如下網(wǎng)址來訪問對應(yīng)的系統(tǒng):tieba.aaa.com、zhidao.aaa.com、bbs.aaa.com。
1、修改C:\WINDOWS\system32\drivers\etc目錄中的hosts文件,在其中添加:
127.0.0.1 tieba.aaa.com
127.0.0.1 zhidao.aaa.com
127.0.0.1 bbs.aaa.com
2、進入Resin安裝目錄的win32子目錄,運行setup.exe。在“Resin Setup”窗口中勾選Apache復(fù)選框,并在后面的輸入框中填寫Apache的安裝目錄,按“OK”確認。
3、對Apache的配置文件httpd.conf作如下修改:
(1)LoadModule caucho_module "D:/dev/resin-3.1.10/win32/apache-2.0/mod_caucho.dll"
將其修改為:
LoadModule caucho_module "D:/dev/resin-3.1.10/win32/apache-2.2/mod_caucho.dll"
(2)將#ServerName localhost:80前面的#號去掉。
(3)將<Directory " D:/www ">修改為<Directory />。
(4)將Options Indexes FollowSymLinks中的Indexes去掉,不顯示目錄列表。
(5)將#Include conf/extra/httpd-vhosts.conf前面的#號去掉,打開虛擬主機配置。
4、對D:\dev\Apache2.2\conf\extra中的httpd-vhosts.conf文件作如下修改:
(1)將NameVirtualHost *:80改為NameVirtualHost localhost:80,如果正式啟用Internet服務(wù)可將localhost換成服務(wù)器的IP地址。
(2)開始配置虛擬主機,一個域名對應(yīng)一個<VirtualHost>:
復(fù)制代碼 代碼如下:
<VirtualHost bbs.aaa.com:80>
ServerName bbs.aaa.com
DocumentRoot D:/www/phpwind
</VirtualHost>
<VirtualHost tieba.aaa.com:80>
ServerName tieba.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/tieba
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
<VirtualHost zhidao.aaa.com:80>
ServerName zhidao.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/zhidao
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
5、對Resin的配置文件resin.conf作如下修改:
(1)由于已不需要Resin直接提供WEB服務(wù),可將<http address="*" port="8080"/>注釋掉,只需保證<server id="" address="127.0.0.1" port="6800"/>有效監(jiān)聽本地端口即可。這里需要注意的是,如果Apache與Resin不在同一臺服務(wù)器上的話,此處的127.0.0.1以及上面提到的httpd-vhosts.conf文件中127.0.0.1都應(yīng)改成Resin所處服務(wù)器的IP地址。
(2)如下所示配置Host:
復(fù)制代碼 代碼如下:
<host id=" tieba.aaa.com " root-directory=".">
<web-app id="/" root-directory=" D:/dev/resin-3.1.10/webapps/tieba "/>
<stderr-log path='D:/dev/resin-3.1.10/logs/stderr.log' rollover-period='1W'/>
<stdout-log path='D:/dev/resin-3.1.10/logs/stdout.log' rollover-period='1W'/>
</host>
<host id=" zhidao.aaa.com" root-directory=".">
<web-app id="/" root-directory=" D:/dev/resin-3.1.10/webapps/zhidao"/>
<stderr-log path='D:/dev/resin-3.1.10/logs/stderr.log' rollover-period='1W'/>
<stdout-log path='D:/dev/resin-3.1.10/logs/stdout.log' rollover-period='1W'/>
</host>
重啟Apache與Resin,現(xiàn)在可以直接使用tieba.aaa.com、zhidao.aaa.com、bbs.aaa.com這三個域名來訪問對應(yīng)的工程了。
七、利用Apache Rewrite規(guī)則實現(xiàn)URL偽靜態(tài)
在實現(xiàn)Apache與Resin的整合之后,由于Apache對帶html的URL優(yōu)先進行攔截處理,就可能導(dǎo)致原有為優(yōu)化網(wǎng)站URL而在Resin系統(tǒng)中進行的偽靜態(tài)設(shè)置失效,這時就需要通過Apache Rewrite規(guī)則進行重新設(shè)置。此處以tieba工程中的URL為例進行說明,操作步驟如下:
1、在httpd.conf中,找到#LoadModule rewrite_module modules/mod_rewrite.so,將前面的#去掉。
2、在httpd-vhosts.conf中,找到<VirtualHost tieba.aaa.com:80>,將其修改為:
復(fù)制代碼 代碼如下:
<VirtualHost tieba.aaa.com:80>
ServerName tieba.aaa.com
DocumentRoot D:/dev/resin-3.1.10/webapps/tieba
ResinConfigServer 127.0.0.1 6800
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/tie/(\d+).html$ /do/viewthread?id=$1 [L,PT]
</IfModule>
</VirtualHost>
這樣就可以實現(xiàn)將類似于http://tieba.aaa.com/do/viewthread?id=77的網(wǎng)址偽靜態(tài)為http://tieba.aaa.com/tie/77.html了。此處需注意的是,在規(guī)則后面必須寫[L,PT],不然會將/do/viewthread?id=$1視為目錄結(jié)構(gòu)進行訪問,而不交由Resin進行解析執(zhí)行。筆者被此處糾纏較長時間,后來者謹記。
好了,從上至下這樣一個流程走來,完成了在Windows中對Apache2、PHP5、MySQL5、phpMyAdmin、ZendOptimizer的安裝與配置,以及實現(xiàn)了Apache與Resin整合、虛擬主機配置和URL偽靜態(tài)的處理。接下來,筆者有空會來總結(jié)一下如何將Oracle中的數(shù)據(jù)快速便利的導(dǎo)入到MySQL中,以及如何將已有的JSP網(wǎng)站與phpwind論壇整合實現(xiàn)同步登入與同步退出的功能。
相關(guān)文章
ubuntu下的虛擬環(huán)境中安裝Django的操作方法
這篇文章主要介紹了ubuntu下的虛擬環(huán)境中安裝Django的操作方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Apache No space left on device: mod_rewrite: could not creat
這篇文章主要介紹了Apache No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed問題的解決方法,需要的朋友可以參考下2014-09-09