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

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

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

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

msn:  [email]liuyubj520@hotmail.com[/email]
QQ:  48431359
e-mail: l[email]iuyu105@sina.com[/email]   


转贴请注明出处! 谢谢

先送上软件包:

相关软件包下载地址
Apache(httpd)
[url]www.apache.org[/url]
[url]http://archive.apache.org/dist/httpd/httpd-2.0.54.tar.gz[/url]
PHP
[url]www.php.net[/url]
[url]http://cn2.php.net/get/php-5.0.5.tar.gz/from/a/mirror[/url]
freeTDS
[url]http://ibiblio.org/pub/Linux/ALP[/url] ... /freetds-stable.tgz
JDK
java.sun.com
[url]http://java.sun.com/j2se/1.4.2/download.html[/url]
Tomcat
[url]http://archive.apache.org/dist/j[/url] ... tomcat-5.5.8.tar.gz
JK2
[url]http://www.apache.org/dist/jakar[/url] ... -src-current.tar.gz
JDBC(Mysql,MsSql)
[url]www.mysql.com[/url]
[url]http://dev.mysql.com/get/Downloa[/url] ... ha.tar.gz/from/pick
[url]http://www.microsoft.com/downloa[/url] ... bf71&DisplayLang=en

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




一,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
配置目录在vi /usr/local/httpd/conf/httpd.conf 
#echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.d/rc.local(系统启动时服务自动启动)


注:这一步都不会出错。

二,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 /usr/local
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /usr/local/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln
看看有没有3306的端口打开,如果mysqld不能启动,看看/usr/local/mysql/var下的出错日志,一般都是目录权限没有设置好的问题
# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
# ln -s /usr/local/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的错误问题都出在权限上。细心点就没事。

三,编译安装PHP

1,freeTDS(解决PHP与MSSQL连接的问题)花板 
 
当然你也要查看一下系统是不是已经安装了相关节软件包。
rpm -qa |grep php

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/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 --with-curl=/usr/local/curl --enable-ftp --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/httpd/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/conf/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();?>
[url]http://IP[/url]地址/phpinfo.php 就可以看到相关的服务信息啦。
 
报这个.错误信息...................
checking for mcrypt support... no
checking for mhash support... no
checking whether to include mime_magic support... no
checking for MING support... no
checking for mSQL support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... /tmp/mysql.sock
checking for MySQL UNIX socket location... /tmp/mysql.sock
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.

解决方法:
如果是自己选择GZ包安装的MYSQL。这里要加路径。
加的方法为--with-mysql-dir=/user/local/mysql
切记不可写为:--with-mysql=/user/local/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
[url]http://IP[/url]地址: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,虚拟域名:[url]www.XXXXXX.com[/url],虚拟用户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 [url]www.xxxxxxx.com[/url]
#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
#[url]www.xxxxx.com[/url]
<VirtualHost 192.168.0.230:80>
     ServerAdmin      [email]webmaster@xxxxx.com[/email]
     DocumentRoot     /home/xxxxx_com/sites
     ServerName       [url]www.xxxxx.com[/url]
     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全能服务器.