Linux 配置WWW服务器全攻略

操作方法

  • 01

    第一站 Apache的历史与前景1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTTP精灵程序,它比当时的CERN服务器更容易由源码来配置和创建,又由于当时其他服务器软件的缺乏,他很快流行起来。但是后来,该服务器的核心开发人员几乎都离开了NCSA,一些使用者们自己成立了一个组织来管理他们编写的补丁,于是Apache Group应运而生。他们把该服务器软件称为Apache。Apache源于A patchy server的读音,意思是充满补丁的服务器。如今Apache慢慢地已经成为Internet上最流行的Web服务器软件了。在所有的Web服务器软件中,Apache占据绝对优势,远远领先排名第二的Microsoft IIS。如果你对它感兴趣,你可以访问Apache的官方网站:http://www.apache.org。Apache作为自由软件之一,像其他自由软件一样,他们都是由许许多多的自由开发人员投入了大量的时间和精力来实现并逐步完善的,所以我们有理由相信Apache的发展前景会更好。第二站 Apache 2.0的安装 Apache 2.0的配置与安装和Apache 1.3的有很大的不同,他像其它的开源软件一样,使用libtool和autoconf来配置环境。但不管是Apache几通常都有两种安装方式:源代码安装和RPM包安装。这两种安装类型各有特色,RPM包安装不需要编译,而源代码安装则需要先配置编译再安装,RPM包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。下面分别以实例的形式来介绍两种类型的安装方法。一,使用源代码安装(1) 获得源代码# lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gzNN表示当前所用的版本号。(2) 解压缩# gzip -d httpd-2_0_NN.tar.gz# tar xvf httpd-2_0_NN.tar (3) 配置.# ./configure --prefix= /usr/local/apache表示Apache将安装在/usr/local/apache目录下(4) 编译与安装# make# make install(5) 测试# /usr/local/apache/bin/apachectl start二,使用RPM包安装# rpm —ivh apache-*.rpm完成安装后,配置文件在/etc/httpd/conf/目录下,文件根目录为/var/www/html,工具文件在/etc/rc.d/init.d/目录下,日志文件在/var/log/httpd/目录下。第三站 Apache 2.0的配置Apache 2.0的主配置文件为httpd.conf。如果以上述源代码安装则配置文件保存在/usr/local/apache/conf/目录下,若以RPM包方式安装则配置文件保存在/etc/httpd/conf/目录下。我们可以直接修改httpd.conf文件也可以用redhat linux 9自带的图形化工具来配置。打开启动程序->系统设置->服务器设置->HTTP服务器,可以进行相关。主界面如图:下面我们来看一下httpd.conf中的几条指令,“#”后加入了注释说明。Port 80 #定义了web服务器的侦听端口,默认值为80,它是TCP网络端口之一。若写入多个端口,以最后一个为准。User apache #一般情况下,以nobody用户和nobody组来运行web服务器,因为webGroup apache # 服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。 ServerAdmin root@localhost #指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。 ServerRoot /etc/httpd #服务器的根目录,一般情况下,所有的配置文件在该目录下ServerName new.host.name:80 #web客户搜索的主机名称KeepAliveTimeout 15 #规定了连续请求之间等待15秒,若超过,则重新建立一条新的TCP连接 MaxKeepAliveRequests 100 #永久连接的HTTP请求数MaxClients 150 #同一时间连接到服务器上的客户机总数ErrorLog logs/error_log #用来指定错误日志文件的名称和路径PidFile run/httpd.pid #用来存放httpd进程号,以方便停止服务器。Timeout 300 #设置请求超时时间,若网速较慢则应把值设大。DocumentRoot /var/www/html #用来存放网页文件第四站 Apache的管理(1) 启动和停止Apache/etc/rc.d/init.d/httpd start/etc/rc.d/init.d/httpd stop(2) Apache的日志文件有人说判定一个管理员是否优秀之一就是看他是否是一个分析日志的能手,因为从日志文件中获取的反馈信息对管理员来说是相当重要的。Apache的日至文件主要包括访问日志和错误日志。访问日志记录了该服务器所有的请求的过程,主要记录的是客户的信息,通过它我们可以知道什么人访问了该网站,什么时候访问的,访问的内容是什么等等。错误日志则是记录了服务器出错的细节和如何处理等。日志文件的位置是由上述主配置文件httpd.conf来规定的。Redhat中有一个查看日志的工具——系统日志。其主界面如下下面各举一个例子来说明他的格式:错误日志的写法:[Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test[Mon sep 22 14:32:52 2003] 错误发生的时间。[error] 表示错误的级别。有debug,info,notice,warn,error,crit,alert,emerg,这些级别由低到高表示了错误的严重性。[client 127.0.0.1] 表示客户端IP地址。client denied by server configuration: /export/home/live/ap/htdocs/test 标是错误的具体信息。访问日志的写法:127.0.0.1 - wangdong [22/sep/2003:13:55:36 -0800] "GET /apache_pb.gif HTTP/1.0" 200 2326127.0.0.1 表示访问这台服务器的客户端IP地址。Wangdong 表示用户的登录名。[22/sep/2003:13:55:36 -0800] 服务器完成客户端请求的时间,格式为[日/月/年:小时:分钟:秒 时区]"GET /apache_pb.gif HTTP/1.0" 表示客户端访问该资源所使用的方法。200 记录的是服务器返回给客户的状态码。200表示成功,以4打头的表示访问出错。2326 表示发给客户端的总字节数。若是“—”表示没有找到访问资源。但在实际应用中,对于大型网站,日志文件往往增长的很快,不利于我们查询,降低服务器的效率,而且占用大量的磁盘空间,所以我们必须对日志进行定期的维护。既然日志文件很大,那么我们如何把一大堆枯燥的数据整理成容易让我们看懂的形式呢?有没有这样的工具呢?非常幸运,在redhat linux 9中自带了一个分析日志的工具——webalizer,如图:我们也可以在网上找到大量这样优秀的免费的工具,例如:WebTrends Analysis Series。第五站 配置虚拟主机  虚拟主机是在一台www服务器上为多个单独的域名提供www服务,每个域名具有自己的目录和配置,相当于将一台主机分为多台主机,虚拟主机技术对于主机数量不足,但又想为不同的用户提供独立的Web服务的需求非常有效。而对于一个公司,利用价格昂贵的服务器只提供一种域名服务,似乎是不明智的,而现在越来越多的公司喜欢在一台服务器上使用多个域名服务,架设不同的网站,这样做的好处是显而易见。Apache有两种方式支持虚拟主机,一种是基于IP的虚拟主机,另一种是基于名字的虚拟主机。基于名字的虚拟主机使用相同的IP地址来配置不同的虚拟主机,这就弥补了因IP地址不足而带来的问题。基于名字的虚拟主机的配置相当简单,你只需配置你得DNS服务器使每个主机名对应正确的IP地址,然后再配置Apache HTTP Server使它能认识不同的主机名就可以了。假设我们组建了一家多媒体制作公司,有一台Apache服务器和一个IP地址:192.168.0.1 要运行两种业务,一种为电子商务网站,域名为www.business.media.com ,另一种为教学网站,域名为www.teaching.media.com 。先在DNS服务器中把域名www.business.media.com和www.teachin....conf就可以了。NameVirtualHost 192.168.0.1ServerName www.business.media.comDocumentRoot /var/www/html/businessServerName www.teaching.media.comDocumentRoot /var/www/html/teaching而基于IP的虚拟主机则要求使用不同的IP地址来区别不同的虚拟主机,这就要求使用多块网卡,把不同的IP地址捆绑到不同的网卡上,或者在一块网卡上捆绑多个IP地址。假设我们主机的IP地址为192.168.0.1(www.media.com),另外有两个IP地址别?..nf/httpd.conf。[/url]ServerAdmin webmaster@ business.media.comDocumentRoot /var/www/html/businessServerName www.business.media.comErrorLog /var/www/html/business/logs/error_logTransferLog /var/www/html/business/logs/access_logServerAdmin webmaster@teaching.media.comDocumentRoot /var/www/html/teachingServerName www.teaching.media.comErrorLog /var/www/html/teaching/logs/error_logTransferLog /var/www/html/teaching/logs/access_log第六站配置Apache代理代理服务器是网络信息服务的中转站。如果我们把Apache代理服务器形象地比喻成代理商的话,消费者向代理商购买东西时,如果代理商有的话,可直接卖给消费者,若没有,则代理商向厂家进货,再卖给消费者。这样做有以下几点好处:(1)提高了访问速度。(2)充当防火墙,增加了安全性。(3)可以过滤一些不良网站。(4)具有缓存功能。(5)节省IP开销。代理服务器可分为两种类型:客户端代理和服务器端代理。下面我们在讲解几个指令后举例说明各自的配置方法。ProxyRequest On/Off #启用或者禁用Apache代理服务。CacheRoot "/etc/httpd/proxy" #代理缓存的根目录。CacheSize 5 #代理缓存的大小。CacheGcInterval 4 #设定运行管理缓存的无用数据搜集程序的时间间隔CacheMaxExpire 24 #文件过期时间。CacheDefaultExpire 1 #指定未包含过期信息文件的有效期。NoCache a-domain.com another-domain.edu #该网站的文件将不被缓存。l 客户端代理的配置(1) 修改/etc/httpd/conf/httpd.conf中的相关指令(2) 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制。Order deny,allowDeny from allAllow from .your-domain.com(3) 重启httpd。l 服务器端代理的配置服务器端代理与客户端代理不同,它是在防火墙上安装Apache服务器,使用它提供对WWW服务器的代理访问。这种方法把WWW服务器与外部隔开,提高了安全性,而对用户来说,好像没有变化一样。假设在内部局域网中WWW服务器的IP地址为192.168.0.2,防火墙主机内部IP地址为192.168.0.5,外部IP地址为192.9.202.1。(一) 配置防火墙上的Apache(1) 在/etc/httpd/conf/httpd.conf中添加虚拟主机。ServerAdmin webmaster@business.media.comDocumentRoot /www/docs/business.media.comServerName www.business.media.comErrorLog logs/business.media.com-error_logCustomLog logs/business.media.com-log_common(2) 配置局域网中的DNS服务器,把www.business.media.com指向192.9.201.1。(二) 配置局域网内部WWW服务器在Linux环境下,有一个非常流行的代理服务器软件——Squid。他的功能非常的强大,支持HTTP,FTP,Gopher,SSL,和WAIS等协议的代理,而且设置简单,只需再配置文件中稍稍改动就可以了。好了,WWW服务器配置这条路总算走完了,笔者希望读过此文章的人能够有所收获,最后,希望在学习Linux这条充满乐趣而又布满荆棘的路上的爱好者们,永不言败,成为真正的高手。

