您的位置:首页 > 运维架构 > Tomcat

apache+tomcat+php搭建

2014-03-04 17:42 579 查看
Linux全能web服务器配置方案
纲要:
一, Apache的安装二, 编译安装PHP三, JSP环境的支持四, 企业虚拟主机配置实战方案五, Web服务环境支持测试一,Apache(httpd)的安装
1.rpm (redhat自带的安装) 2.重新编译源代码安装
1,RPM包的安装:
[root@linuxhero root]# rpm -qa | grep httpd 查看是否已经安装此服务
httpd-manual-2.0.40-21
redhat-config-httpd-1.0.1-18
httpd-devel-2.0.40-21
httpd-2.0.40-21
2,重新编译Apache源代码安装
#rpm –e httpd –-nodeps 卸载原用的Apache用户
#tar -zxvf httpd-2.0.54.tar.gz 解压
#cd httpd-2.0.54
#./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
注:--prefix参数用来指定安装后存放的路径,--enable-modules用来指定系统允许使用的功能扩展的类型,这里指定为so类型,--enable-so用来指定允许DSO(动态共享对像)
#make
#make install
#cd /usr/local/httpd/bin/
#./httpd –k start
二,编译安装PHP
1,freeTDS(解决PHP与MSSQL连接的问题)
2,编译安装PHP
具体安装如下:
1. freeTDS的安装#tar –zxvf freetds-stable.tgz
#cd freetds-0.63
#./configure --prefix=/usr/local/freetds --with-tdsver=8.0
注:--with-tdsver指定的freetds支持的数据库版本号,其中8.0对应的是sqlservr2000.
#make
#make install
#vi /etc/ld.so.conf 设置系统动态库配置文件,加入以下:
/usr/local/freetds/lib
保存退出。
#ldconfig 重新加载动态库列表ld.so.conf
2. 编译安装PHP#tar –zxvf php-5.0.4.tar.gz
#cd php-5.0.4
#./configure --with-mysql --with-sybase=/usr/local/freetds \
--with-apxs2=/usr/local/httpd/bin/apxs \
--prefix=/usr/local/php
#echo $?
显示为:0,表示编译过程中没有错误,显示其它都用错(我始是编译不成功,不能make,装了一个libxml2-2.6.19.tar.gz问题就解决了)
#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini
#vi /usr/local/lib/php.ini
将register_globals = Off改为register_globals = On#vi /usr/local/httpd/httpd.conf 些模块简单的修改
将Listen80 改为: Listen 192.168.0.230:80
在配置文件中添加如下:
AddType application/x-httpd-php .php .php3 .php4 .php5
#AddHandler cgi-script .cgi,去掉#打开CGI脚本服务
#/usr/local/httpd/bin/apachectl restart 重启一下apahce服务
apache服务器的PHP配置完成。
设置启动文件:
#vi /etc/rc.d/rc.local
增加一行:
/usr/local/httpd/bin/apachectl start
配置重新导入
/etc/rc.d/init.d/xinetd restart
测试PHP
进入Apache默认主目录/usr/local/httpd/htdocs,在该目录下建一个phpinfo.php文件
#vi phpinfo.php 写入以一内容
<?phpinfo();?>
http://192.168.0.230/phpinfo.php 就可以看到相关的服务信息啦。

三,JSP环境支持
1,JDK的安装2,Tomcat的安装
3.JDBC(JSP与,MSYQL,MSSQL连接)
4,JK2(是APACHE组织指定的连接apceh和tomcat的工具)
5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
具体操作如下:
1. JDK的安装[root@linuxhero root]# ls
j2sdk-1_4_2_08-linux-i586.bin j2sdk-1_4_2_08-linux-i586-rpm.bin
有两个包.
j2sdk-1_4_2_08-linux-i586-rpm.bin的安装方法
#chmod 755 j2sdk-1_4_2_08-linux-i586-rpm.bin
#./j2sdk-1_4_2_08-linux-i586-rpm.bin (运行JDK自解包)
运行过程中会出现一个用户协议,选择yes即可,会释放出一个rpm包j2sdk-1_4_2_08-linux-i586.rpm.
#rpm –Uvh j2sdk-1_4_2_08-linux-i586.rpm
完成后会在/usr/目录下生成一个/usr/java/j2sdk1.4.2_08目录文件
另一个软件包运行后会直接释放成j2sdk1.4.2_08目录移动合适的位置,如/usr/local/
#chmod 755 j2sdk-1_4_2_08-linux-i586.bin
#./j2sdk-1_4_2_08-linux-i586.bin
# mv j2sdk1.4.2_08 /usr/local/
到此JDK已经安装完成
到/usr/bin目录下,把原用的java,javac文件删除:
#rm -rf java
#rm –rf javac
在/usr/bin 下建立 软连接 java
# ln -s /usr/local/j2sdk1.4.2_08/bin/java /usr/bin/java
# ln -s /usr/local/j2sdk1.4.2_08/bin/javac /usr/bin/javac
# java –version
# javac -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
表示安装建立链接成功,写一个程序测试一下:

