一、Apache服务
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,用来提供http://(超文本传输协议)
二、apache的安装部署
yum install httpd -y
安装apache软件
yum install httpd-manual
安装apache手册
systemctl start httpd
启动http服务
systemctl enable httpd
设置为开机自启
firewall-cmd --permanent --add-service=http
永久允许http
firewall-cmd --reload
火墙重新加载策略
firewall-cmd --list-all
列出火墙信息
测试: http://172.25.254.109 显示apache主页
http://172.25.254.109/index.html 显示编辑的主页
三、apache的基础信息
主配置目录:/etc/httpd/conf
主配置文件: /etc/httpd/conf/httpd.conf
子配置目录: /etc/httpd/conf.d/
子配置文件: /etc/httpd/conf.d/*.conf
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口: 80
默认安全上下文:httpd_sys_content_t
程序开启默认用户:apache
apache日志: /etc/httpd/logs/*
四、修改apache配置信息
修改默认端口
vim/etc/httpd/conf/httpd.conf
43行 Listen 8080
firewall-cmd --permanent --add-part=8080/tcp
firewall-cmd --reload
修改默认发布文件
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件,这个文件可以指定多个,有访问顺序
vim /etc/httpd/conf/httpd.conf
164行 DirectoryIndex login.html
修改默认发布目录
120行DocumentRoot "/westos/html"
<Directory "/westos/html">
Require all granted
</Directory>
五、apache内部的控制访问
针对与主机的访问控制
<Directory "/var/www/html/admin">
Order deny,allow 列表读取顺序,后读取的内容会覆盖先读取的部分
Allow from 172.25.254.9
Deny from all
<Directory>
用户方式的控制访问
htpasswd -cm /etc/httpd/userpass admin
第一次需要c创建
htpasswd -m /etc/httpd/userpass ftf
第二次不需要,如果c会覆盖
<Directory "/var/www/html/admin">
AuthUserFile /etc/httpd/userpass 指定列表位置
AuthName "please input your name and passwd hahahahhahaha"
AuthType basic 基本密码验证
#Require user admin 只允许列表中的admin用户访问
Require(成功允许,失败拒绝) valid-user 允许列表中的所有用户访问
<Directory>
六、apache虚拟主机的设置
vim /etc/hosts
修改本地域名解析
172.25.254.109 www.ftf.com news.ftf.com music.ftf.com
cd /etc/httpd/conf/httpd.conf
vim a_default.conf
编辑默认配置文件(不要有数字)
<VirtualHost _default_:80>
DocumentRoot /var/www/html 默认解析地址
CustomLog logs/default.log combined 混合日志方式
</VirtualHost>
mkdir /news.ftf.com/html 虚拟主机目录
vim /news.ftf.com/html/index.html 虚拟主机(news)默认界面
vim news.conf 编辑虚拟主机(news)配置文件
<VirtualHost *:80>
ServerName news.ftf.com 服务名
DocumentRoot /news.ftf.com/html 虚拟主机(news)解析地址
CustomLog logs/news.log combined 混合日志方式(combined:警告 报错 登录 帮助)
</VirtualHost>
<Directory "/news.ftf.com/html">
Require all granted
</Directory>
七、php和cgi的发布
php环境搭建
yum install php -y
安装php服务
vim /var/www/html/index.php
编辑php脚本
<?php
phpinfo();
?>
cgi环境搭建
mkdir /var/www/html/cgi
创建cgi目录
vim /etc/httpd/cong.d/a_default.conf
编辑默认配置文件
<Directory /var/www/html/cgi>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
vim /var/www/html/cgi/index.cgi
创建cgi脚本
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello World.";
八、https的设定
yum install mod_ssl
安装服务
systemctl restart httpd
重启http服务
firewall-cmd --permanent --add-service=https
允许火墙放行
firewall-cmd --reload
重载火墙
yum insatll crypto-utils-2.4.1-42.e17.x86_64
安装生成钥匙的软件
genkey www.ftf.com
启用钥匙生成
vim /etc/httpd/conf.d/ssl.conf
100行 /etc/pki/tls/certs/www.ftf.com.crt
107行 /etc/pki/tls/private/www.ftf.com.key
systemctl restart httpd
清空浏览器缓存
删除https
点击地球加载
九、加密虚拟主机
vim /etc/httpd/conf.d/login.conf
编辑虚拟主机配置文件
<VirtualHost *:443>
https采用443端口
ServerName login.ftf.com
DocumentRoot /var/www/html/virtual/login.ftf.com/html
CustomLog "logs/login.logs" combined
SSLEngine on
打开加密功能
SSLCertificateFile /etc/pki/tls/certs/www.ftf.com.crt
启用genkey生成的锁
SSLCertificateKeyFile /etc/pki/tls/private/www.ftf.com.key
启动genkey生成的钥匙
</VirtualHost>
<Directory "/var/www/html/virtual/login.ftf.com/html">
赋予权限
Require all granted
所有人Require
</Directory>
<VirtualHost *:80>
默认进入80端口
ServerName login.ftf.com
RewriteEngine On
打开重新转发命令
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
重写url地址
</VirtualHost>
^(/.*)
url地址https://强制客户加密访问
1 表示^(/.*)$值
[redirect=301] 临时重写301 永久重写302
mkdir /var/www/html/virtual/login.ftf.com/html
vim /var/www/html/virtual/login.ftf.com/html/index.html