Apache服务器搭建

本文详细介绍了Apache服务器的搭建过程,包括安装httpd服务、配置虚拟主机、设定访问控制等。通过设置httpd.conf文件,创建虚拟Web主机,基于域名、IP地址或端口实现多站点服务。同时,讲解了如何建立系统用户的个人主页,并探讨了httpd服务的访问控制策略,如基于用户的认证授权和客户端地址的限制。
摘要由CSDN通过智能技术生成

Apache概述

  • 主要特点

开放源代码、跨平台应用
支持多种网页编码语言
模块化设计、运行稳定、良好的安全性

  • 软件版本

1.X
目前最高版本是1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能

2.x
目前主要包括2.0和2.2两个版本
具有更多的功能特性
与1.x相比,配置管理风格存在较大差异

搭建并测试httpd服务器

  • yum install httpd 安装软件包

  • systemctl start httpd 启用服务

  • systemctl stop firewalld 关闭防火墙

  • setenfoce 0 关闭selinux

  • Vim /etc/httpd/conf.d/vhosts.conf 设置主机访问目录,以及目录权限

  • vim /var/www/html/index.html 定义网站资源信息

  • systemctl restart httpd 重启服务

  • 打开游览器通过http://ip 通过指定格式访问测试,是否满足需求

  • [root@localhost ~]# rpm -ql httpd 查看安装配置

  • 主要目录和文件

目录文件
服务目录/etc/httpd/
主配置文件/etc/httpd/conf/httpd.conf
网页目录/var/www/html
服务脚本/etc/init.d/httpd
执行程序/usr/sbin/httpd
访问日志/var/log/httpd/access_log
错误日志/var/log/httpd/error_log
httpd.conf配置文件

在这里插入图片描述

  • 常用的全局配置参数
ServerRoot服务目录
ServerAdmin管理员邮箱
User运行服务的用户身份
Group运行服务的组身份
ServerName网站服务器的域名
DocumentRoot网页文档的根目录
Listen监听的IP地址、端口号
PidFile保存httpd进程PID号的文件
DirectoryIndex默认的索引页文件
ErrorLog错误日志文件的位置
CustomLog访问日志文件的位置
LogLevel记录日志的级别,默认为warn
Timeout网络连接超时,默认为300秒
KeepAlive是否保持连接,可选On或Off
MaxKeepAliveRequests每次连接最多请求文件数
KeepAliveTimeout保持连接状态时的超时时间
Include需要包含进来的其他配置文件
httpd服务的日志
  • 两类日志文件
  1. 访问日志:/var/log/httpd/access_log
  2. 错误日志:/var/log/httpd/error_log
  • httpd.conf中对日志的设置

在这里插入图片描述

Web站点的典型应用
  • 测试httpd服务器的性能
  • 构建虚拟Web主机
  • 建立系统用户的个人主页
  • httpd服务的访问控制
测试httpd服务器的性能
  • ab命令

Apache Benchmark,Apache基准测试工具
格式:ab [-q] -c 并发请求数 -n 总的请求数 [http://]域名[:端口]/路径

  • 应用示例
[root@www ~]# ulimit -n 3600
[root@www ~]# ab -q -c 2000 -n 4000 http://www.openlab.com/ 
2000 是修改允许打开的最大文件数

构建虚拟Web主机

  • 虚拟Web主机

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

  • httpd支持的虚拟主机类型
  1. 基于域名的虚拟主机
  2. 基于IP地址的虚拟主机
  3. 基于端口的虚拟主机
基于域名的虚拟Web主机
  • 示例1:构建2个虚拟Web站点
  1. www.openlab.com,IP地址为 173.17.17.11
  2. www.test.com,IP地址为 173.17.17.11

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

[root@www htdocs]# vi /etc/httpd/conf/httpd.conf
……
NameVirtualHost 173.17.17.11
<VirtualHost 173.17.17.11>
    DocumentRoot /var/www/html/openlab
    ServerName www.openlab.com
</VirtualHost>
<VirtualHost 173.17.17.11>
    DocumentRoot /var/www/html/test
    ServerName www.test.com
</VirtualHost>
基于IP地址的虚拟Web主机
  • 示例2:构建2个虚拟Web站点:
  1. www.openlab.com,IP地址为 173.17.17.11
  2. www.test.com,IP地址为 192.168.4.11

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

[root@www htdocs]# vi /etc/httpd/conf/httpd.conf
……
<VirtualHost 173.17.17.11>
    DocumentRoot / var/www/html/openlab
    ServerName www.openlab.com
</VirtualHost>
<VirtualHost 192.168.4.11>
    DocumentRoot / var/www/html/test
    ServerName www.test.com
</VirtualHost>
基于端口虚拟Web主机
  • 示例3:构建2个虚拟Web站点:
  1. www.openlab.com,IP地址、端口为 173.17.17.11:80
  2. www.test.com,IP地址、端口为 173.17.17.11:8080

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

[root@www htdocs]# vi /etc/httpd/conf/httpd.conf
……
Listen 173.17.17.11:80
Listen 173.17.17.11:8080
<VirtualHost 173.17.17.11:80>
    DocumentRoot / var/www/html/openlab
    ServerName www.openlab.com
</VirtualHost>
<VirtualHost 173.17.17.11:8080>
    DocumentRoot / var/www/html/test
    ServerName www.test.com
</VirtualHost> 

建立系统用户的个人主页

  1. 修改httpd.conf,启用个人主页功能
    UserDir public_html
    确认目录区域设置
  2. 建立个人主页测试网页
    ~/public_html/index.html
    添加权限:chmod o+x /home/jerry/
  3. 重新启动httpd服务
    /usr/local/apache2/bin/apachectl restart
  4. 访问测试
    http://www.benet.com/~user
[root@www ~]# vi /etc/httpd/conf/httpd.conf
……
#UserDir  disable   若存在此行,应注释掉

……
UserDir  public_html
<Directory "/home/*/public_html">
    AllowOverride none
    Options none
    Order allow,deny
    Allow from all
</Directory>

httpd服务的访问控制

  • 基于用户的访问控制

添加认证授权设置

[root@www ~]# vi /etc/httpd/conf/httpd.conf
……
<Directory "/var/www/html/openlab">
    ……
    AuthName  “OpenLab"
    AuthType  Basic
    AuthUserFile  /var/www/html/openlab/.htpasswd  用户密码文件
    require  valid-user
</Directory>
……

创建存储认证用户账号及口令的文件——需要使用htpasswd工具

[root@www ~]# htpasswd -c \
> /usr/local/awstats/wwwroot/.htpasswd  awuser
添加一个授权用户
  • 基于客户端地址的访问控制

Order配置项,定义控制顺序

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

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

    • Deny from address1 address2 …
      Allow from address1 address2 …
<Directory  /var/www/html>
    Order allow,deny
    Allow from 192.168.0.0/24
    Deny from 192.168.0.100
</Directory>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值