Apache服务
一、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>
^(/.*)
[redirect=301] 临时重写301 永久重写302 mkdir /var/www/html/virtual/login.ftf.com/html
vim /var/www/html/virtual/login.ftf.com/html/index.html