接上文
-------------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