WEB全能服务器总结,及各种问题处理方法.apache+tomcat+jsp+php+mysql+虚拟主机

WEB全能服务器总结,及各种问题处理方法.apache+tomcat+jsp+php+mysql+虚拟主机

前段时间配了一台WEB全能服务器,遇到不了少问题,当然得到了tree   netseek 的帮助,在此谢谢啦~

尽管这个论坛有大量的有关WEB服务器配置的贴 子,但都不是很全。我在这里算是一个总结吧。

参考文档主要来自 bbs.linuxmine.com 的netseek提供。

本人第一次在此论坛发技术贴,总结了一点经验,发出来与大家一起分享吧。

非常感谢netseek给我提供文档。在原文档的基础上加了GD,MYSQL,PHPMYADMIN和一些常见错误的解决方法。

如果有什么问题,可以联系我:

msn:  liuyubj520@hotmail.com
QQ:  48431359
e-mail: l iuyu105@sina.com   
web:  http://bj-bbs.com   bbs.linuxmine.com
加我请注明:linuxmine

转贴请注明出处! 谢谢

先送上软件包:

相关软件包下载地址
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.5.tar.gz/from/a/mirror
freeTDS
http://ibiblio.org/pub/Linux/ALP ... /freetds-stable.tgz
JDK
java.sun.com
http://java.sun.com/j2se/1.4.2/download.html
Tomcat
http://archive.apache.org/dist/j ... tomcat-5.5.8.tar.gz
JK2
http://www.apache.org/dist/jakar ... -src-current.tar.gz
JDBC(Mysql,MsSql)
www.mysql.com
http://dev.mysql.com/get/Downloa ... ha.tar.gz/from/pick
http://www.microsoft.com/downloa ... bf71&DisplayLang=en

其它:(优化PHP)
ZendOptimizer
ZendOptimizer2.1.0b URhttp://www.zend.com/store/getfreefile.php?pid=13&zbid=548
涉及软件包:
libtool-1.5.22.tar
libxml2-2.6.19.tar  # wget http://ftp.gnome.org/pub/GNOME/s ... bxml2-2.6.19.tar.gz
libxslt-1.1.15.tar    http://ftp.gnome.org/pub/GNOME/s ... bxslt-1.1.15.tar.gz
freetype-2.1.10.tar
apr-1.1.1.tar
apr-util-1.1.1.tar
libpng-1.2.8.tar
curl-7.15.0.tar.gz  http://curl.haxx.se/download/curl-7.15.0.tar.gz
jpegsrc.v6b.tar.gz     http://www.ijg.org/files/jpegsrc.v6b.tar.gz
让MYSQL管理WEB化:
phpMyAdmin-2.8.2.4.tar
这些软件都可以到www.apache.net 或http://download.chinaunix.net下载得到,我就不写详细了!

纲要:
一,        Apache的安装                              一楼!·
二,        编译安装PHP(支持GD)               二楼!
三,        MYSQL的安装                               三楼
四,        JSP环境的支持                               四楼
五,        企业虚拟主机配置实战方案               五楼


一,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(动态共享对像)
#echo $?
显示为:0,表示编译过程中没有错误,显示其它都有错  这一步后面的编译过程都会用到,如果在这出错了,就不要MAKE了。得查找原因。

以后只要你在编译的时候一定要加上这一句。很重要的。

#make
#make install
#cd /usr/local/httpd/bin/
#./httpd –k start

注:这一步都不会出错。

以下的步骤有一个问题。应该先安装mysql 后安装php   LAMP 嘛,请大家安装时注意。   :wink:

二,编译安装PHP


二,编译安装PHP
1,freeTDS(解决PHP与MSSQL连接的问题)
2,编译安装PHP并支持GD
具体安装如下:
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

1。安装PHP
安装 jpeg6
建立目录
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir /usr/local/jpeg6/man
# mkdir /usr/local/jpeg6/man/man1
# cd /root/soft
# tar -zxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
#echo $?
# make; make install

安装libpng
# cd /root/soft
# tar -zxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install

安装 freetype
# cd /root/soft
# tar -zxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure --prefix=/usr/local/freetype
#echo $?
# make;make install

安装最新的GD库
# cd /root/soft
# tar -zxf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
#echo $?
# make; make install

安装最新的Curl库
# cd /root/soft
# tar -zxf curl-7.15.0.tar.gz
# ./configure --prefix=/usr/local/curl
#echo $?
# make; make install

安装PHP

由于php5需libxml2的支持, 所以先安装libxml2
# cd /root/soft
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure --prefix=/usr/local/libxml2
#echo $?
# make; make install

安装 libxslt
# cd /root/soft
# tar -zxf libxslt-1.1.15.tar.gz
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
#echo $?
# make; make install

# tar -zxf php-5.0.5.tar.gz
# cd php-5.05
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype
#echo $?
# make
# make install

其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项

--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项

--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持

--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉

