Web网站服务-Apache

一、概述

二、编译安装

三、httpd服务基础

四、httpd.conf配置文件

五、httpd服务访问控制

六、虚拟Web主机


一、概述


主要特点

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

开放源代码、跨平台应用

支持多种网页编程语言

模块化设计 、运行稳定、良好的安全性

二、编译安装


编译安装的优点

具有较大的自由度,功能可定制

可及时获得最新的软件版本

普遍适用于大多数Linux版本,便于移植使用

获得Apache服务器的源码包

参考地址:http://httpd.apache.org/download.cgi

安装httpd服务器

1.准备工作

卸载httpd及相关依赖包

[root@www ~]# rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps  //忽略软件包依赖性

2.源码编译及安装

[root@www ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/      //解包

[root@www ~]# cd /usr/src/httpd-2.2.17/

[root@www httpd-2.2.17]# ./configure  --prefix=/usr/local/httpd  --enable-so  --enable-rewrite  --enable-charset-lite  --enable-cgi  //配置

[root@www httpd-2.2.17]# make

[root@www httpd-2.2.17]# make install    //编译及安装

3.确认安装结果

[root@www ~]# ls /usr/local/httpd/

bin    cgi-bin  error  icons    lib  man    modules

build  conf    htdocs  include  logs  manual

4.优化执行路径

[root@www ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

[root@www ~]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl

lrwxrwxrwx 1 root root 30 04-06 13:08 /usr/local/bin/apachectl ->  /usr/local/httpd/bin/apachectl

lrwxrwxrwx 1 root root 26 04-06 13:08 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

5.添加httpd系统服务

以便通过chkconfig进行管理

[root@www ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[root@www ~]# vi /etc/init.d/httpd

#!/bin/bash

# chkconfig: 35 85 15

# description: Startup script for the Apache HTTP Server

……

[root@www ~]# chkconfig --add httpd

[root@www ~]# chkconfig --list httpd

httpd          0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭

三、httpd服务基础


1、主要目录和文件:

服务目录:/usr/local/httpd/

主配置文件:/usr/local/httpd/conf/httpd.conf

网页目录:/usr/local/httpd/htdocs/

服务脚本:/usr/local/httpd/bin/apachectl

执行程序:/usr/local/httpd/bin/httpd

访问日志: /usr/local/httpd/log/access_log

错误日志: /usr/local/httpd/log/error_log

Httpd的安装目录是由前面的—prefix指定的路径,默认安装在/usr/local/apache2目录下

2、Web站点部署过程

1.确定网站名称、IP地址

ifconfig、hostname

2.配置并启动httpd服务

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf

……

ServerName www.benet.com

……

[root@www ~]# /usr/local/httpd/bin/apachectl -t

Syntax OK

[root@www ~]# /etc/init.d/httpd start

3.部署网页文档

[root@www ~]# cat /usr/local/httpd/htdocs/index.html

It works!

4.在客户机中访问Web站点

图一

5.查看Web站点的访问情况

[root@www ~]# tail /usr/local/httpd/logs/access_log

192.168.4.110 - - [06/Apr/2011:14:24:06 +0800] "GET / HTTP/1.1" 200 44

192.168.4.110 - - [06/Apr/2011:14:24:06 +0800] "GET /favicon.ico HTTP/1.1" 404 209

四、httpd.conf配置文件


常用的全局配置参数

ServerRoot:服务目录

ServerAdmin:管理员邮箱

User:运行服务的用户身份

Group:运行服务的组身份

ServerName:网站服务器的域名

DocumentRoot:网页文档的根目录

Listen:监听的IP地址、端口号

PidFile:保存httpd进程PID号的文件

DirectoryIndex:默认的索引页文件

CustomLog:访问日志文件的位置

LogLevel:记录日志的级别,默认为warn

Timeout:网络连接超时,默认为300秒

KeepAlive:是否保持连接,可选On或Off

MaxKeepAliveRequests:每次连接最多请求文件数

KeepAliveTimeout:保持连接状态时的超时时间

Include:需要包含进来的其他配置文件

区域配置项

<Directory />

    OptionsFollowSymLinks  //控制选项,允许使用符号链接

    AllowOverrideNone  //不允许隐含控制文件中的覆盖配置

    Orderdeny,allow  //访问控制策略的应用顺序

    Deny from all  //禁止任何人访问此区域

</Directory>

五、httpd服务访问控制


httpd服务的访问控制

作用:

控制对网站资源的访问

为特定的网站目录添加访问授权

常用访问控制方式:

客户机地址限制

用户授权限制

Order配置项,定义控制顺序

先允许后拒绝,默认拒绝所有:Order allow,deny

先拒绝后允许,默认允许所有:Order deny,allow

Allow、Deny配置项,设置允许或拒绝的地址

Deny from address1 address2 …

Allow from address1 address2 …

<Directory "/usr/local/awstats/wwwroot">

……

Order deny,allow

deny from 192.168.0.0/24 192.168.1.0/24

</Directory>

用户授权限制

1.创建用户认证数据库

[root@www ~]# cd /usr/local/httpd/

[root@www httpd]# bin/htpasswd -c/usr/local/httpd/conf/.awspwd webadmin //新建密码文件

New password:

Re-type new password:

Adding password for user webadmin

[root@www httpd]# cat /usr/local/httpd/conf/.awspwd  //确认用户数据库文件

webadmin:2tmD3LVFynBAE

2.添加用户授权配置

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf…………

……

<Directory "/usr/local/awstats/wwwroot">

……

AuthName "AWStats Directory"  //受保护的领域名称

AuthType Basic  //设置认证的类型

AuthUserFile /usr/local/httpd/conf/.awspwd  //用户认证账号文件

require valid-user

</Directory>  //要求通过认证才能访问

[root@www ~]# /usr/local/httpd/bin/apachectl restart

3.验证用户访问授权


六、虚拟Web主机


在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机

httpd支持的虚拟主机类型

基于域名的虚拟主机

基于IP地址的虚拟主机

基于端口的虚拟主机


构建虚拟主机——基于域名

应用示例:

构建2个虚拟Web站点:

www.benet.com,IP地址为 173.17.17.11

www.accp.com,IP地址为 173.17.17.11

在浏览器中访问这两个域名时,分别显示不同的内容

1.为虚拟主机提供域名解析

[root@dnssvr ~]# vi /var/named/chroot/var/named/benet.com.zone

……

@      IN      NS      dnssvr.benet.com.

dnssvr  IN      A      173.17.17.2

www    IN      A      173.17.17.11

[root@dnssvr ~]# vi /var/named/chroot/var/named/accp.com.zone

……

@      IN      NS      dnssvr.benet.com.

www    IN      A      173.17.17.11

2.为虚拟主机准备网页文档

[root@www ~]# mkdir /var/www/html/benetcom[root@www ~]# mkdir /var/www/html/accpcom[root@www ~]# echo "

www.benet.com

" > /var/www/html/benetcom/index.html[root@www ~]# echo "

www.accp.com

" > /var/www/html/accpcom/index.html

3.添加虚拟主机配置

root@www ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf //创建独立的配置文件

<Directory "/var/www/html“>  //设置目录访问权限

   Order allow,deny

   Allow from all

</Directory>

NameVirtualHost 173.17.17.11

<VirtualHost 173.17.17.11>  //设置benet虚拟站点

   DocumentRoot/var/www/html/benetcom

   ServerName www.benet.com 

   ErrorLog  logs/www.benet.com.error_log

   CustomLog logs/www.benet.com.access_log common

</VirtualHost>

<VirtualHost 173.17.17.11> //设置accp虚拟站点

DocumentRoot /var/www/html/accpcom

ServerName www.accp.com

ErrorLog  logs/www.accp.com.error_log

CustomLog logs/www.accp.com.access_log common

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf //加载独立的配置文件

……

Include conf/extra/httpd-vhosts.conf

[root@www ~]# /usr/local/httpd/bin/apachectl restart

4.构建虚拟主机——基于IP

应用示例:

构建2个虚拟Web站点:

www.bdqn.cn,IP地址为 220.181.120.61

www.jbit.cn,IP地址为 122.115.32.133

在浏览器中访问这两个IP时,分别显示不同的内容

<VirtualHost 220.181.120.61>

DocumentRoot /var/www/html/bdqncn

ServerName www.bdqn.cn

……

</VirtualHost>

<VirtualHost 122.115.32.133>

DocumentRoot /var/www/html/jbitcn

ServerName www.jbit.cn

……

</VirtualHost>

5、构建虚拟主机——基于端口

应用示例:

构建2个虚拟Web站点:

www.benet.com,IP地址、端口为 173.17.17.11:80

www.accp.com,IP地址、端口为 173.17.17.11:8353

在浏览器中访问这两个端口时,分别显示不同的内容

<VirtualHost 173.17.17.11:80>

DocumentRoot /var/www/html/accpcom

ServerName www.accp.com

……

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf

……

Include conf/extra/httpd-vhosts.conf

Listen 173.17.17.11:80

Listen 173.17.17.11:8353

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,710评论 4 376
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,839评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,295评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,776评论 0 223
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,198评论 3 297
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,074评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,200评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,986评论 0 214
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,733评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,877评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,348评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,675评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,393评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,209评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,212评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,003评论 2 280

推荐阅读更多精彩内容