为了方便下在的工作建立两个软链接:
ln -s /usr/local/j2sdk1.4.2_08 /usr/local/jdk
ln -s /usr/local/j2sdk1.4.2_08/jre /usr/local/jre

2.Tomcat的安装
#tar -zxvf jakarta-tomcat-5.0.28.tar.gz
# mv jakarta-tomcat-5.0.28 /usr/local/tomcat
设置环境变量:
#Set Environment by NetSeek
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
JRE_HOME=/usr/local/jre
export JRE_HOME
CLASSPATH=/usr=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib
export CLASSPATH
PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/httpd/bin:/usr/local/jdk/bin:/usr/local/jre/bin
export PATH
TOMCAT_HOME=/usr/local/tomcat
export TOMCAT_HOME
启动tomcat以检查是否存在错误:
#cd /usr/local/tomcat/bin
#./startup.sh http://192.168.0.230:8080 可以看到猫头:)成功了。



3.JDBC的安装
#tar -zxvf mysql-connector-java-3.2.0-alpha.tar.gz
#cd mysql-connector-java-3.2.0-alpha
#cp mysql-connector-java-3.2.0-alpha-bin.jar /usr/local/tomcat/common/lib
#tar xfv mssqlserver.tar
#tar xfv msjdbc.tar
#cd lib
# cp *.jar /usr/local/tomcat/common/lib

4.编译安装JK2(整合Tomcat与Apache)
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jjakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
#./configure --with-apxs2=/usr/local/httpd/bin/apxs \
--with-java-home=/usr/local/jdk \
--with-tomcat41=/usr/local/tomcat \
--with-apr-lib=/usr/local/httpd/lib
注:--with-tomcat41参数指定Tomcat主目录,编译器没有直接对最新的Tomcat提供特定的编译参数,所以使用tomcat41的参数代替,用—with-java-home参数指定Java的安装路径.
#make
将在/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache目录下,生成的mod_jk2.so复制到Apache的扩展模块目录/usr/local/httpd/modules下,
#cp mod_jk2.so /usr/local/httpd/modules
再将/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf目录下的workers2.properties复制到Apache的配置文件目录/usr/local/httpd/conf下:
#cp workers2.properties /usr/local/httpd/conf

再编辑httpd.conf
vi /usr/local/httpd/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so
然后再重启apache可以看到apache2handler

5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
Apache和Tomcat安装后需要设置自动启动,如果让Tomcat用root身份启动,Tomcat将会拥用root权限,这将可能给系统带来安全隐患,黑客可能利用这个来攻击我们的系统,所以我们得添加一个独立运行此服务的用户:
#useradd -d /usr/local/tomcat -s /usr/sbin/nologin tomcat
#chown -R tomcat:tomcat /usr/local/tomcat
#cd /usr/local/tomcat/bin/
#tar zxvf jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh (只能在些目录里执行,在别处执行会出错)
会显示support/buildconf.sh: configure script generated successfully
#chmod 755 configure
#./configure
#make
#cp native/Tomcat5.sh /usr/sbin/tomcat
#cd /usr/sbin
#chmod 755 tomcat
#vi tomcat
可以看到:
JAVA_HOME=/usr/java/j2sdk1.4.2_03 指定java安装的目录
CATALINA_HOME=/home/tomcat5/jakarta-tomcat-5/build 指定了tomat的安装目录
DAEMON_HOME=/home/tomcat5/jakarta-commons/daemon 指定了tomcat命令所在的目录
TOMCAT_USER=tomcat5 指定tomcat运行后使用的账号
将上面的配置修改如下:
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat/
DAEMON_HOME=/usr/local/tomcat/bin/
TOMCAT_USER=tomcat
找到$DAEMON_HOME/src/native/unix/jsvc \
将其更改成:$DAEMON_HOME/jsvc-src/jsvc \
修改完保存退出
vi /etc/rc.d/rc.local
在里面添加如下设置:
/usr/sbin/tomcat start

然后重启服务。

四,企业虚拟主机配置实战方案
要求:1,DNS的简设置2,虚拟域名:www.linuxher.com,虚拟用户linuxhero_com3,允许FTP维护,禁止远程登陆(具体的FTP维护参照二)4,为虚拟主机添加用户和使用目录1, DNS的简单设置,在这里我们使用linuxhero.com这个虚拟域名,实际域名首先要确定域名已经在域名提供商或DNS上设置正常,在这里我们简的的讲一下DNS服务器在RedHat9。0上的简单的配置,假定服务器使用192.168.0.230和192.168.0.231这两个IP,我在网卡上绑定了两个IP,由于是在本地机子上测试条件限制,只能这样啦,
好啦不唠叨啦。
绑定多个IP:
在/etc/sysconfig/network-scripts,在该目录下新建一个ifcfg-etho0:0的文件内容如下:
DEVICE=eth0:0
IPADDR=192.168.0.231
NETMASK=255.255.255.0
ONBOOT=yes
#service network restart 重启一下网络服务就OK啦
DNS的简单配置
在这里关于DNS的详细介绍和配置我就不说啦,其实配置也不是难事,都是利用模板,关键是在配置的时候要细心,不要马虎,否则会现错,
1.基本配置文件::
/etc/named.conf /var/named/ 编写linuxhero.com.zone
/etc/resolv.conf
2.#vi /etc/named.conf
zone "linuxhero.com" IN {
type master;
file "linuxhero.com.zone";
allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.local";
allow-update { none; };
};
3.#vi /var/named/linuxhero.com.zone 编写一个linuxhero.com.zone文件
$TTL 86400
@ 1D IN SOA @ root (
20050505
3H
15M
1W
1D )

