环境:                                                      ↗  atl.example.com  (192.168.1.101)

↗ www.example.com  (192.168.1.101)

↗system1.example.com (192.168.1.101)

centos7  (192.168.1.109) dns 服务器      →system2.example.com(192.168.1.105)

↘classroom.example.com(192.168.1.109)

Apache为server端 ->   rhel7  server ->(192.168.1.101)(system1.example.com)已设置192.168.1.109为dns解析

其他主机为客户端  ->  rhel7   clinet  ->(192.168.1.105)(system2.example.com)已设置192.168.1.109为dns解析

1.安装Apache

yum install -y  httpd

2.配置防火墙80/tcp对全网开放:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload

或者针对某个ip域开放:firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.0/24 service name=http  accept'

3.设置开机自启与重新启动:

systemctl  enable httpd && systemctl restart httpd

4.设置system1.example.com站点

echo 'system1.example.com' > /var/www/html/index.html

执行systemctl restart httpd   然后再浏览器输入 http://system1.example.com

5.配置虚拟主机www.example.com站点

mkdir /var/www/virtual

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/

vim /etc/httpd/conf.d/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"
ServerName www.example.com
</VirtualHost>

:x    保存退出

执行systemctl restart httpd   然后再浏览器输入http://www.example.com

6.www.example.com网站目录访问 域 和 用户 控制       注意!红色字体为 域 控制语句

域访问控制

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"

ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted   #允许所有主机访问
Require local            #只允许本地主机访问
</RequireAll>
</Directory>
</VirtualHost>  #
所以这个配置只允许本地主机访问dwc

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #允许所有主机访问
Require  ip 172.25.0.0/24       #允许172.25.0.0/24这个主机访问   <<--填 网段 或者 ip
</RequireAll>
</Directory>
</VirtualHost>  #所以这个配置只允许172.25.0.0/24这个域的主机访问dwc

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #允许所有主机访问
Require   not ip 172.25.0.0/24       #拒绝172.25.0.0/24这个域的主机访问      <<--填 网段 或者 i
</RequireAll>
</Directory>
</VirtualHost>  #所以这个配置只拒绝172.25.0.0/24这个域的主机访问dwc

用户的访问控制

首先建立Apache用户口令文件:htpasswd -c /etc/httpd/passwd user1

<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName system1.example.com
<Directory /var/www/html/test>
AuthType Basic
AuthName "***welcome! to ^_^ web-login!***"   #web界面欢迎条文
AuthUserFile /etc/httpd/passwd                           #用户口令文件存放路径                     
Require valid-user
</Directory>
</VirtualHost> #此设置只允user1这个用户访问test页面

基于ssl(https)的虚拟主机设置

首先 yum install  -y mod_ssl

然后把crt和key文件放到对应目录

<VirtualHost *:443>  #!注意侦听443端口
DocumentRoot "/var/www/html"
ServerName system1.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt
</VirtualHost>

动态网站非标准端口站点http://alt.example.com:8999

首先安装动态网站插件 yum install -y mod_wsgi

listen 8909  注意侦听8999端口

<VirtualHost *:8909>注意侦听8999端口
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi   #wsgi脚本文件目录
ServerName alt.example.com
</VirtualHost>

然后防火墙打开8999端口:

firewall-cmd --permanent --add-port=8999/tcp也可以富规则

selinux也放行8999端口:

semanage port -a -t http_port_t -p tcp 8999

最后重启服务 systemctl restart httpd

浏览器访问 http://alt.example.com:8999

wsgi+https网站https://alt.example.com

<VirtualHost *:443>
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi    <----wsgi配置
ServerName alt.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key   <---https配置
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt
</VirtualHost>

14.Apache配置的更多相关文章

  1. Windows上为Apache配置HTTPS

    Windows上为Apache配置HTTPS   转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html   1. 安装OpenSSL: Windo ...

  2. Apache配置tomcat集群

     APACHE 2.2.9+TOMCAT6.0配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1. Apache 做为 HttpSe ...

  3. [Linux]Apache配置虚拟主机

    Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类:   基于名称的虚拟主机 (每个 IP 多个站点) 基于 IP 的虚拟主机 (每个 IP 一个站点) 基于名称的虚拟主机:  www.2 ...

  4. Apache——配置与应用

    Apache配置与应用 1.概述 2.httpd服务支持的虚拟主机类型 3.构建虚拟Web主机 4.构建Web虚拟目录与用户授权限制 5.日志分割 6.AWStats分析系统 1.概述: 虚拟web主 ...

  5. apache配置 php中没有php5apache2_4.dll

    apache配置 php中没有php5apache2_4.dll 今天,在win7系统下安装Apache+PHP+MySQL时,终于体会到了版本多也不一定是好事,各种不兼容,主要是因为动态包的多少问题 ...

  6. Apache 配置多站点访问「为项目分配二级域名」

    一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...

  7. 【转】Apache 配置虚拟主机三种方式

    Apache 配置虚拟主机三种方式  原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...

  8. Tomcat:利用Apache配置反向代理、负载均衡

    本篇主要介绍apache配置反向代理,介绍了两种情况:第一种是,只使用apache配置反向代理:第二种是,apache与应用服务器(tomcat)结合,配置反向代理,同时了配置了负载均衡. 准备工作 ...

  9. Apache 配置多端口

    Apache 配置多端口,主要是以下步骤 1. 如果电脑是64位的,官网上下载WampServe,装的过程中如果出现msvcp110.dll丢失的话,解决办法如下: 1.1 首先是打开浏览器,在浏览器 ...

随机推荐

  1. 使用SQL*PLUS,构建完美excel或html输出

    通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求.本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.首先创建两个脚本:1.main.sql用以设置环境,调用具体 ...

  2. CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

    因为项目开发需要要在本地组建一个Hadoop/Spark集群,除了Hadoop/Spark还要同时安装多个相关的组件,如果一个个组件安装配置,对于一个由多台服务器组成的集群来说,工作量是巨大的. 所以 ...

  3. 我的Blog开张啦,欢迎大家赏脸

        Blog开张,以后会慢慢更新工作.学习遇到的问题,总结一些经验,观众老爷们多多支持!!!  ^_^

  4. LeetCode15 3Sum

    题意: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...

  5. python编码encode和decode

    计算机里面,编码方法有很多种,英文的一般用ascii,而中文有unicode,utf-8,gbk,utf-16等等. unicode是 utf-8,gbk,utf-16这些的父编码,这些子编码都能转换 ...

  6. java操作spark1.2.0

    虽然推荐的是scala,但是还是试一下 package org.admln.java7OperateSpark; import java.util.Arrays; import java.util.L ...

  7. 关于yarn的spark配置属性

    spark1.2.0 These are configs that are specific to Spark on YARN Property Name Default Meaning  spark ...

  8. JS 解析Xml

    loadXML = function (xmlString) { var xmlDoc = null; //判断浏览器的类型 //支持IE浏览器 if (!window.DOMParser & ...

  9. edittext实现显示千分位格式

    在edittext中你在输入1123456789过程中自动显示为1,123,456,789这种千分位格式的.那么我们该怎么做呢? 查阅Android edittext api发现它有这样一个方法add ...

  10. uiview 的setAnimationTransition : forView 方法实现翻页效果

    [UIView beginAnimations:nil context:nil]; [UIView setAnimationTransition:UIViewAnimationTransitionCu ...