(0)

相关推荐

  • Linux下Web服务器架设攻略

    今天我们来看看如何将Web服务器架在Linux系统下。 LINUX系统中常见的有:CERN、NCSA、Apache三种方式,一般最常用的方法就是用Apache。此种方式特点明显,配置简明,具有最大的 ...

  • Linux下DNS服务器架设攻略 3

    2. 反向域名转换数据文件db.127.0.0和db.192.11.56的建立。 反向域名转换数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。 “127.0.0”这个内部 ...

  • Linux下DNS服务器架设攻略

    【IT168 专稿】大家要注意,DNS服务是许多服务的基础,所以一般刚开始学习Linux服务器配置时从此下手,那其它的应用也就简单得多了。笔者进阶学习Linux,也是从此开始的。 一、 相关知识概述 ...

  • Linux下DNS服务器架设攻略 2

    named 这个主体进程在启动时需要读取一个初始化文件,缺省为 /etc/named.boot。另外建议大家使用Linux自带的ndc工具来进行启动、中止、重启动、刷新DNS数据、输出DNS数据等多种 ...

  • win2K下IIS5.0配置asp+cgi+php+mysql全攻略

    安装win2K,安装IIS Indexing Service, FrontPage 2000 Server Extensions, Internet Service Manager (HTML) 这几 ...

  • windows下MRTG安装全攻略

    在一个网络中,作为网络工程师或者网络管理员,需要随时了解网络的各种状态,以判断网络是否处于健康状态或者随时了解网络的流量、每个路由器的流量、每个交换机端口的流量…,以供年度报告时向上级领导提供详实的数 ...

  • Windows权限设置全攻略

    操作方法 01 Windows权限设置全攻略 随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁.只让80端口 ...

  • 经验之谈! 硬盘升级全攻略

    现在的软件和游戏真是越来越大了,动不动就要几G的空间,而且网上又有数不清的精彩电影和动听音乐,所以自己几十G的硬盘渐渐显得有些不够用了,升级硬盘就成了当务之急。不过对于品牌机用户来说,升级硬盘还有一些 ...

  • Google Drive全攻略

    Google推出云存储服务Google Drive之后,Google的老用户们就开始纷纷申请试用,而随服务一同发布的Google Drive安卓客户端,在当天的下载量就突破了500万。虽然Google ...