|
天堂之光 人间希望
你我共同品味
JAVA的浓香.
Linux的清芬. |
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
链接 |
联系我
msn:zhanglincon@hotmail.com |
Blog信息 |
blog名称: 日志总数:99 评论数量:281 留言数量:4 访问次数:809583 建立时间:2005年11月17日 |

| |
QLAS4+Apache 2.0.54+php 5.0.5+Resin 3.0.14 文章收藏, 软件技术
zhanglincon 发表于 2008/1/18 1:00:01 |
QLAS4+Apache 2.0.54+php 5.0.5+Resin 3.0.14QLAS4+Apache 2.0.54+php 5.0.5+Resin 3.0.14一、最简单的安装方式及其原理。如果你的机器根本没安装httpd,php等等,可通过下面的命令一步到位。[root@jkx76 archives]# apt-get install phpReading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:curl gmp httpd httpd-suexec libidn php-pear安装就这么简单啦。怎么测试呢?1) php -v (查看php的版本号)[root@jkx76 conf.d]# php -vPHP 4.3.10 (cgi) (built: Jan 26 2005 09:22:15)Copyright (c) 1997-2004 The PHP GroupZend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies2)在使用apache start启动www服务后,在网站的根目录中创建文件test.php,内容如下:<?phpinfo()?>然后再到浏览器中进行测试:http://yourip/test.php问题来了,apache 是如何支持php脚本解析的?分析如下:在安装好的 Apache/2.0.52上其核心配置文件中有这么几行:## Load config files from the config directory "/etc/httpd/conf.d".#Include conf.d/*.conf含义就是我们可以在使用类似于C语言中的包含语句把一些特殊的配置包含进来。安装好php 4.3.10后我们发现注意:下面的archives目录对应到路径:/var/cache/apt/archives[root@jkx76 archives]# rpm -qpl php_4.3.10-3.4.QL_i386.rpm/etc/httpd/conf.d/php.conf/usr/lib/httpd/modules/libphp4.so因此,让apache支持php脚本解析的关键就在于这两个文件了。我们来看看/etc/httpd/conf.d/php.conf的内容:## PHP is an HTML-embedded scripting language which attempts to make it# easy for developers to write dynamically generated webpages.#LoadModule php4_module modules/libphp4.so /*****关键行1*****/## Cause the PHP interpreter to handle files with a .php extension.#AddType application/x-httpd-php .php /*****关键行2*****/# AddType application/x-httpd-php-source .phps## Add index.php to the list of files that will be served as directory# indexes.#DirectoryIndex index.php /*****关键行3*****/正是其中的关键行1和关键行2的作用使得apache能支持php脚本解析用php脚本写的简单留言本测试cd /var/www/htmlwget ftp://lstc:lstcjkx@210.41.166.230/Linux/php_lyb/lyb.tgztar zxvf lyb.tgz参考解压后产生的lyb/目录中的readme.txt文件的内容对留言本做一些简单设置后即可访问。http://yourip/lyb/二、通过源码方式来安装最新版本的phpmkdir /home/softcd /home/soft1、下载源码到/home/soft/下wget ftp://210.41.166.230/Linux/php/php-5.0.5.tar.bz22、tar vxjf php-5.0.5.tar.bz2chown -R root.root php-5.0.52'安装必须的软件包ftp://lstc:lstcjkx@210.41.166.230/Linux/php/m4-1.4.1-16.i386.rpmftp://lstc:lstcjkx@210.41.166.23 ... n-1.875c-2.i386.rpmftp://lstc:lstcjkx@210.41.166.23 ... -2.5.4a-33.i386.rpmftp://lstc:lstcjkx@210.41.166.23 ... -1.2.2.2-1.i386.rpmftp://lstc:lstcjkx@210.41.166.23 ... 2-2.6.16-6.i386.rpmftp://lstc:lstcjkx@210.41.166.23 ... l-2.6.16-6.i386.rpm3、cd php-5.0.5./configure --with-apxs2=/usr/sbin/apxs4、make5、make install6、cp php.ini-dist /usr/local/lib/php.ini7、vi /etc/httpd/conf/httpd.conf先查看有无下面这行,如没有,请加上。LoadModule php5_module lib/apache/libphp5.so再加入:AddType application/x-httpd-php .php .phtml8、测试(过程同上)安装JSP支持:1、下载J2SDK到http://java.sun.com/j2se/1.4.2/download.html下载j2sdk-1_4_2_09-linux-i586-rpm.bin校内下载:ftp://210.41.166.230/Linux/jsp/j2sdk-1_4_2_09-linux-i586-rpm.bin2、下载Resin-3.0.14http://www.caucho.com/download/resin-3.0.14.tar.gz校内下载:ftp://210.41.166.230/Linux/jsp/resin-3.0.14.tar.gz假设上面的软件均已经下载到本地的/home/soft下3、安装J2SDK#chmod u+x j2sdk-1_4_2_09-linux-i586-rpm.bin#./j2sdk-1_4_2_09-linux-i586-rpm.bin//使用rpm 命令安装解压后产生的j2sdk-1_4_2_09-linux-i586.rpm#rpm -ivh j2sdk-1_4_2_09-linux-i586.rpmJ2SDK被安装到了/usr/java/j2sdk-1_4_2_09下4、安装resin解压resin-3.0.14.tar.gz后进入解压后产生的目录resin-3.0.14tar zxvf resin-3.0.14.tar.gzcd resin-3.0.14首先看看说明文件README#./configure --with-java-home=/usr/java/j2sdk1.4.2_09 --with-apxs=/usr/sbin/apxs --prefix=/usr/local/resin#make#make install//测试,先停掉你的apache server.#apachectl stop#cd /usr/local/resin/bin/#vi /usr/local/resin/bin/wrapper.pl改$JAVA_HOME="";为$JAVA_HOME="/usr/java/j2sdk1.4.2_09";#./httpd.sh -verbose我们会看到如下设置:JAVA_HOME: /usr/java/j2sdk1.4.2_09RESIN_HOME: /usr/local/resinSERVER_ROOT: /usr/local/resinCLASSPATH: . /usr/local/resin/lib/aopalliance.jar /usr/local/resin/lib/jca-15.jar /usr/local/resin/lib/script-10.jar /usr/local/resin/lib/resin.jar /usr/local/resin/lib/ejb-20.jar /usr/local/resin/lib/resinboot.jar /usr/local/resin/lib/ejb-30.jar /usr/local/resin/lib/webutil.jar /usr/local/resin/lib/jmx-12.jar /usr/local/resin/lib/resin-jdk15.jar /usr/local/resin/lib/jsdk-24.jar /usr/local/resin/lib/jstl-11.jar /usr/local/resin/lib/portlet-10.jar /usr/local/resin/lib/jms-11.jar /usr/local/resin/lib/jta-101.jar /usr/local/resin/lib/j2eedeploy.jar /usr/java/j2sdk1.4.2_09/lib/tools.jarLD_LIBRARY_PATH: /usr/local/resin/libexecjava: /usr/java/j2sdk1.4.2_09/bin/javajava args: -Xss1m -Dresin.home=/usr/local/resin -Dserver.root=/usr/local/resin -Djava.util.logging.manager=com.caucho.loclass: com.caucho.server.resin.Resinresin args:command-line: /usr/java/j2sdk1.4.2_09/bin/java -Xss1m -Dresin.home=/usr/local/resin -Dserver.root=/usr/local/resin -Djava.Resin-3.0.14 (built Tue, 05 Jul 2005 11:03:36 PDT)Copyright(c) 1998-2004 Caucho Technology. All rights reserved.Using Resin(R) Open Source under the GNU Public License (GPL).See http://www.caucho.com for information on Resin Professional,including caching, clustering, JNI acceleration, and OpenSSL integration.Starting Resin on Thu, 06 Oct 2005 13:12:19 +0800 (CST)[13:12:22.164] Server[] starting[13:12:22.184] http listening to *:8080[13:12:22.195] hmux listening to redhat:6802[13:12:22.247] Host[] starting[13:12:22.387] WebApp[http://localhost:8080] starting[13:12:23.820] In-place class redefinition (HotSwap) is not available. In-place class reloading during development requires[13:12:24.096] WebApp[http://localhost:8080/resin-doc] starting//停止resin#/usr/local/resin/bin/httpd.sh stopFAQ:a)8080对应的首页位置在哪里?vi /usr/local/resin/conf/resin.conf可看到如下相关的行。<!-- configures the default host, matching any host name --><host id="" root-directory="."> <!-- - configures an explicit root web-app matching the - webapp's ROOT --> <web-app id='/' document-directory="webapps/ROOT"/> /****就是这里了****/</host>结合上面的SERVER_ROOT,可定位8080对应的首页位置在/usr/local/resin/webapps/ROOT我们在/usr/local/resin/webapps/ROOT目录下建立一个test.jsp内容如下:2 + 2 = <%= 2 + 2 %>然后在IE中进行测试:http://210.41.166.75:8080/test.jsp如果你看到结果:2 + 2 = 4就表示成功了。//下面才是重点哦b)如何让resin和apache整合?也就是在apache所对应的网站的根目录或者其子目录中写一个jsp文件,它能被jsp解析吗?其实,我们在装好JSDk和Resin后,Apache的核心配置文件httpd.conf中的最后被加了一些东西:## mod_caucho Resin Configuration#LoadModule caucho_module /usr/lib/apache/mod_caucho.so#ResinConfigServer localhost 6802#将上面的localhost改成你的实际IP ---①ResinConfigServer 210.41.166.78 6802CauchoStatus yes修改/usr/local/resin/conf/resin.conf文件中的改:<http server-id="" host="*" port="8080"/>为:<http server-id="" host="210.41.166.76" port="8080"/>说明:host中的IP地址用你自己的代替 ---②改:<srun server-id="" host="127.0.0.1" port="6802" index="1"/>为:<srun server-id="" host="210.41.166.76" port="6802" index="1"/>说明:host中的IP地址用你自己的代替 ---③改:<web-app id='/' document-directory="webapps/ROOT"/> 为:<web-app id='/' document-directory="/var/www/html"/>说明:/var/www/html为你的apache网站的根目录。---④通过以上4步修改,resin就可以和apache整合了,但要把它们两个都运行起来才行。apachectl start/usr/local/resin/bin/httpd.sh & 测试:在你的网站的根目录(如果使用默认值的话,该是/var/www/html)下建立和上面一样的test.jsp文件然后使用IE访问:http://210.41.166.75/test.jsp如果你看到结果:2 + 2 = 4就表示整合成功了。//resin服务器的首页访问文件顺序依次是index.xtp,index.jsp,index.html//摘自文件/usr/local/resin/conf/app-default.xml<!-- Configures the special index files to check for directory URLs --><welcome-file-list> <welcome-file>index.xtp</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file></welcome-file-list>安全隐患:默认情况下,resin服务器是允许目录列表的,就是说当你的8080端口打开时,如果上面的④中那个/var/www/html目录下没有resin所要求的index.xtp,index.jsp,index.html的话,将会列出该目录的内容。想想看如果是你的论坛首页被列目录,然后那些源代码被下载会有什么后果吧。以下内容摘自Resin的FAQHow can I disable directory listings?Directory listing is performed by a servlet named `directory'. The standard resin.conf contains a definition of that servlet: resin.conf definition of directory servlet <web-app-default>...<servlet servlet-name="directory" servlet-class="com.caucho.servlets.DirectoryServlet"/>Directory listing is disabled by removing or commenting out this definition. resin.conf disabled directory servlet <web-app-default>...<!-- disabled:<servlet servlet-name="directory" servlet-class="com.caucho.servlets.DirectoryServlet"/>-->实际例子:获得访问该页面的远程主机地址,源代码: <% String IP=request.getRemoteAddr(); out.println(IP); %> |
|
回复:QLAS4+Apache 2.0.54+php 5.0.5+Resin 3.0.14 文章收藏, 软件技术
y24511083(游客)发表评论于2008/7/23 22:28:32 |
|
» 1 »
|