linux apache虚拟主机配置(基于ip,端口,域名)
配置环境:
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,端口,域名)的更多相关文章
- Apache虚拟主机配置(多个域名访问多个目录)
Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...
- Apache虚拟主机配置(多个域名访问多个目录)(转)
Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...
- Linux Apache虚拟主机配置方法
apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ...
- apache 虚拟主机配置(根据不同的域名映射到不同网站)
最近弄了台香港服务器做测试,Web服务器软件用的是Apache2.2,机器只有一台,ip只有一个,但是想测试几个站点,于是尝试了下Apache的虚拟主机配置.之前已经写过一篇博文了——<Apac ...
- Apache虚拟主机配置,实现多域名访问本地项目PHP空间,以及配置403Forbidden等错误的解决办法
第一步: apache主配置文件修改: 用文本编辑器打开apache的conf目录下 httpd.conf 将下面以下代码取消注释 LoadModule rewrite_module modules ...
- Apache 虚拟主机配置
开放虚拟主机文件 修改主配置文件 解开注释,使用虚拟主机配置文件. vim /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-vh ...
- Linux下Apache虚拟主机配置
Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...
- Apache虚拟主机配置
在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...
- apache虚拟主机配置及解析
Apache虚拟主机配置及解析 1.修改httpd-vhosts.conf 打开apache(Apache24)/conf/extra/httpd-vhosts.conf文件,添加虚拟主机信息,可以这 ...
随机推荐
- 【NOIP2013提高组】火柴排队
https://www.luogu.org/problem/show?pid=1966 Σ(ai-bi)2=Σai2+Σbi2-2Σai*bi,要使Σ(ai-bi)2最小,则需2Σai*bi最大. 由 ...
- webStorm和Sublime使用列编辑命令
webStorm可以像Sublime一样使用列编辑,只是区别在于webStorm只可以编辑连续列表. 按住alt键鼠标选择一列,然后输入文字就会编辑多行,这个功能很赞,比较实用(按住ALT键选中之后, ...
- pthread线程属性介绍
线程属性 创建线程函数 int pthread_create (pthread_t* restrictthread, const pthread_attr_t* restrictattr,void* ...
- Spring学习笔记(三)之装配Bean
除了组件扫描与自动装配之外还有基于Java代码的装配与基于XML的装配. 有一些场景是我们不能用自动装配的,比如我们要给第三方库中的组件装配到我们的应用中,这时自动装配无效,因为自动装配只能扫描本应用 ...
- HBase:Shell
HBase shell commands As told in HBase introduction, HBase provides Extensible jruby-based (JIRB) she ...
- JavaScript基础5——关于ECMAscript的函数
ECMAScript的函数概述(一般定义到<head>标签之间) (1)定义函数,JavaScript一般有三种定义函数方法: *第一种是使用function语句定义函数(静态方法) fu ...
- Huffman 哈夫曼编码与译码的原理剖析及C++实现
原理 我们在信息存储时,希望以最少的空间去存储最大的数据,方便数据的传输,那么该怎样做呢? 我们想到将源信息转化为01序列存储,但是这样以来又有一个问题,就是子串匹配问题,我们为了解决这个方法,想到了 ...
- MySQL创建一个固定频率执行且自定义"开始"时间的定时任务event
drop event if exists evt_test;create event evt_teston schedule every 10 SECOND -- 每10秒执行一次(second可以 ...
- 如何用VSCode愉快的写Python
在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio C ...
- Java I/O---File类
1.File概述 File(文件)类可能有一定的误导性,它不仅仅指代的是文件.它既能代表一个特定的文件的名称,又能代表一个目录下的一组文件集的名称,这样就可以用集合List方法调用和遍历.实际上Fil ...