千家信息网

apache 虚拟主机

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,为什么需要用到虚拟主机:首先它是一个主机,他有操作系统我们还需要IP地址 可是对于那些小站点而讲,是及其浪费的。所以我们期望能够在一台主机上虚拟出多个主机,能够服务于多个不同的站点##########
千家信息网最后更新 2024年11月11日apache 虚拟主机

为什么需要用到虚拟主机:

首先它是一个主机,他有操作系统

我们还需要IP地址 可是对于那些小站点而讲,是及其浪费的。所以我们期望能够在一台主机上虚拟出多个主机,能够服务于多个不同的站点


###################################

apache :

中心主机:section2

虚拟主机:3

同一个IP 主机名不同

www.magedu.com

www.a.org

虚拟主机的定义:得先取消中心主机,即注释DocumentRoot

1、基于IP,Host的写法

HOST

IP1:80

IP2:80

2、基于端口:

HOST

IP:80

IP:8080

3、基于域名:

*:80

ServerName 不能相同

#####################################

具体实现方法:基于IP认证

1、取消中心主机 #DocumentRoot

2、cd /etc/httpd/conf.d;;vim virtual.conf

3、

ServerName hello.magedu.com

DocumentRoot "/www/magedu.com"


ServerName www.a.org

DocumentRoot "/www/a.org"

4、httpd -t检查语法是否有错误

5、mkdir -pv /www/{magedu.com,a.org}创建目录

6、cd magedu.com ;;vim index.html

7、编辑

MageEdu

magedu.com

8、ip addr add 192.168.9.248/16 dev eth0 为主机再加一个IP地址

9、ip addr show 显示出来

##################################

基于端口认证:

1、追加编辑conf.d下的配置文件;;;你会发现已经有了247这个IP 但是端口不同

ServerName www.b.net

DocumentRoot "/WWW/b.net"

2、编辑主配置文件/etc/httpd/conf/httpd.conf

Listen 80

Listen 8080

3、编辑/www/b.net/index.html

4、重启即可

#################################################################

基于名称的虚拟主机

0、vim /etc/httpd/conf/httpd.conf

1、NameVirtualHost *:80 解除注释 意思是80端口上的所有IP

3、vim /etc/httpd/conf/virtual

4、在第一行加 NameVirtualHost 192.168.9.248:80

ServerName www.a.org

DocumentRoot "/www/a.org"


ServerName www.b.gov

DocumentRoot "/www/b.gov"

############################################333333333

还可以自定义指定日志存放位置格式

ServerName www.b.gov

DocumentRoot "/www/b.gov"

CustomLog/var/httpd/magedu.com/access_log combined

只要有权限,重启后就会自动创建这个目录

#########################################################33

让a.org拒绝192.168.9.226这个地址访问

ServerName www.a.org

DocumentRoot "/www/a.org"


Options none

AllowOverride none

Order deny,allow

Deny from 192.168.9.226


保存 httpd -t 检查是否有语法错误 重启

#####################################################

让a.org需要输入用户名密码才能登陆

ServerName www.a.org

DocumentRoot "/www/a.org"

CustomLog /var/log/httpd/a.org/access_log combined


Options none

AllowOverride authconfig

AuthType basic

AuthName "Restrict area."

AuthUserFile "/etc/httpd/.htpasswd"

Required valid-user


保存;;httpd -t 检查是否有语法错误

htpasswd -c -m /etc/httpd/.htpasswd tom添加tom用户

再添加用户就把-c去掉

htpasswd -m /etc/httpd/.htpasswd hadoop

########################################################

如果访问一个压根不存在的一个虚拟主机:

ServerName _default_

DocumentRoot "/www/default"

mkdir /www/default

vim /www/default/index.html

Default

重启 注意在编辑的时候 default 尽量放在上边



0