如果在MAKE的时候出错,那么就是你以上相关的软件没有安装好,这是最全的,出错的方法都是没有装相应的软件包,你可以查看一下。

#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 些模块简单的修改
将Listen 80 改为: 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://IP地址/phpinfo.php 就可以看到相关的服务信息啦。
三,mysql的安装

# tar zxvf mysql-4.0.14.tar.gz –C             /setup
# cd /setup/mysql-4.0.14
# groupadd mysql
# useradd mysql -g mysql -M -s /bin/false
#./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler   
#echo $?        
# make
# make install              
# scripts/mysql_install_db           生成mysql用户数据库和表文件
# cp support-files/my-medium.cnf /etc/my.cnf        \copy配置文件,有large,medium,small三个环境下的,根据机器性能                             选择,如果负荷比较大,可修改里面的一些变量的内存使用值
# cp support-files/mysql.server /etc/init.d/mysqld         \copy启动的mysqld文件
# chmod 700 /etc/init.d/mysqld
# cd /web
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /web/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln
看看有没有3306的端口打开,如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题
# ln -s /web/mysql/bin/mysql /sbin/mysql
# ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -uroot password "youpassword" #设置root帐户的密码
# mysql -uroot -p
# 输入你设置的密码
mysql>;use mysql;
mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号
mysql>;flush privileges;
mysql>;quit

错误:
看到:
[1] 5134
[root@shunzi mysql]# Starting mysqld daemon with databases from /usr/local/mysql/data
STOPPING server from pid file /usr/local/mysql/data/shunzi.pid
030102 21:00:46 mysqld ended
提示启动失败了,这是由于权限的问题,执行下列命令:
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
执行:
[root@shunzi mysql]# bin/mysqld_safe --user=root &
可以看到类似的内容:
[1] 5846
5846 pts/1 S 0:00 /bin/sh bin/mysqld_safe --user=root
5864 pts/1 S 0:00 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --ba
这说明mysql服务已经启动了。mysql服务器安装成功了。如还不行,就再检查mysql文件的权限。
总之MYSQL的错误问题都出在权限上。细心点就没事。
2。安装PHPMYADMIN
 ex:/usr/local/apache/htdocs/    (这是我网页存放的位置)
  a. # mv phpMyAdmin_2.0.5.tar.gz /usr/local/apache/htdocs/ 移到httpd的根目录
  b. # tar zxvf phpMyAdmin_2.0.5.tar.gz   解压缩phpMyAdmin_2.0.5.tar.gz
  c. 路径 /usr/local/apache/htdocs/phpMyAdmin
  d. 修改设定档
  # vi config.inc.php3
  找到下面的部分
  $cfgServers[1]['host'] = 'localhost'; // MySQL 的hostname
  $cfgServers[1]['port'] = '';       // MySQL 的port 空白表示预设3306
  $cfgServers[1]['adv_auth'] = true;   // 是否采用进阶功能
  $cfgServers[1]['stduser'] = 'root';  // MySQL的管理者
  $cfgServers[1]['stdpass'] = '123456';  // MySQL管理者的密码
  //我采用root为管理者,密码为123456 你可以采用自己喜欢的
  4.测试
  开启浏览器,输入http://的网址/phpMyAdmin/...

四,JDK的安装
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/apache/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://IP地址: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  
#echo $?
报错:
no apxs given
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: can't locate libapr
解决办法:
安装:apr-1.1.1.tar.gz
apr-util-1.1.1.tar.gz
libtool-1.5.22.tar
解压缩安装libapr
# chmod +x *
# tar xfz apr-1.1.1.tar.gz
# cd apr-1.1.1
# ./configure
# make
# make install
回到......./tomcat目录
#cd ..
解压缩安装libaprutil
# tar xfz apr-util-1.1.1.tar.gz
# cd apr-util-1.1.1
# ./configure --with-apr=../apr-1.1.1
# make
# make install
建立libapr和libaprutil 的软连接到/usr/local/httpd2/lib/目录下
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so  
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so.0  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so.0

再次编译jakarta-tomcat
如果make通不过,/path/to/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2目录下并无mod_jk2.so产生,则需安装新版libtool.
# libtool --version
ltmain.sh (GNU libtool) 1.4.3 (1.922.2.111 2002/10/23 02:54:36)
[root@linux native2]#
这个版本的libtool编译最新的  
jakarta-tomcat-connectors-jk2-2.0.4-src  
是不会成功的。  
返回到....../tomcat
安装libtool-1.5.22
# chmod +x *
# tar xfz libtool-1.5.22.tar.gz
# cd libtool-1.5.22
# ./configure
# make
# make install
删除原来的/usr/local/httpd2/build/libtool  
# rm –rf /usr/local/httpd2/build/libtool  
建立新的libtool 软连接
# ln -s /usr/local/bin/libtool /usr/local/httpd2/build/libtool
再次编译jakarta-tomcat
现在就OK了
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-java-home=/opt/j2sdk1.4.2_10 --with-apr-lib=/usr/local/apache/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/apache/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so

