lamp架构(2)虚拟主机(用户认证,域名跳转)

接上文
-------------lamp架构安装-----------------

四、配置httpd支持php

1.httpd主配置文件

vim /usr/local/apache2.4/conf/httpd.conf

内容修改四个:
ServerName (把注释去掉)
Require all granted
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
测试配置是否正确

/usr/local/apache2.4/bin/apachectl -t

2.启动

先关闭httpd,以防出现错误

systemctl stop httpd

然后启动apache

/usr/local/apache2.4/bin/apachectl start

可以查看进程
在这里插入图片描述

3.配置php网页

进入htdocs目录

cd /usr/local/apache2.4/htdocs/
vim test.php

内容:

<?php
echo "php解析";
?>

测试,显示输出的内容证明成功
在这里插入图片描述

五、httpd的默认虚拟主机

1.修改配置文件

cd /usr/local/apache2.4/conf/
vim /usr/local/apache2.4/conf/httpd.conf

内容搜索 vhosts,去掉注释
在这里插入图片描述
编辑

cd extra/
cp httpd-vhosts.conf httpd-vhosts.conf-bak
vim httpd-vhosts.conf 

内容修改为:(两个主机,abc.com和111.com)
在这里插入图片描述

2.创建abc.com和111.com目录

vim abc.com/index.html

内容:abc.com

vim 111.com/index.html

内容:111.com

验证并重新加载

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

3.访问网页

curl -xlocalhost:80 www.abc.com

在这里插入图片描述

4.另一种编辑

cd 111.com
vim index.php

内容:

<?php
echo "111.com";
?>

也可以访问

在这里插入图片描述

六、用户认证

1.编辑vhost文件

vim /usr/local/apache2.4/conf/extra/http-vhosts.conf

内容(在主机内部添加):(把注释去掉)

<Directory /usr/local/apache2.4/docs/abc.com> //指定认证的目录
        AllowOverride AuthConfig //这个相当于打开认证的开关
        AuthName "abc.com user auth" //自定义认证的名字,作用不大
        AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过
        AuthUserFile /usr/local/apache2.4/docs/.htpasswd  //指定密码文件所在位置 
        require valid-user //指定需要认证的用户为全部可用用户
    </Directory>

验证并重新加载

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

2.创建用户密码

这是存放密码的目录
在这里插入图片描述
要一致

/usr/local/apache2.4/htpasswd -cm /usr/local/apache2.4/docs/.htpasswd tjd

3.配置电脑c盘的hosts文件

C:\Windows\System32\drivers\etc\hosts
复制到桌面添加:
10.30.59.225 abc.com www.abc.com
然后移动回去 覆盖原文件

4.访问网页

在这里插入图片描述

5.添加认证

在vhosts文件中添加

<FilesMatch admin.php>
        AllowOverride AuthConfig
        AuthName "abc.com user auth"
        AuthType Basic
        AuthUserFile /usr/local/apache2.4/docs/.htpasswd
        require valid-user
    </FilesMatch>

验证并重新加载

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

在abc.com/目录下添加admin.php文件
内容:

<?php
echo "abc.com --admin.php"
?>

访问网页需要用户名密码认证
在这里插入图片描述

七、域名跳转

换了新网站,域名过期,旧网站跳转到新网站

1. 配置主机文件vhosts

vim /usr/local/apache2.4/conf/extra/http-vhosts.conf

将用户认证部分注释
并添加模块:

<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
        RewriteEngine on  //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^www.111.com$  //定义rewrite的条件,主机名(域名)
不是www.111.com满足条件
        RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L] //定义rewrite规则,当满>足上面的条件时,这条规则才会执行
</IfModule>

2.配置跳转文件

先创建目录

mkdir -p /usr/local/apache2.4/docs/www.111.com
cd docs/www.111.com/

编辑index.html

vim index.html

内容: www.111.com

编辑123.php

vim 123.php

内容:

<?php
ehco "www.111.com/123.php"
?>

验证并重新加载

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

并且检测write模块

/usr/local/apache2.4/bin/apachectl -M |grep rewrite

!!(没有write模块需要在httpd.conf将注释去掉)

vim /usr/local/apache2.4/conf/httpd.conf

在这里插入图片描述

3.测试

访问不是111.com为开头 的网站会跳转到111.com在这里插入图片描述
后面跟着字符也会跳转到111.com在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值