apache服务及其管理
一、关于 apache
Apache HTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中,它是企业常用的web服务,用于提供http://(超文本传输协议)
二、apache的安装部署
1、yum install httpd -y
yum install httpd-manual(手册)
[[email protected] html]# pwd
/var/www/html
[[email protected] html]# mv /usr/share/httpd/manual/ .
2、关闭防火墙,打开http服务并设置开机自启
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
3、测试 http://172.25.254.200
http:172.25.254.200/manual
三、 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的管理
1、修改默认端口
vim /etc/httpd/conf/httpd.conf
43 Linsten 8020 修改默认端口为8020
systemctl restart httpd
打开浏览器,测试http://172.25.254.200,会显示连接不上
http://172.25.254.200:8020 加上更改之后的8020端口连接成功
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问顺序
(1)首先进入/var/www/html
vim index.html
<h1>welcome</h1>
vim test.html
<h1>test'page</h1>
(2)编辑主配置文件,设置默认发布文件
164 DirectoryIndex index.html text.html 当index.html不存在时访问text.html
(3)效果:
默认文件index.html
rm -rf index.html 删除index.html后哦,默认发布文件变成了test.html
120 DocumentRoot "/www/html"
121 <Directory "/www">
Require all granted
123 </Directory>
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?' 添加安全上下文
restorecon -RvvF /www/ 刷新安全上下文
为了清楚地看到效果,建立目录mkdir /www/html -p
在该目录下编写文件 vim /www/html/index.html
测试172.25.254.200
4、apache的虚拟主机
mkdir /var/www/virtual/linux.westos.com/html/ -p
mkdir /var/www/virtual/java.westos.com/html/ -p
vim /var/www/virtual/linux.westos.com/html/index.html
<h1>linux.page</h1>
vim /var/www/virtual/java.westos.com/html/index.html
<h1>java.page</h1>
(1)vim /etc/httpd/conf.d/adefaukt.conf 默认访问目录
DocumentRoot "/var/www/html"
CustomLog "logs/www.westos.com.log" combined
</VirtualHost>
(2)vim /etc/httpd/conf.d/linux.conf
<VirtualHost *:80>
ServerName linux.westos.com 指定站点名称
DocumentRoot "/var/www/virtual/linux.westos.com/html/" 站点默认发布目录
CustomLog "logs.westos.com.logs" combined 站点日志combined标示四种日志类别
</VirtualHost>
<Directory "/var/www/virtnal/linux.westos.com/html">
require all granted
</Directory>
(3)vim /etc/httpd/conf.d/java.conf
<VirtualHost *:80>
ServerName java.westos.com
DocumentRoot "/var/www/virtual/java.westos.com/html/"
</VirtualHost>
<Directory "/var/www/virtual/java.westos.com/html/">
Require all granted
</Directory>
在测试主机中修改本机解析文件
vim /etc/hosts
172.25.254.200 linux.westos.com java.westos.com
打开火狐浏览器测试
5、 apache内部的访问控制
<Diretory “/var/www/html/test”>
Order allow deny --列表读取顺序,后读取的覆盖先读取的内容
Allow from all
Deny from 172.25.254.68
</Diretory>
测试:
2 用户方式的访问控制
htpasswd -cm /etc/httpd/userpass admin
htpasswd -m /etc/httpd/userpass admin1 添加新的认证用户(后面不用加c,-cm会把之前添加的覆盖掉)
vim /etc/httpd/conf.d/adefault.conf<Directory "/var/www/html/admin">
AuthUserFile /etc/httpd/userpass
AuthName "Please input your name and password"
AuthType basic
Require user admin 针对用户admin
#Require vaild-user 针对有效用户
测试:
6、 apache支持的语言
(1) html
(2) php
vim /var/www/html/index.php
<?php
phpinfo();
?>
yum install php -y
systemctl restart httpd
测试
172.25.254.100/index.php
(3)、 cgi
mkdir -p /var/www/html/cgi
修改该目录的安全上下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
restorecon -RvvF /var/www/html/cgi/
vim /var/www/html/cgi/index.cgi 写一个输出当前时间的cgi语言脚本
chmod +x /var/www/html/cgi/index.cgi 给赋予可执行权限
执行脚本看是否正常:
systemctl restart httpd.service
测试:
7、 https
让默认的http自动跳转到https中
默认端口:443
yum install crypto-utils.x86_64 -y
yum install mod_ssl.x86_64
获去证书和钥匙:
genkey www.westos.com
注意下一步需要打开server,随意敲一些东西,进度条才会动
查看证书:
https的转换:
302 永久转换
mkdir -p /var/www/virtual/login.westos.com/html
vim /var/www/virtual/login.westos.com/html/login.westos.com/index.html
vim /etc/httpd/conf.d/login.conf
测试:http://172.25.254.200自动跳转到https...
##end##