之前我的问题是:在已有的WEB服务器上重新安装一套,所以tomcat 老启不来,得KILL掉进程再启动就OK了。

错误:
Syntax   error   on   line   1038   of   /etc/httpd/conf/httpd.conf:   
Invalid   virtual   host   name   
则修改httpd.conf文件,找到#ServerName所在的行,并在其下面加入如下内容即可   
ServerName   localhost:8008   #   制定服务器的名称和端口,注意端口是8008,而不是8080

检查$CATALINA_HOME/conf/server.xml文件中相关的配置,默认情况下的   
                相关的信息是被注释掉了,搜索8008,找到<Service   name="Tomcat-Apache">那段,把前面的"<!--"和</Service>后面的"-->"都删掉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.XXXXXX.com,虚拟用户XXXXXX_com
3,允许FTP维护,禁止远程登陆(具体的FTP维护参照二)
4,为虚拟主机添加用户和使用目录

1,   DNS的简单设置,
在这里我们使用XXXXXX.com这个虚拟域名,实际域名首先要确定域名已经在域名提供商或DNS上设置正常,在这里我们简的的讲一下DNS服务器在RedHat9。0上的简单的配置,假定服务器使用192.168.0.230和192.168.0.231这两个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/ 编写xxxx.com.zone
  /etc/resolv.conf
2.#vi /etc/named.conf
zone "xxxxx.com" IN {
        type master;
        file "xxxxx.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/xxxxx.com.zone 编写一个xxxxx.com.zone文件
$TTL    86400
@                       1D IN SOA       @ root (
                                        20050505               
                                        3H               
                                        15M              
                                        1W               
                                        1D )            

                        1D IN NS        @
                        1D IN MX  10    mail.xxxxx.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.230
5.重新启动加载DNS服务:
#/etc/init.d/named start
#chkconfig named on 让named守护进程在每次系统引导时启动
#/etc/init.d/named restart 重启DNS服务
#rndc reload 重新加载配置文件,这是在修改配置文件后,使配置文件生效。
测试DNS服务是否工作正常
#host www.xxxxxxx.com
#nslookup 192.168.0.230

二. 配置虚拟主机
1. 为虚拟主机添加用户和使用目录
#useradd xxxxxxx_com -s /sbin/nologin   添加虚拟用户,不允许登陆      
#passwd xxxxxx_com  (Do not Hack me 3ks) DnHm3ks 这是我设置的密码:)
#chmod 755 /home/xxxxxx_com
#cd /home/xxxxx_com
#mkdir sites               建立网站存放根目录
#chown xxxxxxx_com:xxxxxx_com sites    改变sites所属组为xxxxx_com
#mkdir logs                站点的日志目录
#chown xxxxxx_com:linuxhero_com logs
#mkdir cgi-bin             目录用来运行CGI程序
#chown xxxxx_com:xxxxxx_com cgi-bin
#mkdir sites/WEB-INF      用来存放Tomcat发布的程序
#chown xxxxx_com:xxxxx_com sites/WEB-INF
2.设置Apache的虚拟主机
#vi /usr/local/httpd/conf/httpd.conf
找到DirectoryIndex 在文件表中加上index.jsp,然后在文件尾添加虚拟主机配置信息:
NameVirtualHost 192.168.0.230:80
#www.xxxxx.com
<VirtualHost 192.168.0.230:80>
     ServerAdmin      webmaster@xxxxx.com
     DocumentRoot     /home/xxxxx_com/sites
     ServerName       www.xxxxx.com
     ServerAlias      linuxhero.com
     ErrorLog         /home/xxxxx_com/logs/error_log
     CustomLog        /home/xxxxx_com/logs/access_log common
     alias  /cgi-bin  /home/xxxxx_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.xxxxx.com" debug="0" appBase="/home/xxxxx_com/sites/"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Alias>xxxxx.com</Alias>
       <Context path="" docBase="." debug="0" reloadable="ture"/>  
       <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="xxxxx_com_log."
                 suffix=".txt"
                 timestamp="true"/>
</Host>
</Engine>

  </Service>

</Server>
到此xxxxxxx_com这目录就可以同时支持PHP+JSP+mysql+mssql,啦,相当于LINUX下的WEB全能服务器.

好了,我也累晕了。休息会吧。

有空大家一起交流!!!
看样子。这贴子发着没用。哎!!!
不是沒有用的... 就是因為你.. 我可以很快咁設定好 web server..
真的十分感謝你.. 謝謝
受益非牵,我在安装过程中得到不少帮助,我的系统是Fedora 4+MySQL+Apache+Php5。但我还有一个问题想请教:
我已经安装好apache和php5, 但我想再增加部分模块,例如SSL,Jpeg 等等,我该如何做?重新configure,make,make install?还是?
Thanks.
顶起来给后面来的人...
先顶一下!

正准备自行编译apache 2.0.59 + mysql 4.1.22 + php 4.4.4