Archive for 四月, 2008

ppp

硬件相关 | Posted by 老沙
4月 18 2008

linux+apache2+php5+jsp+mysql5环境架设 apache2+php5+mysql5+tomcat配置

所要使用的软件包
curl-7.15.0.tar.gz
freetype-2.1.5.tar.gz
gzip-1.2.4.tar.gz
httpd-2.2.0.tar.gz
j2sdk-1_4_2_12-linux-i586.rpm
jakarta-tomcat-5.0.28.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
libxml2-2.6.26.tar.gz
mysql-standard-5.0.22-linux-i686.tar.gz
php-5.1.4.tar.gz
zlib-1.1.3.tar.gz

此文档说明:所有的包全部安装到/usr/server目录下。

安装前准备工作

利用tar -zxvf 逐个解压tar.gz文件

一、安装
1.curl安装
进入curl目录,执行
./configure –prefix=/usr/server/curl
make && make install
两条命令

2.freetype安装
进入freetype目录,执行
./configure –prefix=/usr/server/freetype
make && make install
两条命令

3.gzip安装
进入gzip目录,执行
./configure –prefix=/usr/server/gzip
make && make install
两条命令

4.libxml2安装
进入libxml2目录,执行
./configure –prefix=/usr/server/libxml2
make && make install
两条命令

5.zlib安装
进入zlib目录,执行
./configure –prefix=/usr/server/zlib
make && make install
两条命令

6.apache2安装
进入httpd目录,执行
./configure –prefix=/usr/server/apache2 –enable-module=most –enable-shared=max -enable-so -with-config-file-path=/usr/server/conf –enable-mods-shared=all
make && make install
两条命令,注意,最后一个命令是让apache2编译出所有的so文件,apache2以DSO模式运行。另说明,虽然这里指定了conf文件位置,但我发现装完后apache2还是找的他自已目录下边的那个httpd.conf,也就是不起作用。可以省略。

7.php5安装
进入php5目录,执行
./configure –prefix=/usr/server/php5 –with-apxs2=/usr/server/apache2/bin/apxs –with-freetype-dir=/usr/server/freetype –enable-trace-avrs –with-mysql –with-zlib-dir=/usr/server/zlib –with-xml –with-config-file-path=/usr/server/conf –enable-shared –with-curl=/usr/server/curl –enable-mbstring=all –enable-mbregex –enable-so
make && make install

8.安装mysql5
mysql5是不用编译的,从他们网站下的就是已经编译好的,你可以直接使用,把解压出来的mysql5目录cp到/usr/server/mysql5目录。

9.安装j2sdk
如果你下载的是bin文件,那么chmod 777一下。然后直接运行就行了。出完reademe之后,会解出来一个rpm文件,然后用rpm -ivh XX.rpm就安装了。因是rpm包,所以他被直接安装到了/usr/java/java1.XX.XX这样的地方

10.安装tomcat
解压后。cp到/usr/server/tomcat就行了。

11.mod_jk.so安装
进入jakarta-tomcat-connectors目录,
然后进入到其子目录jk/native下边,执行
./configure –with-apxs=/usr/local/apache2/bin/apxs
make
注意,这里不用执行make install这个命令,执行完后,会在本级目录下生成apache-2.0这个目录,mod_jk.so就在这里了。
把他cp到/usr/server/apache2/modules下边以便使用。

二、配置
1.httpd.conf配置(/usr/server/apache2/conf)
以上全都正确后,其实会自动加入对php和jsp的模块支持,如果没有的话,可手动加入
LoadModule php5_module modules/libphp5.so
LoadModule jk_module modules/mod_jk.so

然后
找到
<Directory "/var/www/html">
</Directory>
在里边加入
XBitHack on  #这里是为了JSP而加的。不用JSP的可以不加,/var/www/html是我的WEB根目录
在</Directory>后边加入
<Directory "/var/www/html/WEB-INF">
Order deny,allow
Deny from all
</Directory>
再加入
AddType application/x-httpd-php .php 
最后再加入
Include /usr/server/apache2/conf/mod_jk.conf  #此文件为了apache加载JSP执行的配置文件

2.php.ini配置(因指定了位置安装,故把源安装文件包里的php.ini-dist文件cp到/usr/server/conf/php.ini)
此文件基本上不用动就可以了。

注:以上如果要对此两个文件做详细设置的,可以看我我另一篇文章。这里不再详细说了。

3.mod_jk.conf配置
在/usr/server/apache2/conf目录下建立此文件,并写入如下的内容

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1

4.workers.properties配置
在/usr/server/apache2/conf目录下建立此文件,并写入如下的内容

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

5.JDK路径设置
在/etc/profile里加入

export JAVA_HOME=/usr/java/j2sdk1.4.2_12
export TOMCAT_HOME=/usr/server/tomcat

退出并重新进入系统,然后直接运行java -version,如果能看到java版本信息,则表示行了。

6.tomcat配置
在/usr/server/tomcat/conf/server.xml文件里加入
<Context path="" docBase="/var/www/html" 
   debug="0" reloadable="true" crossContext="true"/>
设置好JSP目录

三、运行
所有配置好后,
开始运行。

apache启动
/usr/server/apache2/bin/httpd -k start
停止
/usr/server/apache2/bin/httpd -k stop

tomcat启动
/usr/server/tomcat/bin/startup.sh
停止
/usr/server/tomcat/bin/shutdown.sh

mysql启动
/usr/server/mysql5/bin/mysqld_safe &
注:因为是编译好的东西,所以,他有些已经写死了。其默认目录为/usr/local/mysql,数据库目录为/var/lib/mysql,你可以直接 cp到local目录或是像我的设置一样,用ln -s /usr/server/mysql5 /usr/local/mysql做一个符号连接。库也要做连接或是你以后在启动时用datadir=/usr/server/mysql5/data指定位置也行。 他的配置可以参看我的另一篇mysql5文章。