Apache的语言支持
Apache支持的语言有:
html (默认) php perl(cgi) asp jsp
-
html 默认语言,这里不再多说
-
php
vim /var/www/html/index.php ##编写php默认发布文件
dnf install php -y ##安装php
php安装成功后,此时查看子配置文件 /etc/httpd/conf.d/中会产生一个php.conf文件,故此时需要重启httpd服务
systemctl restart httpd ##重启httpd服务
现在测试!!!!
在浏览器中输入 ip/index.php 就可以看到php的默认测试页。
- cgi (通用网关接口)
mkdir /var/www/html/cgidir ##首先在默认发布目录下建立cgidir目录
cd /var/www/html/cgidir ##进入cgidir目录中
vim index.cgi
因为index.cgi是一个可执行脚本,所以需要给他执行权限:chmod +x index.cgi
尝试执行下index.cgi
接着编写目录的控制
vim /etc/httpd/conf.d/virtualHost.conf
因为修改过httpd子配置目录,所以得重启httpd服务
systemctl restart httpd
好啦!!现在开始测试!奥力给!!
在浏览器中输入:ip/cgidir/ 查看到结果:
【注】:若以上操作均无误,可出现500报错,访问不到结果,注意要访问的 /var/www/html/cgidir/index.cgi 文件的安全上下文应该和 //etc/httpd/conf.d 一致。
Apache的加密访问
Apache的加密访问意义:http://这样的协议数据传输是明文传输的,为了保证数据不被不法分子截获,所以要对设备里面的内容进行加密,从而来保证用户数据的安全。
首先安装mod_ssl
重启httpd服务
systemctl restart httpd
此时浏览器访问:https://主机ip ,出现:
接着点击Advanced 自动添加证书
此时就可以访问内容了
但这个证书没有经过CA机构认证,所以它是不安全的。证书内容都是默认的,如果想生成自己指定内容的证书,需执行以下操作:
openssl genrsa -out /etc/pki/tls/private/www.westos.com.key 2048
##生成2048字节长的私钥并保存在 -out 后面的文件中
查看私钥
openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out
/etc/pki/tls/certs/www.westos.com.csr
##根据私钥生成证书签名文件并保存在-out后的文件中
根据自己的情况填写内容:
查看证书签名文件
openssl x509 -req -days 365 -in /etc/pki/tls/www.westos.com.csr
-signkey /etc/pki/tls/private/www.westos.com.key -out
/etc/pki/tls/certs/www.westos.com.crt ##生成证书
【注】:
x509 是证书格式
req 代表请求
-day 365 代表签证的有效期为365天
-in 加载签证名称
现在编辑 /etc/httpd/conf.d/ssl.conf 文件,将里面的私钥和证书修改为我们刚生成的文件。
接着重启httpd服务
接着测试:在浏览器中输入:https://ip 并且添加证书,查看到的证书就是我们自己编辑的证书,但是因为没有CA允许,这个🔒还是不安全的
- 默认的网页登陆都是Apache登陆,即http://这样,但如果有一些页面是跟需要用户登陆,需要输入用户密码等,如果还是以Apache默认方式登陆,这是非常不安全的,为了保证用户安全,此时我们需要对这些网页进行控制,思路是默认方式登入,登陆过程中自动跳转为Apache加密方式登入即https://。具体操作如下:
mkdir -p /www/westos.com/login ##建立login目录
echo "login’s page " > /www/westos.com/login/index.login
##将login’s page写入到login目录下的index.login文件中
接着编写子配置文件里的内容
vim /etc/httpd/conf.d/virtualHost.conf
【注】:
RewriteEngine on 指当默认访问80端口时网页重写功能打开
RewriteRule 指自动跳转
^(/.*)$ 指客户地址栏中输入的地址
%{HTTP_HOST}指客户主机
$1 指RewriteRule后面跟的第一串字符的值
接着重启httpd服务
systemctl restart httpd
最后测试:在浏览器中输入login.westos.com,自动跳转到https://login.westos.com