一.apache支持的语言
html语言
php语言
1.访问文件index.php
cd /var/www/html/
vim index.php
<?php
phpinfo();
?>
2.安装php
yum install php -y
cd /etc/httpd/conf.d
测试:172.25.254.147/index.php
(三)CGI
CGI(通用网关接口是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。
功能:绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。
1.cgi发布文件
mkdir /var/www/html/cgi
vim /var/www/html/cgi/index.cgi ##新建cgi默认发布文件
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print 'date' ;
2.给cgi文件可执行的权限
chmod +x /var/www/html/cgi/index.cgi
此时测试
172.25.254.147/cgi/index.cgi
3.修改安全上下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' ##修改安全上下文,这是个执行的文件
restorecon -RvvF /var/www/html/cgi ##重新读取文件/var/www/html/cgi
4.修改主配置文件
cd /etc/httpd/conf.d/
vim a_defautl.conf
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory “/var/www/html“>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
systemctl restart httpd
测试
172.25.254.147/cgi/index.cgi
二.HTTPS
apache的加密访问
1.安装软件
yum install mod_ssl -y
yum install crypto-utils.x86_64 -y
2.生成加密文件
cd /etc/httpd/conf.d
genkey www.westos.com
3.
vim /etc/httpd/conf.d/ssl.conf
101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
108 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
systemctl restart httpd
测试:https://172.25.254.147
设定https虚拟主机并设定网页重写
cd /var/www/westos.com/
mkdir login
mkdir login/html
vim login/html/index.html
<h1>login</h1>
cd /etc/httpd/conf.d/
cp news.conf login.conf
vim login.conf
<VirtualHost *:80>
ServerName login.westos.com
DocumentRoot /var/www/westos.com/login/html
CustomLog logs/login.log combined
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
Require all granted
</Directory>
systemctl restart httpd
检测:
真机vim /etc/hosts添加login.westos.com
login.westos.com
vim login.conf
<VirtualHost *:443>
SSLEngine on
ServerName login.westos.com
DocumentRoot /var/www/westos.com/login/html
CustomLog logs/login.log combined
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
Require all granted
</Directory>
<VirtualHost *:80>
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
systemctl restart httpd.service
注:
^(/.*)$ ##客户在浏览器地址栏中输入的所有字符
https:// ##强制客户加密访问
%{HTTP_HOST} ##客户请求主机
$1 ##1标示(/.∗)
[redirect=301] ##临时重写 302永久转换
测试 login.westos.com (默认是80端口)------>自动跳转https:login.westos.com(跳转到443端口)