`
kwstartw
  • 浏览: 67998 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux 中安装apache服务器详解

阅读更多

一,使用源代码安装

  (1) 获得源代码

  # lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz

  NN表示当前所用的版本号。

  (2) 解压缩    

  # gzip -d httpd-2_0_NN.tar.gz

  # tar xvf httpd-2_0_NN.tar 

      其它格式如httpd-2-11.bz2 则为:#bzip2 -d httpd-2-11.bz2 其它格式可用相同的方法处理

  (3) 配置.

      进入解压后的文件夹

      #cd httpd-2-0_NN

  # ./configure --prefix= /usr/local/apache --enable-so

  表示Apache将安装在/usr/local/apache目录下

      在此可能用到的命令:mkdir /usr/local/apache 创建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服务器,因为web

  Group 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 2326

  127.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.comwww.teachin....conf就可以了。

  NameVirtualHost 192.168.0.1  
 

  ServerName www.business.media.com

  DocumentRoot /var/www/html/business


  ServerName www.teaching.media.com

  DocumentRoot /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.com

  DocumentRoot /var/www/html/business

  ServerName www.business.media.com

  ErrorLog /var/www/html/business/logs/error_log

  TransferLog /var/www/html/business/logs/access_log
 

  ServerAdmin webmaster@teaching.media.com

  DocumentRoot /var/www/html/teaching

  ServerName www.teaching.media.com

  ErrorLog /var/www/html/teaching/logs/error_log

  TransferLog /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 #该网站的文件将不被缓存。

客户端代理的配置
  (1) 修改/etc/httpd/conf/httpd.conf中的相关指令

  (2) 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制。


  Order deny,allow

  Deny from all

  Allow from .your-domain.com


  (3) 重启httpd。

服务器端代理的配置
  服务器端代理与客户端代理不同,它是在防火墙上安装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.com

  DocumentRoot /www/docs/business.media.com

  ServerName www.business.media.com

  ErrorLog logs/business.media.com-error_log

  CustomLog logs/business.media.com-log_common


  (2) 配置局域网中的DNS服务器,把www.business.media.com指向192.9.201.1。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cookies_6362/archive/2008/09/04/2881206.aspx

分享到:
评论

相关推荐

    Linux下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解

    Linux 下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解 本篇文章详细介绍了在 Linux 操作系统下安装和配置 Apache2.2.x、MySql5.x 和 PHP5.x 的步骤,使用的操作系统为 Redhat AS5,内核版本为 Linux 2.6.18-8.el5,...

    Linux安装apache

    详解在Linux环境下安装apache web服务器。

    linux 下配置 Apache 详解

    Apache是一个历史悠久并且功能十分强大的WEB服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用...

    linux-Apache

    linux 下apache服务器详解

    阿里云 linux服务器安装tomcat(图文详解)

    阿里云 linux服务器安装tomcat(图文详解) 前言 博主昨天搞了jdk,现在就让我们一起来学习怎么在阿里云服务器上安装tomcat吧(注:本文极其适合小白!!! ) ————————————————————————...

    linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分。具体详情可以参考下文。 1.挂载光盘 自己习惯将光盘挂载在/media/cdrom目录,在做本地...

    Linux环境下Apache服务器配置二级域名的方法详解

    本文实例讲述了Linux环境下Apache服务器配置二级域名的方法。分享给大家供大家参考,具体如下: (以域名www.csdn.net为例,现在需要配置一个二级域名blog.csdn.net指向主机地址) 首先,确认开启Apache配置文件...

    Apache FtpServer配置详解

    从零开始介绍Apache FtpServer,并一步一步教你配置Apache FtpServer,更高级的应用,教你用写代码控制Apache FtpServer及集成到自己的应用中 <!--ftp端口 --> <!--绑定的服务器IP地址,多网卡的时候使用...

    详解Linux中搭建常用服务器

    6、搭建web服务器 安装 apache tomcat 7、搭建samba服务器 一、搭建telnet服务器 1、查看是否有telnet服务 rpm –qa|grep telnet 显示:telnet-0.17-39.el5 还需安装telnet-server-0.17-39.el5 2、挂载 mkdir /mnt...

    linux服务器上使用nginx访问本地静态资源的方法

    1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80  2.修改apache服务的端口号 ...以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!

    Linux环境下Apache开启https服务的方法详解

    主要介绍了Linux环境下Apache开启https服务的方法,结合实例形式分析了阿里云环境下获取SSL证书及Apache服务器安装、开启SSL的相关操作技巧,需要的朋友可以参考下

    linux apache 日志 配置 优化 应用 论文

    本文主要介绍了如何成功的在Linux上安装与配置Apache、Php、Mysql,并且详细地说明了在安装过程中出现的一些问题解决方法。安装后的linux+apache+mysql+php网站能很好支持动态网页,服务器的安全也上了一个新的...

    基于Linux搭建Apache网站服务配置详解

    主要介绍了基于Linux搭建Apache网站服务配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Linux中文手册

    9.Linux中的字型(FONTS)设定 10.Linux部分命令简介 11.Lilo.conf (LILO 配置文件) 手册 12.设置和修改 X Window 的显示模式 13.linux使用经验点滴 14.Linux下文件操作编程和GAWK的介绍和应用 15.如何为Linux...

    apache2服务器的搭建和配置步骤详解

    这篇文章主要给大家介绍了在linux下apache2服务器的搭建和配置的相关资料,具有一定的参考价值,下面来一起学习学习吧。 步骤如下 首先当然是下载包包: myths@myths-X450LD:~$ sudo apt-get install apache2 装完...

    centos6 安装redmine+apache2

    最后,需要安装 Apache2 Web 服务器,使 Redmine 可以通过 Web 访问。 [root@test ~]# yum install -y httpd 十二、配置 Apache2 需要配置 Apache2,使其可以正确地访问 Redmine。 [root@test ~]# vim /etc/...

    服务器Apache与Tomcat和Nginx的理解和对比分析详解

    公司服务器用的Apache,后台是php语言,然后服务端用的linux C/C++,会经常听到Apache服务器,然后之前实习的公司服务端用的java,然后依稀记得使用了nginx反向代理服务器和tomcat,请求先经过nginx然后再去通过tomcat...

Global site tag (gtag.js) - Google Analytics