配置环境:

linux版本:Centos6.4

httpd版本:

[root@centos64Study init.d]# pwd
/etc/init.d
[root@centos64Study init.d]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Oct 19 2017 16:43:38

1,安装httpd服务

yum install httpd -y

2,关闭selinux和防火墙

临时设置selinux为permissive( disabled )状态

[root@centos64Study ~]# getenforce

Enforcing

[root@centos64Study ~]# setenforce 0

[root@centos64Study ~]# getenforce

Permissive

永久修改方法:

[root@centos64Study ~]# vim /etc/sysconfig/selinux

SELINUX=permissive

3,关闭防火墙

service iptables stop

第一种,基于多ip访问的配置:

1,先把httpd.conf备份一下,以防出错,可以恢复

httpd.conf的文件路径( /etc/httpd/conf )

[root@centos64Study conf]# ls
httpd.conf httpd.conf.bak magic

2,如果需要启用虚拟主机配置,在文件httpd.conf中,先把中心主机的配置注释

#DocumentRoot "/var/www/html"

3,在httpd.conf中,会默认包conf.d目录中的所有 以.conf结尾的配置文件

Include conf.d/*.conf

所以,把虚拟主机的配置文件独立出来放在conf.d目录下

[root@centos64Study httpd]# ls
conf conf.d logs modules run
[root@centos64Study httpd]# pwd
/etc/httpd

[root@centos64Study httpd]# cd conf.d
[root@centos64Study conf.d]# pwd
/etc/httpd/conf.d
[root@centos64Study conf.d]# ls
README VirtualHost.conf welcome.conf

 

VirtualHost.conf 配置文件内容:

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.com
DocumentRoot "/www/7mxt.com"
</VirtualHost>

<VirtualHost 192.168.1.2:80>
ServerName www.7mxt.net
DocumentRoot "/www/7mxt.net"
</VirtualHost>

我的主机ip是192.168.1.8,添加另一个ip:

ip addr add 192.168.1.2/24 dev eth0

在对应的目录建立文件:

[root@centos64Study www]# tree
.
├── 7mxt.com
│   └── index.html
└── 7mxt.net
  └── index.html

重启服务: service httpd restart,在浏览器中分别用这两个ip访问,就能看到对应的页面

第二种,基于多端口访问的配置:

1,在VirtualHost.conf中增加一项配置:

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.com
DocumentRoot "/www/7mxt.com"
</VirtualHost>
<VirtualHost 192.168.1.2:80>
ServerName www.7mxt.net
DocumentRoot "/www/7mxt.net"
</VirtualHost>
<VirtualHost 192.168.1.2:8080>
ServerName www.abc.net
DocumentRoot "/www/abc.net"
</VirtualHost>

2,在httpd.conf监听8080端口

Listen 80
Listen 8080

3,/www建立对应的目录和文件

重启服务: service httpd restart,在浏览器中用http://192.168.1.2:8080/  就能访问到abc.net目录下面的文件index.html内容

[root@centos64Study www]# tree
.
├── 7mxt.com
│   └── index.html
├── 7mxt.net
│   └── index.html
└── abc.net
  └── index.html

第三种:基于域名的主机配置

1,NameVirtualHost:指定192.168.1.8:80这个ip地址使用域名解释

NameVirtualHost 192.168.1.8:80

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.com
DocumentRoot "/www/7mxt.com"
</VirtualHost>

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.org
DocumentRoot "/www/7mxt.org"
</VirtualHost>

<VirtualHost 192.168.1.2:80>
ServerName www.7mxt.net
DocumentRoot "/www/7mxt.net"
</VirtualHost>

<VirtualHost 192.168.1.2:8080>
ServerName www.abc.net
DocumentRoot "/www/abc.net"
</VirtualHost>

2,在对应的目录下建立文件

[root@centos64Study www]# tree
.
├── 7mxt.com
│   └── index.html
├── 7mxt.net
│   └── index.html
├── 7mxt.org
│   └── index.html
└── abc.net
  └── index.html

3,在windows host文件中增加主机映射配置

【C:\Windows\System32\drivers\etc】

192.168.1.8 www.7mxt.com
192.168.1.8 www.7mxt.org

4,重启服务: service httpd restart,分别用域名www.7mxt.com, www.7mxt.org就能访问到对应的文件内容

使用ip: 192.168.1.8返回的是第一个虚拟主机的配置,即:www.7mxt.com对应目录下面的内容

----------------------------------------------------------------------------------------------------------------------------------------------------

更详细的配置信息:

NameVirtualHost 192.168.1.8:80

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.com
DocumentRoot "/www/7mxt.com"
CustomLog /var/log/httpd/7mxt.com/access_log combined
<Directory "/www/7mxt.com">
AllowOverride AuthConfig
AuthType Basic
AuthName "Restricted Site..."
AuthUserFile "/etc/httpd/conf/htpasswd"
AuthGroupFile "/etc/httpd/conf/htgroup"
#Require user tom
Require group myusers
#Require valid-user
</Directory>
</VirtualHost>

<VirtualHost 192.168.1.8:80>
ServerName www.7mxt.org
DocumentRoot "/www/7mxt.org"
CustomLog /var/log/httpd/7mxt.org/access_log combined
</VirtualHost>

<VirtualHost 192.168.1.2:80>
ServerName www.7mxt.net
DocumentRoot "/www/7mxt.net"

<VirtualHost 192.168.1.2:80>
ServerName www.7mxt.net
DocumentRoot "/www/7mxt.net"
CustomLog /var/log/httpd/7mxt.net/access_log combined
<Directory "/www/7mxt.net">
Options none
AllowOverride none
Order deny,allow
Deny from 192.168.1.100
</Directory>
</VirtualHost>

<VirtualHost 192.168.1.2:8080>
ServerName www.abc.net
DocumentRoot "/www/abc.net"
</VirtualHost>

1,www.7mxt.com这个域名下面的Directory配置为   需要用户验证,支持3种情况的配置:

。只允许某个用户访问

。只允许文件中的用户

。只允许组文件中定义的用户

AllowOverride AuthConfig:  需要授权
AuthType Basic:基本授权
AuthName "Restricted Site..." :授权说明
AuthUserFile "/etc/httpd/conf/htpasswd"   :  需要授权的用户 保存在这个文件中,这个文件中的内容用

htpasswd这个命令创建,第一次带参数c表示创建,第二次不需要带c

htpasswd -c -m /etc/httpd/conf/htpasswd ghost
htpasswd -m /etc/httpd/conf/htpasswd ghostwu

AuthGroupFile "/etc/httpd/conf/htgroup": 需要授权的用户保存在这个文件中

#Require user ghost:只允许ghost这个用户登录

Require group myusers: 只允许myusers这个组中的用户登录
#Require valid-user:只允许htpasswd这个文件中定义的用户登录

[root@centos64Study conf]# ls
htgroup htpasswd httpd.conf httpd.conf.bak magic
[root@centos64Study conf]# cat htgroup
myusers: ghost ghostwu
[root@centos64Study conf]# cat htpasswd
ghost:$apr1$IeKI2YLO$RX8EjYBoHbMzCkHocFK0l/
ghostwu:$apr1$LoA/O0i0$0/EJu3xTXo2yCMimMUAcQ.

2,CustomLog /var/log/httpd/7mxt.org/access_log combined

自定义访问日志的文件路径,【注意:需要在/var/log/httpd下面存在7mxt.org这个目录】

3,

<Directory "/www/7mxt.net">
Options none
AllowOverride none
Order deny,allow
Deny from 192.168.1.100
</Directory>

这个配置针对的是7mxt.net,禁止192.168.1.100访问7mxt.net,其他的ip都允许

linux apache虚拟主机配置(基于ip,端口,域名)的更多相关文章

  1. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  2. Apache虚拟主机配置(多个域名访问多个目录)(转)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  3. Linux Apache虚拟主机配置方法

    apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ...

  4. apache 虚拟主机配置(根据不同的域名映射到不同网站)

    最近弄了台香港服务器做测试,Web服务器软件用的是Apache2.2,机器只有一台,ip只有一个,但是想测试几个站点,于是尝试了下Apache的虚拟主机配置.之前已经写过一篇博文了——<Apac ...

  5. Apache虚拟主机配置,实现多域名访问本地项目PHP空间,以及配置403Forbidden等错误的解决办法

    第一步: apache主配置文件修改: 用文本编辑器打开apache的conf目录下 httpd.conf 将下面以下代码取消注释 LoadModule rewrite_module  modules ...

  6. Apache 虚拟主机配置

    开放虚拟主机文件 修改主配置文件 解开注释,使用虚拟主机配置文件. vim /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-vh ...

  7. Linux下Apache虚拟主机配置

    Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...

  8. Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...

  9. apache虚拟主机配置及解析

    Apache虚拟主机配置及解析 1.修改httpd-vhosts.conf 打开apache(Apache24)/conf/extra/httpd-vhosts.conf文件,添加虚拟主机信息,可以这 ...

随机推荐

  1. Codeforces 869C The Intriguing Obsession

    题意:有三种颜色的岛屿各a,b,c座,你可以在上面建桥.联通的点必须满足以下条件:1.颜色不同.2.颜色相同且联通的两个点之间的最短路径为3 其实之用考虑两种颜色的即可,状态转移方程也不难推出:F[i ...

  2. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  3. UGUI表情系统&超链接解决方案

    最近帮一个同事解决图文混排的问题,发现了一种犀利的UGUI表情系统的解决方案 https://blog.uwa4d.com/archives/Sparkle_UGUI.html 使用重新生成UGUI文 ...

  4. 中颖内带LED资源驱动代码

    //上一篇写了LCD驱动,本篇写下LED驱动 //DISPCON 最高位为1时, 选择LED驱动,LCD驱动无效 最高位为0时, 选择LCD驱动.LED驱动无效 void Sh79fLed_Init( ...

  5. SAP ABAP编程 Table Control动态隐藏列

    在SAP DIALOG设计中,有时候须要动态的隐藏某些列,以下是方法. ***数据定义 CONTROLS: table_control TYPE TABLEVIEW USING SCREEN 0100 ...

  6. Java面向对象的特征

    面向对象的特征 封装.继承.多态.(有人问第四个特征,再加抽象) 封装 体现形式(2种) 函数---提高代码的复用性 属性的私有化---将属性设置为私有的,通过提供对外的访问方法来间接操作对应属性,可 ...

  7. 个人微信接入图灵机器人(基于Python)

    编程语言:Python2.7 1.在图灵机器人官网(http://www.tuling123.com)注册账号, 创建机器人, 如果只是学习的话,可以使用2免费版 , 一个账号最多可以创建5个机器人 ...

  8. MVC+EF 入门教程(二)

    一.前沿 为了使以后项目分开,所以我会添加3个类库.用于存储 实体.数据库迁移.服务.这种思路是源于我使用的一个框架 ABP.有兴趣的您,可以去研究和使用这个框架. 二.修改本地连接 在项目中,找到  ...

  9. CentOS openssh升级至7.4版本

    1.原环境: cat /etc/issue CentOS release 6.5 (Final) ssh -V OpenSSH_7.3p1, OpenSSL 1.0.1e-fips 11 Feb 20 ...

  10. IntelliJ IDEA 左侧列表设置忽略文件格式

    什么问题 idea 中设置忽略文件 Unity开发过程中使用Lua做逻辑开发 Unity会自动生成xx.meta文件 这种文件再使用Idea开发过程中没有用处 显示文件列表中会看着比较乱 如何设置 F ...