mrbear 发表于 2018-11-17 10:13:11

httpd搭建虚拟主机与Apache网站基础服务

前言

[*]Apache简介
[*]Apache的主要特点
[*]httpd 服务器的基本配置
[*]搭建httpd虚拟主机
Apache简介:
  Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
  因为它是自由的开源软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的主要特点:

[*]> 开源代码:这是它的重要特点之一,也是其他特性的基础
[*]> 跨平台应用:apache服务器可以运行在绝大多数的平台上
[*]  支持各种web编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、Python、Java等。

[*]>模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能的通过标准的模块来实现专有的功能
[*]> 运行非常稳定:Apache服务器可用于构建具有大量负载访问量的web站点
[*]> 良好的安全性:Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性
httpd 服务器的基本配置
  1·安装httpd服务
  yum install httpd -y
  2·修改主配置文件
  vim /etc/httpd/conf/httpd.conf            //httpd的主配置文件
  修改内容如下:
  Listen 192.168.100.20:80          //监听地址
  #Listen 80                               //需要注释掉IPV6的端口
  service iptables stop            //关闭防火墙
  setenforce 0
  service httpd start               / /开启httpd服务
  3·验证httpd:
  访问监听地址:192.168.100.20

  4·修改站点内容:
  cd /var/www/html/
  echo "this is test web" > index.html   #在站点中写入测试的语句
  再来验证一次:

httpd 搭建多网站(虚拟主机)
  1·需要建立虚拟主机的配置文件:
  cd /etc/httpd/conf.d/
  vim vdir.conf    #手动建立一个虚拟主机的配置文件
  添加虚拟目录的配置文件格式:
  Alias /test "/opt/test/"      #别名,/test = /opt/test(站点存放的位子)访问网站时加上test
        #开头定义路径   固定格式
  Options Indexes MultiViews FollowSymLinks       #建立索引,固定格式
  AllowOverride None      #不允许重写(固定格式)
  AuthName "hello"      #hello信息
  authtype basic          #认证类型 basic是一种最基本的认证
  authuserfile /etc/httpd/user    #身份验证登陆,并且指定文件位子
  #authgroupfile /etc/httpd/group#组身份验证登陆和指定文件位子
  #require Valid-user      #开启用户认证
  #require user test       #仅允许那些用户登陆
  #Require group admin   #仅允许那些组登陆
  
  2·我们配置文件写好了,现在需要建立站点,因为在配置文件中我们指定的站点是没有的,所以需要手动建立,然后再站点中写入数据,便于测试!
  mkdir /opt/test   #建立虚拟主机站点
  echo "this is test 2 " > /opt/test/index.html      #在站点中写入数据
  service httpd restart   #重启服务
  验证:这样就可以从分利用服务器的性能

  3·我们还可以做访问控制列表,需要用户认证配置:
  htpasswd -c /etc/httpd/user zhangsan
  vim /etc/httpd/conf.d/vdir.conf
  去掉以下注释的内容:
  require Valid-user      #开启用户认证
  service httpd restar    #重启服务

  验证:

基于不同域名的虚拟主机
  1·当虚拟web主机的数量较多时,建议使用独立的虚拟主机配置文件,然后再httpd.conf文件中通过Include来加载这些配置,这样会更方便配置内容的维护。这里就创建两个主机名的配置文件为列。
  cd /etc/httpd/conf.d/
  vim host.conf   #建立独立的主机名配置文件
  添加配置如下:
  NameVirtualHost 192.168.100.20:80 #定义IP地址和端口
         #再次定义(固定格式)
  ServerAdmin webmaster@dummy-host.example.com#管理员邮箱
  DocumentRoot /opt/benet   #定义站点目录
  ServerNamewww.benet.com #服务器名字
  ErrorLog logs/benet.com-error_log #错误日志文件名
  CustomLog logs/benet.com-access_log common    #访问日子文件名
  
  NameVirtualHost 192.168.100.20:80 #定义IP地址和端口
         #再次定义(固定格式)
  ServerAdmin webmaster@dummy-host.example.com#管理员邮箱
  DocumentRoot /opt/baidu   #定义站点目录
  ServerNamewww.baidu.com #服务器名字
  ErrorLog logs/baidu.com-error_log #错误日志文件名
  CustomLog logs/baidu.com-access_log common    #访问日子文件名
  
  2·在配置文件中写的站点目录是没有的,所以需要手动创建,在站点写入一些数据方便测试
  mkdir /opt/benet
  mkdir /opt/baidu
  echo "this is benet" > /opt/benet/index.html
  echo "this is baidu" > /opt/baidu/index.html
  3·既然是基于不同域名访问,那么我们就要搭建DNS服务:
  rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
  vim /etc/named.conf       #修改主配置文件
  修改内容如下:
  options {
  listen-on port 53 { any; };
  listen-on-v6 port 53 { ::1; };
  directory       "/var/named";
  dump-file       "/var/named/data/cache_dump.db";
  statistics-file "/var/named/data/named_stats.txt";
  memstatistics-file "/var/named/data/named_mem_stats.txt";
  allow-query   { any; };
  recursion yes;
  修改区域配置文件:
  vim /etc/named.rfc1912.zones
  修改内容如下:
  zone "benet.com" IN {
  type master;
  file "benet.com.zone";
  allow-update { none; };
  };
  zone "baidu.com" IN {
  type master;
  file "baidu.com.zone";
  allow-update { none; };
  };
  修改区域数据配置文件:
  cd /var/named/
  cp -p named.localhost benet.com.zone
  cp -p named.localhost baidu.com.zone
  vim bent.com.zone
  修改内容如下:
  $TTL 1D
  @       IN SOA@ admin. (
  0       ; serial
  1D      ; refresh
  1H      ; retry
  1W      ; expire
  3H )    ; minimum
  NS      @
  A       127.0.0.1
  www INA       192.168.100.20
  修改第二个域名的区域数据文件:
  vim baidu.com.zone
  $TTL 1D
  @       IN SOA@ admin. (
  0       ; serial
  1D      ; refresh
  1H      ; retry
  1W      ; expire
  3H )    ; minimum
  NS      @
  A       127.0.0.1
  www INA       192.168.100.20
  重启服务,开始验证:
  service httpd restart
  service named restart


相同IP不同端口访问:
  在vim /etc/httpd/conf/httpd.conf
  添加如内容:
  Listen 192.168.100.20:8080
  在vim /etc/httpd/conf.d/host.conf 配置文件添加数据:
  添加内容如下:
  NameVirtualHost 192.168.100.20:8080
  
  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot /opt/accp01
  ServerNamewww.accp.com
  ErrorLog logs/accp.com-error_log
  CustomLog logs/accp.com-access_log common
  
  建立站点,并且写入数据
  mkdir /opt/accp
  echo "this is accp" > /opt/accp/index.html
  重启服务,验证:

  实验成功!
  总结:
  httpd 服务器的主配置文件是 httpd.conf,通过Include配置项可以加载其他配置文件
  httpd 服务支持虚拟web主机(搭建多网站),可以基于域名、端口来访问

页: [1]
查看完整版本: httpd搭建虚拟主机与Apache网站基础服务