环境:                                                      ↗  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. Android概览

    1.1         Android的开发缘由 早起的移动电话单单只具有手机的功能,并没有追求更多的追求功能和游戏娱乐.而在诺基亚提供的“贪吃蛇”游戏集成获得巨大成功的时候,手机制造商们才意识到手机 ...

  2. Django添加模型无法数据迁移解决方法

    用Django开发一款博客,按照教程一步步写下来,发现当我创建一个模型blogpost的时候,使用数据迁移 python manage.py migrate 提示 Operations to perf ...

  3. ScrollView嵌套recyclerView出现的滑动问题

    记得以前在解决scrollView与ListView嵌套问题时,那个时候是自定义了listView去测量listView高度,今天项目中刚 好碰到了要用recycerView,同样也是嵌套在scrol ...

  4. IOS 沙盒机制 && 关于document\library\tmp的灵活使用

    默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件Documents:苹果建议将程序中建立的或在程序中浏览到的文件数 ...

  5. [Adruino]XBEE 无线数据传输实际操作

    双轮小车制作实例代码 引用:http://hi.baidu.com/dlfla84/item/52b89017a6209c5cf1090e9b 双轮小车制作 2009-6-12 初步完成了串口数据缓存 ...

  6. Ubuntu14.04 搭建 node.js 环境(Binaries方式)

    从官网下载 http://nodejs.org/download/ Linux Binaries (.tar.gz)  下载下来的是node-v0.10.29-linux-x64.tar.gz文件 解 ...

  7. nginx 代理服务器 502错误

    在centos系统下,nginx做代理服务器总是出现502错误,百度各种搜索,出来的答案基本都是一样的,也不知道大家 从哪抄的,问题也没有解决,最后还是从谷歌找到的答案: 总归还是centos系统的问 ...

  8. hdu-5698 瞬间移动(数论+快速幂)

    题目链接: 瞬间移动 Problem Description   有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝 ...

  9. Angularjs 使用filter格式化输出href

    工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | ...

  10. C#之ArrayList

    using System.Collections; 新建: ArrayList list = new ArrayList(); 添加元素: int a = 1; list.Add(a); 遍历: fo ...