Apache 企业中的web服务,用来提供http://(超文本传输协议)
1.安装apache
安装apache软件包
#yum install -y httpd httpd-manual
httpd-mannual #apache手册
启动apache服务
#systemctl start httpd ;systemctl enable httpd #开机自动启动服务
查看监听端口:
#ss -antlupe l grep httpd
可以看出监听端口为80
列出火墙信息 firewall-cmd --list-all
永久允许http firewall-cmd --permanent --add-service=http
火墙重新加载策略firewall-cmd --reload
测试 http://172.25.254.177
http://172.25.254.177/manual
/var/www/html #apache的/目录,默认发布目录
/var/www/html/index ##默认发布文件
vim /var/www/html/index.html
<h1> hello world </h1>
测试
2.apache的基础信息
#主配置目录 :/etc/http/conf
#主配置文件: /etc/http/conf/httpd.conf
#子配置目录:/etc/httpd/conf.d/
#子配置文件:/etc/httpd/conf.d/*.conf
#默认端口:80
#默认安全上下文:httpd_sys_content_t
#程序开启默认用户:apache
#apache日志:/etc/httpd/logs/*
*修改默认发布目录:
在apache的主配置文件修改 vim /etc/http/conf/httpd.conf,将原来的默认目录注释掉,修改默认目录为/westos/test,默认文件为index.html
修改完之后重启服务
在/westos/test/index.html 文件下写上 <h1> hello westos </h1>
测试 http://172.25.254.177
*修改默认发布文件,将原来的默认发布文件/var/www/html/index .html 改为var/www/html/westos
可以指定多个,有访问顺序
在默认发布文件写上 hello westos.123
重起服务
测试
*修改默认端口
将主配置文件下的默认端口改为8080
修改防火墙的信息
测试
3.apache内部的访问控制
1.针对主机的访问控制
禁止主机访问
只允许主机进行访问
2.用户方式的访问控制
htpasswd -cm /etc/httpd/userpass admin
htpasswd -m /etc/httpd/userpass tom
在主配置文件
只允许admin用户登录
tom用户不能登陆
4.多个地址访问
在主机/etc/hosts添加
在子配置目录里面建立
vim a_default.conf
vim music.conf
vim news.conf
<VirtualHost *:80>
ServerName music.westos.com ##服务的名字
DocumentRoot /var/www/virutal/music.westos.com/html ##服务访问的目录
CustomLog logs/music.log combined
</VirtualHost>
<Directory "/var/www/virutal/music.westos.com/html">
Require all granted ##允许所有人访问
</Directory>
mkdir /virutal/music.westos.com/html/index.html ##建立访问的目录
vim /var/www/virutal/music.westos.com/html/index.html ##编辑访问的文件内容
输入hello music.westos.com ## 文件内容
vim /var/www/virutal/news.westos.com/html/index.html
输入 hello news.westos.com
测试
php 语言支持
yum install php
vim index.php
<?php
phpinfo();
?>
•
•
CGI
通用网关接口 (CGI) 是网站上放置动态内容的最简单的方法。 CGI 脚本可用于许多目的 , 但是谨慎控制使用哪个 CGI 脚本以及允许谁添加和运行这些脚本十分重要。编写质量差的 CGI脚本可能为外部攻击者提供了破坏网站及其内容安全性的途径。因此 , 在 Web 服务器级别和 SELinux 策略级别 , 都存在用于限制 CGI 脚本使用的设置
自定义自签名证书
如果加密的通信非常重要 , 而经过验证的身份不重要 , 管理员可以通过生成 self-signed certificate 来避免与认证机构进行交互所带来的复杂性使用 genkey 实用程序 ( 通过 crypto-utils 软件包分发 ), 生成自签名证书及其关联的私钥。为了简化起见 ,genkey 将在
“正确”的位置 (/etc/pki/tls 目录 ) 创建证书及其关联的密钥。
相应地 , 必须以授权用户 (root) 身份运行该实用程序
更改火墙信息
yum install crypto-utils mod_ssl
genkey www.westos.com
安装证书及其私钥
•
/etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
设定https虚拟主机并设定网页重写
在子配置目录里面编辑
vim ssl.conf
^(/.*)$ ##客户端在浏览器地址栏中输入的所以字符
https:// ##强制客户加密访问
%{HTTP_HOST} #客户请求主机
$1 #"$1"表示^(/.*)$的值
[redirect=301] #临时重写 302 永久转换
测试