在RedHat7.2上一步步搭建自己的虚拟主机系统

时间:2007-01-04 10:23:25   来源:  作者:whsong  点击:次  出处:技术无忧
关键字:在Re


上网的费用是一天比一天,作为一个网虫,几个要好的朋友共享一台主机,拥有拥有自己的专线和自己的虚拟主机系统也不再是梦想。
  并不是我个人对Window有什么成见,作为一个实际应用的虚拟主机系统,操作系统选用Linux应该是一个明智的选择。而使用RedHat 7.2的推出更大大减轻了我们的工作量。

  首先,让我们先在我们主机上安装好RedHat7.2,显然我们是要选用Server安装方式。Ftp服务器、Web服务器、DNS服务器是都得选的,除此之外,这样的安装和普通的安装并没有什么不同。当安装完成后,我们的主机现在已经安装好了Apache、PHP。不过,这并不是我们想要的虚拟主机系统,首先,目前还不支持jsp和servlet,此外,这样的主机还不能满足我们共享的需要。

  我们的虚拟主机系统希望是这样的,首先,我们需要全面支持php、jsp、perl、servlet,此外我们还需要支持MySQL、PostgreSQL这样的数据库,在虚拟主机上应该可以容纳不同的域名,以及同一的域名下的不同的主机。举例来说,在这个虚拟主机上也许会容纳三个网站,其网址分别是www.web158.com、www.web158.net、abc.web158.net。由于允许abc.web158.net这样的网址的存在,所以我们首先需要一个我们自己的域名解析系统。RedHat7.2已经为我们安装好了BIND,在ntsysv中开启named服务后,我们的域名解析系统就开始正常工作了,当然我们得做一些配置。

  一、配置DNS服务器

  首先,打开/etc/named.conf文件,增加下面的内容:
  zone "16.56.141.in-addr.arpa" {
  type master;
  file "141.56.16";
  };
  zone "web158.net" {
  type master;
  file "web158.net";
  };
  zone "web158.com" {
  type master;
  file "web158.com";
  };

这样我们在形如141.56.16.*的IP地址下增加了两个主域,分别是web158.net及web158.com。

  在/var/named下增加下面的三个文件:
  文件: 141.56.16
  $TTL 86400
  @ IN SOA ns.web158.net. root.ns.web158.net. (
  2002020101 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  @ IN NS ns.web158.net.
  @ IN MX 0 ns.web158.net.
  1 IN PTR ns.web158.net.
  文件:web158.net
  $TTL 86400
  @ IN SOA ns.web158.net. root.ns.web158.net. (
  2002020101 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  @ IN NS ns.web158.net.
  @ IN MX 0 ns.web158.net.
  ns IN A 141.56.16.1
  * IN CNAME ns.web158.net.
  文件:web158.com
  $TTL 86400
  @ IN SOA ns.web158.com. root.ns.web158.com. (
  2002020101 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  @ IN NS ns.web158.com.
  @ IN MX 0 ns.web158.com.
  ns IN A 141.56.16.1
  * IN CNAME ns.web158.com.

  如果你对技术细节不感兴趣,在你实际配置时,你只要将这里涉及的域名web158.com、web158.net以及所有的IP地址按你的实际情况进行变动就可以了,如果你想了解技术细节,你可以参阅相关文档。限于篇幅的关系,在我们的这个系列中,我们基本上不会对这样的细节作相应的解释。

  使用service named restart重新启动我们的named服务,现在我们已经成功地将所有的形如*.web158.net及*.web158.com的网址指向了我们的主机IP:141.56.16.1。

二、整合tomcat和apache并设置虚拟主机

  这时候使用service httpd start开启我们的httpd服务。所有我们上面提到的这些网址都指向了一个apache的欢迎页。下面我们的工作是要将这些网址分别指向不同的地方,并使其支持jsp和servlet。

  按一般的步骤安装tomcat4.0.1和j2sdk1.3.2.02。我们的tomcat4.0.1的安装目录是/usr/local/jakarta-tomcat-4.0.1。

  从下列下载地址:

  http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.1/bin/Linux/i386/webapp-module-1.0-tc40-Linux-glibc2.2.tar.gz下载webapp-module-1.0-tc40-Linux-glibc2.2.tar.gz解压后将其中的mod_webapp.so拷贝到/etc/httpd/modules下。

  在home下建立三个名为www.web158.com、www.web158.net、abc.web158.net的目录,其中都包含html子目录和jsp子目录,将/usr/local/jakarta-tomcat-4.0.1/webapps/examples中的全部内容分别拷贝到这三个jsp子目录中。使用ln -s /home/www.web158.com/jsp/usr/local/jakarta-tomcat-4.0.1/webapps/www.web158.com这样的命令建立三个连接。

  在/usr/local/jakarta-tomcat-4.0.1/conf中的server.xml的倒数二三十行左右找到这样的四行:
  
  (插入内容位置)
  
  
  

  在我们标注的位置插入下面的内容:

  
  
  

  在/etc/httpd/conf/httpd.conf中增加下面的内容:
  LoadModule webapp_module modules/mod_webapp.so
  WebAppConnection warpConnection warp localhost:8008
  NameVirtualHost 141.56.16.1

ServerAdmin webmaster@web518.com
  DocumentRoot "/home/www.web158.com/html"
  ServerName www.web158.com
  ErrorLog logs/www.web158.com.log
  WebAppDeploy www.web158.com warpConnection /jsp/
  

  
  ServerAdmin webmaster@web518.net
  DocumentRoot "/home/www.web158.net/html"
  ServerName www.web158.net
  ErrorLog logs/www.web158.net.log
  WebAppDeploy www.web158.net warpConnection /jsp/
  

  
  ServerAdmin abc@web518.net
  DocumentRoot "/home/abc.web158.net/html"
  ServerName abc.web158.net
  ErrorLog logs/abc.web158.net.log
  WebAppDeploy abc.web158.net warpConnection /jsp/
  

  现在使用/usr/local/jakarta-tomcat-4.0.1/bin/startup.sh启动tomcat,并使用service httpd restart重启apache(会有一个警告错误,不影响使用),于是已经拥有了一个支持php和jsp的虚拟主机系统,其中的html子目录支持php,jsp子目录支持jsp。


请记住技术无忧网 中文域名 http://www.技术无忧.com


相关文章

    无相关信息

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

300x250广告位招租