1D IN NS @
1D IN MX 10 mail.linuxhero.com
ns 1D IN A 127.0.0.1
www 1D IN A 192.168.0.20
firebird 1D IN A 192.168.0.20
mail 1D IN A 192.168.0.20
pop3 1D IN A 192.168.0.20
smtp 1D IN A 192.168.0.20
ftp 1D IN A 192.168.0.21

4.#vi /etc/resolv.conf 把DNS服务器设置成为本机
nameserver 192.168.0.2305.重新启动加载DNS服务:
#/etc/init.d/named start
#chkconfig named on 让named守护进程在每次系统引导时启动
#/etc/init.d/named restart 重启DNS服务
#rndc reload 重新加载配置文件,这是在修改配置文件后,使配置文件生效。
测试DNS服务是否工作正常
#host www.linuxhero.com
#nslookup 192.168.0.230
二. 配置虚拟主机
1. 为虚拟主机添加用户和使用目录
#useradd linuxhero_com -s /sbin/nologin 添加虚拟用户,不允许登陆
#passwd linuxhero_com(Do not Hack me 3ks) DnHm3ks 这是我设置的密码:)
#chmod 755 /home/linuxhero_com
#cd /home/linuxhero_com
#mkdir sites 建立网站存放根目录
#chown linuxhero_com:linuxhero_com sites 改变sites所属组为linuxhero_com
#mkdir logs 站点的日志目录
#chown linuxhero_com:linuxhero_com logs
#mkdir cgi-bin 目录用来运行CGI程序
#chown linuxhero_com:linuxhero_com cgi-bin
#mkdir sites/WEB-INF 用来存放Tomcat发布的程序
#chown linuxhero_com:linuxhero_com sites/WEB-INF
2.设置Apache的虚拟主机
#vi /usr/local/httpd/conf/httpd.conf
找到DirectoryIndex 在文件表中加上index.jsp,然后在文件尾添加虚拟主机配置信息:
NameVirtualHost 192.168.0.230:80
#www.linuxhero.com
<VirtualHost 192.168.0.230:80>
ServerAdmin webmaster@linuxhero.com
DocumentRoot /home/linuxhero_com/sites
ServerName www.linuxhero.com
ServerAlias linuxhero.com
ErrorLog /home/linuxhero_com/logs/error_log
CustomLog /home/linuxhero_com/logs/access_log common
alias /cgi-bin /home/linuxhero_com/cgi-bin
<Location /cgi-bin>
Options ExecCGI
</Location>
<Location ~ "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</Location>
<Location ~ "/WEB-INF/*">
JkUriSet worker ajp13:localhost:8009
</Location>
<Location ~ "servlet/*">
JkUriSet worker ajp13:localhost:8009
</Location>
</VirtualHost
1. 设置Tomcat的虚拟主机:vi /usr/local/tomcat/conf/server.xml
在</Engine></Service></Server>上面加入如下:
------------------------------------------------------------------------------
<Host name="www.linuxhero.com" debug="0" appBase="/home/linuxhero_com/sites/"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>linuxhero.com</Alias>
<Context path="" docBase="." debug="0" reloadable="ture"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="linuxhero_com_log."
suffix=".txt"
timestamp="true"/>
</Host>
</Engine>

</Service>

</Server>
到此linuxhero_com这目录就可以同时支持PHP+JSP+mysql+mssql,啦,相当于LINUX下的WEB全能服务器.
五,Web服务环境支持测试
1.php环境的支持测试
上传了一个QQ面板的PHP程序,简单测试成功,显示如下:
在IE输入:http://www.linuxhero.com/qq/qq.php



1. JSP环境的测试呵呵,暂时还不懂JAVA,抄了一个JSP程序,改写了一下,测试一下JSP配置,显示如下:



成功了。
附:相关软件包下载地址
Apache(httpd)
www.apache.org
http://archive.apache.org/dist/httpd/httpd-2.0.54.tar.gz
PHP
www.php.net
http://cn2.php.net/get/php-5.0.4.tar.gz/from/a/mirror
freeTDS http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz JDK
java.sun.com
http://java.sun.com/j2se/1.4.2/download.html
Tomcat
http://archive.apache.org/dist/jakarta/tomcat-5/v5.5.8/bin/jakarta-tomcat-5.5.8.tar.gz
JK2
http://www.apache.org/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
JDBC(Mysql,MsSql)
www.mysql.com
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.2.0-alpha.tar.gz/from/pick
http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en

其它:(优化PHP)
ZendOptimizer
ZendOptimizer2.1.0b URL http://www.zend.com/store/getfreefile.php?pid=13&zbid=548
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php apache tomcat