展开
当前位置:
首页 > 帮助文档 > Linux运维 > LAMP虚拟主机配置(基于域名的虚拟主机)

LAMP虚拟主机配置(基于域名的虚拟主机)

虚拟主机:

虚拟主机分为三种模式,基于域名、基于IP地址、基于端口号常用的为基于域名和IP地址。

虚拟目录:

通常用来管理员存放一些文件,或者网页提供文件下载。

虚拟目录配置:

修改配置文件,在配置文件最下方加入如下内容:

[root@CentOS-3 ~]# vim /usr/local/apache/conf/httpd.conf

Alias /test "/yum"        //定义虚拟目录“/test”,物理路径为“/yum”!

<Directory "/yum">        //定义目录访问权限

Options Indexes MultiViews FollowSymLinks      //固定格式

AllowOverride None             //固定格式

Order allow,deny    //匹配顺序为先允许,后拒绝

Allow from all        //设置允许所有人访问

Require all granted    //对这个目录给予授权

</Directory>

LAMP虚拟主机配置(基于域名的虚拟主机)

重启apache服务

[root@CentOS-3 ~]# service httpd restart

用真机访问验证,访问的时候在地址末尾加上自己定义的虚拟目录名称

LAMP虚拟主机配置(基于域名的虚拟主机)

LAMP虚拟主机配置(基于域名的虚拟主机)

配置授权访问虚拟目录:

授权访问就是将虚拟目录开启身份验证

将上面的配置做如下修改:

Alias /test "/yum"

<Directory "/yum">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

AuthName "test" //定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示

authtype basic //设置认证的类型,basic为基本的认证

authuserfile /usr/local/apache/user //设置用于保存用户账号、密码的认证文件路径

require valid-user //要求只有认证文件中的合法用户才能访问。valid-user表示所有合法用户

</Directory>

LAMP虚拟主机配置(基于域名的虚拟主机)

使用htpasswd创建认证文件

[root@CentOS-3 ~]# htpasswd -c /usr/local/apache/user tom

//第一次创建需要结合“-c”选项创建user文件,用户名为tom

New password:        //登录密码

Re-type new password:

Adding password for user tom

[root@CentOS-3 ~]#

使用cat命令查看一下认证文件,发现自动就已经对密码进行了加密

[root@CentOS-3 ~]# cat /usr/local/apache/user

tom:$apr1$ie7HCcn9$pOtEPa3Hip00xB8IyFnWp0

[root@CentOS-3 ~]#


重启apache服务

[root@CentOS-3 ~]# service httpd restart

访问验证

LAMP虚拟主机配置(基于域名的虚拟主机)

LAMP虚拟主机配置(基于域名的虚拟主机)

虚拟主机配置:

基于端口

在主配置文件的最下方插入如下内容关联一个新的配置文件:

[root@CentOS-3 ~]# vim /usr/local/apache/conf/httpd.conf

LAMP虚拟主机配置(基于域名的虚拟主机)

//子配置文件的路径为Apache安装目录下的“conf.d”目录下的任何以“.conf”结尾的文件

[root@CentOS-3 ~]# mkdir /web1      //创建第一个网站目录

[root@CentOS-3 ~]# mkdir /web2        //创建第二个网站目录

[root@CentOS-3 ~]# echo "<h1>This is test111</h1>" > /web1/index.html  //写测试页

[root@CentOS-3 ~]# echo "<h1>This is test222</h1>" > /web2/index.html

[root@CentOS-3 ~]# mkdir /usr/local/apache/conf.d     //创建子配置文件目录

配置子配置文件

[root@CentOS-3 ~]# vim /usr/local/apache/conf.d/vhost.conf

Listen 81    //要监听的端口号

listen 82

<Directory "/web1">        //目录的访问权限设置

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.250:81>     //指定虚拟主机的IP地址和端口号

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web1           //指定web文件目录

ServerName 192.168.10.250        //域名

ErrorLog logs/web1.com-error_log       //错误日志

CustomLog logs/web1.com-access_log common  //访问日志

</VirtualHost>

<Directory "/web2">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.250:82>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web2

ServerName 192.168.10.250

ErrorLog logs/web2.com-error_log

CustomLog logs/web2.com-access_log common

</VirtualHost>

重启服务

[root@CentOS-3 ~]# service httpd restart

访问测试

LAMP虚拟主机配置(基于域名的虚拟主机)
LAMP虚拟主机配置(基于域名的虚拟主机)

基于域名

与上面的配置基本相同只需要将ServerName的IP地址换成域名既可:

[root@CentOS-3 ~]# vim /usr/local/apache/conf.d/vhost.conf

<Directory "/web1">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.250>         //这个地方不要在给端口号了

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web1

ServerName www.web1.com           //输入域名

ErrorLog logs/web1.com-error_log

CustomLog logs/web1.com-access_log common

</VirtualHost>

<Directory "/web2">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.250>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web2

ServerName www.web2.com

ErrorLog logs/web2.com-error_log

CustomLog logs/web2.com-access_log common

</VirtualHost>

重启服务

[root@CentOS-3 ~]# service httpd restart

测试访问

由于没有搭建DNS服务器,所以修改hosts文件来实习域名解析:

C:\Windows\System32\drivers\etc         //hosts文件位置

LAMP虚拟主机配置(基于域名的虚拟主机)

将扩展修改为“.txt”

LAMP虚拟主机配置(基于域名的虚拟主机)

加入如下内容

LAMP虚拟主机配置(基于域名的虚拟主机)

修改完成后,将文件名还原即可访问

LAMP虚拟主机配置(基于域名的虚拟主机)

LAMP虚拟主机配置(基于域名的虚拟主机)

基于IP地址

添加一块网卡地址为192.168.10.100

修改配置文件

[root@CentOS-3 ~]# vim /usr/local/apache/conf.d/vhost.conf

<Directory "/web1">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.250>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web1

ServerName www.web1.com

ErrorLog logs/web1.com-error_log

CustomLog logs/web1.com-access_log common

</VirtualHost>

<Directory "/web2">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.10.100>     //只需要修改此处网卡IP地址即可

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /web2

ServerName www.web2.com

ErrorLog logs/web2.com-error_log

CustomLog logs/web2.com-access_log common

</VirtualHost>


重启服务

[root@CentOS-3 ~]# service httpd restart

访问验证

LAMP虚拟主机配置(基于域名的虚拟主机)

LAMP虚拟主机配置(基于域名的虚拟主机)

更多 linux运维教程 >> 阿里云代理网

阿里云代理网,享受阿里云代理价

LAMP虚拟主机配置(基于域名的虚拟主机):等您坐沙发呢!

发表评论

表情
还能输入210个字