整合 GNU/Linux、Apache2、PHP5、Tomcat5、jk2

今天才发现我从来没装过php。

正好有个任务,今天就当练手了。

参考文章:

http://www.itlearner.com/article/3540

http://reaven.iteye.com/blog/563077

http://www.itlearner.com/article/3456

http://blog.csdn.net/DanceFire/article/details/655868

http://www.mmcat.cn/2011/07/apache-2-2-21-php-5-3-9-%E5%9C%A8linux%E4%B8%8B%E5%AE%89%E8%A3%85/

1.需要的软件、库之类的。

php:wget http://dl.99d.com/201201/php-5.3.9.tar.bz2

apache、mysql就不说了,已经装过了。

freetype:wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.8.tar.gz

gd:wget http://www.boutell.com/gd/http/gd-1.8.1.tar.gz

##############################################

安装php5需要gd2的支持,但在安装过程中,执行编译的时候出现

aclocal:configure.ac:64: warning: macro `AM_ICONV’ not found in library的错误,

搜索google得知安装gettext这个包就可以了。
#yum install gettext gettext-devel
再执行make编译就好了。

##############################################

jpegsrc:http://ijg.org/files/

zlib,libpng:http://sourceforge.org  http://sourceforge.net/projects/libpng/files/libpng15/1.5.8/

 

二、安装 Apache 2.2.0

从源码编译:

[xinsoft@Jessie]$ ./buildconf

[xinsoft@Jessie]$ ./configure
–with-mpm=worker
–enable-cache
–enable-disk-cache
–enable-mem-cache
–enable-file-cache
–enable-nonportable-atomics
–enable-mods-shared=most

[xinsoft@Jessie]$ make install clean

安装的位置:/usr/local/apache2

三、安装 PHP 5.1.2

准备工作:

[xinsoft@Jessie]$ pacman -S gd
[xinsoft@Jessie]$ pacman -S gdm
[xinsoft@Jessie]$ cp /usr/include/gd.h /usr/lib/gd.h

注:pacman 是 arch Linux 所带的软件包管理工具。arch Linux 是针对 i686 优化了的 Linux 发行版本,而 pacman 是我最喜欢的软件包管理工具,正是基于这两个原因,我选择了 arch Linux 作为我的开发环境和测试服务器环境。

从源码编译:

[xinsoft@Jessie php-5.1.2]$ ./configure
–prefix=/usr/local/php5/
–with-apxs2=/usr/local/apache2/bin/apxs
–with-xslt
–with-freetype=/usr/include/freetype2
–with-zlib-dir=/usr/include
–with-ttf –with-jpeg-dir=/usr/lib
–with-gdbm=/usr/lib
–with-gd=/usr/lib/

[xinsoft@Jessie php-5.1.2]$ make install clean

安装的位置:/usr/local/php5

四、整合 Apache2 与 PHP5

上面编译 PHP5 结束后,/usr/local/apache2/modules/libphp5.so 就已经存在了。

[xinsoft@Jessie]$ vi /usr/local/apache2/conf/httpd.conf

LoadModule php5_module  modules/libphp5.so
AddType application/x-httpd-php .php

写个程序来检验一下:

[xinsoft@Jessie]$ touch /usr/local/apache2/htdocs/php.php

运行:http://192.168.20.48/php.php

五、安装 JDK 1.5.0_06 与 Tomcat 5.5.16

JDK 安装的位置:/usr/local/javasoft/java/jdk/v1.5.0_06/
Tomcat 安装的位置:/usr/local/apache.org/tomcat/v5.5.16/

/etc/profile 中相应地增加的内容:

# ADD by Xinsoft, 2006-04-11 19:53:00
# jdk::begin for jdk 1.5.0_06

export JAVA_HOME=/usr/local/javasoft/java/jdk/v1.5.0_06
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

# jdk::end

# ADD by Xinsoft, 2006-04-12 22:23:04
# tomcat::begin for apache-tomcat-5.5.16

export CATALINA_HOME=/usr/local/apache.org/tomcat/v5.5.16

# tomcat::end

六、编译 JK2 2.0.4

[xinsoft@Jessie apache2]$ cd /usr/local/apache.org/jk2/jk2-2.0.4-src
[xinsoft@Jessie jk2-2.0.4-src]$ cd jk/native2/
[xinsoft@Jessie jk2-2.0.4-src]$ ./configure –with-apxs2=/usr/local/apache2/bin/apxs
[xinsoft@Jessie jk2-2.0.4-src]$ make
[xinsoft@Jessie jk2-2.0.4-src]$ cd ../build/jk2/apache2
[xinsoft@Jessie apache2]$ /usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so

[xinsoft@Jessie apache2]$ cd /usr/local/apache2/conf
[xinsoft@Jessie conf]$ vi httpd.conf

LoadModule jk2_module modules/mod_jk2.so

七、写 JK2 的配置文件

JK2所用的配置文件有2个:

jk2.properties  位置:/usr/local/apache.org/tomcat/v5.5.16/conf
作用:可能是定义tomcat与apache的通讯端口等

workers2.properties 位置:/usr/local/apache2/conf
作用:告诉apache有哪些目录是tomcat支持的

[xinsoft@Jessie conf]$ cd /usr/local/apache.org/tomcat/v5.5.16/conf
[xinsoft@Jessie conf]$ touch jk2.properties
[xinsoft@Jessie conf]$ vi server.xml
enableLookups=”false” redirectPort=”8443″ protocol=”AJP/1.3″ />

不要修改这个文件。直接退出。

[xinsoft@Jessie conf]$ cd /usr/local/apache2/conf
[xinsoft@Jessie conf]$ touch workers2.properties
[xinsoft@Jessie conf]$ vi workers2.properties

# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# Map the Tomcat examples webapp to the Web server uri space
[uri:/jsp-examples/*]
info=Map the tomcat webapp of /jsp-examples/

[uri:/servlets-examples/*]
info=Map the tomcat webapp of /servlets-examples/

# Define the log file location and file size
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576

八、检验我们的劳动成果

[xinsoft@Jessie conf]$ /usr/local/apache2/bin/apachectl -k restart

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>