前言 本文介紹了融jsp、PHP和Java於一爐的開發環境的建立,為了適合大多數初學者的需求,很多步驟都是采用比較方便的辦法,力求簡單明了。一般來說,沒有特別需求的軟件,我都是采用RPM的方式安裝。如果你有優化配置、安全考慮等特殊需求,請參考相關的文章進行配置。 在本文中,Apache以DSO模式安裝,PHP實現了JAVA組件的支持,使得我們在進行大型項目開發的時候,可以選擇PHP作為前端腳本語言,調用JAVA組件實現底層和企業級的應用。
一.系統環境 1.初始安裝 防火牆開放接口:21,22,80,2401,8009,10000,eth0 Redhat Linux 9.0 Development Tools Network Servers VSFTP CVS-1.11.2-10 mysql 3.23.54 2.包安裝 JDK 1.4.2_04 下載地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm Tomcat 5.0.19 下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz 3.腳本安裝 Webmin 1.110 下載地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz ZendOptimizer 2.5.1 下載地址:http://www.netshine.com.cn/linux/ZendOptimizer-2.5.1-Linux_glibc21-i386.tar.gz 4.手工編譯 Apache 2.0.49 下載地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz PHP 4.3.5 下載地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz JK 2-2.0.4 下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz 5.客戶機環境 Windows XP Professional Absolute Telnet 3.0 Zend Encoder Macromedia Dreamweaver MX 2004 Borland JBuilder 9 Enterprise WinCVS 1.3 下載地址:http://www.netshine.com.cn/linux/WinCvs13b17.zip
二.系統安裝 啟動Linux安裝光盤,安裝基本系統:FTP、開發工具和MySQL3.23.54。如果你是手工編譯安裝MySQL,要記得以後在編譯PHP等程序時要指明MySQL的具體路徑,否則會因找不到路徑而導致編譯出錯。
三.安裝webmin1.110 用Webmin來配置系統,傻瓜化,可以節省不少力氣,所以一般我都先安裝它。安裝過程很簡單,執行setup.sh腳本後照提示一步一步來就可以了。 代碼: # cd webmin* # ./setup.sh
四.安裝JDK1.4.2 1.編輯如下三個文件,沒有指明全路徑的放在你自己的home目錄就可以。 /etc/profile JAVA_HOME=/usr/java/j2sdk1.4.2_04 CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib CVSROOT=/usr/local/cvsroot PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export JAVA_HOME CLASSPATH CVSROOT PATH /etc/ld.so.conf /usr/java/j2sdk1.4.2_04/jre/lib/i386 /usr/java/j2sdk1.4.2_04/jre/lib/i386/server HelloWorld.java class HelloWorld { public static void main(String[] args) { //本文件測試Java環境是否安裝成功。 System.out.println("Hello World!"); } } 2.執行以下命令: 代碼: # rpm -ivh j2sdk*.rpm //安裝JDK包。 # source /etc/profile //重載profile環境。 # ldconfig //創建動態鏈接庫緩存文件。 # javac -d . HelloWorld.java //編譯測試文件。 # java HelloWorld //運行程序測試安裝是否成功。
五.安裝Apache 代碼: # tar xvzf httpd* //解壓源碼包。 # cd httpd* //進入安裝目錄。 # ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most --enable-rewrite # make;make install //編譯並安裝。 說明: --enable-so選項:讓Apache可以支持DSO模式,注意,我們在這裡采用的是Apache2.0的語法。如果你的Apache是1.3版本,應改為--enable-module=so。 --enable-mods-shared=most選項:告訴編譯器將所有標准模塊都編譯為DSO模塊。你要是用的是Apache1.3,改為--enable-shared=max就可以。 --enable-rewrite選項:支持地址重寫功能,使用1.3版本的朋友請將它改為--enable-module=rewrite。
六.編譯安裝PHP 1.執行命令 代碼: #tar xvzf php* //解壓源碼包 #cd php* //進入PHP安裝命令 #./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache/bin/apxs --with-java=/usr/java/j2sdk1.4.2_04 #make;make install //編譯並安裝 #cp php.ini-dist /usr/local/php/lib/php.ini //復制php配置文件 #cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 //extensions目錄 #ln -s java.so libphp_java.so //建立連接,忘記了會出錯哦 #cd Zend* //進入ZendOptimizer目錄 #./install //安裝PHP加速器 說明: --with-apxs2=/usr/local/apache/bin/apxs是Apache2的語法,1.3版本的用戶請使用--with-apxs=/usr/local/apache/bin/apxs。 2.編輯下面三個文件 /usr/local/apache/conf/httpd.conf LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddDefaultCharset gb2312 /usr/local/apache/htdocs/test.php <?php //本程序測試PHP的JAVA環境是否可用,代碼是從http://www.php.net/manual/en/ref.java.php摘錄下來的。 // get instance of Java class java.lang.System in PHP $system = new Java('java.lang.System'); // demonstrate property Access echo 'Java version=' . $system->getProperty('java.version') . '<br />'; echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />'; echo 'OS=' . $system->getProperty('os.name') . ' ' . $system->getProperty('os.version') . ' on ' . $system->getProperty('os.arch') . ' <br />'; // java.util.Date example $formatter = new Java('java.text.SimpleDateFormat', "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz"); echo $formatter->format(new Java('java.util.Date')); ?> /usr/local/php/lib/php.ini register_globals=On [Java] java.class.path=/usr/local/php/lib/php/php_java.jar:/home/jim/myclass java.home=/usr/java/j2sdk1.4.2_04 java.library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libjava.so java.library.path=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 extension=libphp_java.so 注意: (1).如果你剛剛從以前老版本的PHP轉換到新版本,可能會發現你的PHP程序很多都不能用了。別緊張!把register_globals打開就一切正常啦!這是因為老版本的PHP,它的register_globals默認是開著的,而新版本,卻把它關了的緣故。 (2)./home/jim/myclass是我存放JAVA組件的路徑,你可以根據實際情況修改,但是為了安全起見,可不要放在web目錄下哦。
七.安裝Tomcat 1.執行以下命令 代碼: #cd *jk2*/jk/native2 //進入連接器編譯目錄 #./buildconf.sh //運行配置腳本 #./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-jni --enable-EAPI #make //編譯模塊 #cd ~jim/src/*jk2*/jk/build/jk2/apache2 //進入編譯好模塊的目錄 #cp *.so /usr/local/apache/modules/ //將模塊拷貝到Apache目錄 #cp -R jakarta-tomcat-5.0.19 /usr/local/tomcat //安裝Tomcat #toUCh /usr/local/apache/logs/shm.file //建立共享內存文件 我剛開始安裝Tomcat的時候,總是不成功,後來我跑到Apache的網站,看了一份只有兩頁的英文說明,很快就把它配好了。我發現國內的作者總是喜歡故弄玄虛,把本來很簡單的東西搞得很復雜,讓人家看不懂,以顯示自己高明。 2.編輯以下文件 /usr/local/apache/conf/httpd.conf LoadModule jk2_module modules/mod_jk2.so JkSet config.file /usr/local/apache/conf/workers2.properties DocumentRoot "/usr/local/tomcat/webapps" <Directory "/usr/local/tomcat/webapps"> /usr/local/tomcat/webapps/jsp-examples/for.jsp <% int i; for(i=1;i<100;i++) { out.println("<h" + i + ">Hello World!</h" + i + ">"); } %> /usr/local/tomcat/conf/jk2.propertie handler.list=request,container,channelSocket channelS