Linux下的apache服务

1.apache下的http服务基本知识

  • apache 是一款可以稳定同步阻塞的、提供http协议访问的软件动态资源服务器 ;与ngnix不同,ngnix无法处理动态页面
  • apache软件名称:httpd
  • http协议服务端口:80端口
  • https服务端口:443端口
  • 程序开启默认用户:apache
  • 主配置文件:/etc/httpd/conf/httpd.conf
  • 默认发布目录 :/var/www/html
  • 默认发布页面 :/var/www/html/index.html
  • http服务日志文件:/etc/httpd/logs/*

2.http服务的配置

(1)配置:

  • yum install -y httpd 下载apache软件
  • yum install -y httpd-manual 下载http服务说明手册
    systemctl start httpd 开启服务
  • firewall-cmd --permanent --add-service=http 在火墙添加httpd服务
    firewall-amd --reload 重新加载

(2)排错:
当在其他主机浏览器中搜索httpd服务器ip时显示如下无法连接页面,从两方面排错:

  • 防火墙未添加http服务
  • httpd服务本身未开启
    在这里插入图片描述

服务正常界面:
在这里插入图片描述

3.修改httpd服务默认属性

3.1修改默认端口

配置:
(1)vim /etc/httpd/conf/httpd.conf 编辑配置文件

42 Listen 8080 ##将默认服务端口修改为8080端口

(2)firewall-cmd --permanent --add-port=8080/tcp 在火墙开启8080端口,该端口是tcp协议下的
firewall-cmd --reload 重加载
(3)systemctl restart httpd 重启服务
在这里插入图片描述
在这里插入图片描述
测试:
在浏览器中访问http://172.25.254.201 将显示无法连接:
在这里插入图片描述
应该访问 http://172.25.254.201:8080 如下:
在这里插入图片描述

3.2修改默认发布文件

  • 默认发布文件 即在浏览器中访问服务ip时默认访问的文件
  • 修改默认发布文件 即为修改默认发布文件的顺序

(1)vim /etc/httpd/conf/httpd.conf 编辑配置文件

164 DirectoryIndex saturday  index.html ##修改后默认访问文件为/var/www/html/saturday

(2)systemctl restart httpd 重启服务
在这里插入图片描述
在浏览器中访问:
在这里插入图片描述

3.3修改默认发布目录

配置:
(1)vim /etc/httpd/conf/httpd.conf 在配置文件中修改

DocumentRoot “/mnt/html”
< Diretory "/mnt">
Require all granted ##授权访问
< /Diretory >

(2)setenfirce 0 设置selinux为非Enforcing模式 否则加载了安全上下文 无法访问
(3)systemctl restart httpd 重启服务
在这里插入图片描述
在这里插入图片描述
测试:
在浏览器中访问 http://172.25.254.201/index.html 可以看到/mnt/html/index.html文件中内容:
在这里插入图片描述

4.http访问控制

4.1指定主机访问指定文件

vim /etc/httpd/conf/httpd.conf 编辑配置文件

  • 黑名单 (不允许谁登录)

    <Directory “/var/www/html/westos”> ##控制访问的文件
    Order Allow,Deny ##服务读取顺序先读Allow 后读Deny
    Allow from a
    ll ##允许所有主机登录
    Deny from 172.25.254.1 ##不允许172.25.254.1这台主机登录
    </ Directory>
    systemctl restart httpd重启服务
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 白名单 (允许谁登录)

    <Directory “/var/www/html/westos”> ##控制访问的文件
    Order Allow,Deny ##服务读取顺序先读Allow 后读Deny
    Deny from all
    Allow from 172.25.254.1 ##只允许172.25.254.1这台主机登录
    </ Directory>
    systemctl resatrt httpd 重启服务
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

注:Order 表示读取顺序,后读取的文件会覆盖先读取的文件 故顺序十分重要!!

4.2 指定用户访问

4.2.1 用户的创建

(1)touch /etc/httpd/conf/user 建立用户存放文件
(2)htpasswd -cm /etc/http/conf/user user1 第一次创建用户需要加-c参数 表示在用户文件下创建用户user1 输入用户密码 存放在文件时为加密内容

4.2.2 用户访问控制

配置:
(1)vim /etc/httpd/conf/httpd.conf 编辑主配置文件

<Directory "/var/www/html/westos"> ##控制的访问文件
AuthUserFile  /etc/httpd/conf/user  ##服务验证的文件即为用户文件
AuthType      basic  ##基础验证类型
AuthName      "Pleace input your username and password!" 验证模块自定义显示内容
Require user   user1 ##允许访问的用户为user1用户
或者 Require   valid-user   ##允许所有有效用户   
</Directory>

(2)systemctl restart httpd 重启服务
在这里插入图片描述
测试:
在浏览器中访问http服务器ip 会弹出输入密码对话框,输入密码方能访问:
user1被允许访问
在这里插入图片描述
在这里插入图片描述
user2不被允许访问 :输入密码之后会再次弹出输入密码对话框,不能正常访问
在这里插入图片描述
在这里插入图片描述

5. 一个http服务对应多个站点(以2个为例)

配置:

(1) 在默认发布目录下建立站点对应发布目录

mkdir /var/www/news/html -p 建立news站点发布目录
mkdir /var/www/music/html -p 建立music站点发布目录
vim /var/www/virtual/music/html/index.html 编辑站点发布内容

MUSIC

vim /var/www/virtual/news/html/index.html 编辑站点发布内容

NEWS

在这里插入图片描述
(2) 在子配置目录下建立不同站点配置文件
vim /etc/httpd/conf.d/default.conf 默认站点

 <VirtualHost _default_:80> ##默认开放端口:80
DocumentRoot  /var/www/html ##默认发布目录
CustomLog  logs/default.log  combined   ##日志文件  combined表示混合日志
</VirtualHost>

在这里插入图片描述
vim /etc/httpd/conf.d/news.conf news站点

<VirtualHost *:80> ##开放所有端口:80
ServerName    news.westos.com
DocumentRoot  /var/www/virtual/news/html ##默认发布目录
CustomLog  logs/news.log  combined   ##日志文件  combined表示混合日志
</VirtualHost>
<Directory "var/www/virtual/news/html">
  Require all granted
</Directory>

在这里插入图片描述
vim /etc/httpd/conf.d/music.conf music站点

 <VirtualHost *:80> ##开放所有端口:80
ServerName    music.westos.com
DocumentRoot  /var/www/virtual/music/html ##默认发布目录
CustomLog  logs/music.log  combined   ##日志文件  combined表示混合日志
</VirtualHost>
<Directory "var/www/virtual/music/html">
  Require all granted
</Directory>

在这里插入图片描述

(3) vim /etc/hosts 编辑本地域名解析文件

172.25.254.201  www.westos.com news.westos.com music.westos.com

在这里插入图片描述
测试
在浏览器输入www.westos.com:
在这里插入图片描述
在浏览器中输入news.westos.com:
在这里插入图片描述
在浏览器中输入music.westos.com:

在这里插入图片描述

6. php+cgi脚本 动态网页访问

配置:
(1)配置 php动态插件
vim /var/www/html/index.php 编辑php发布文件

 <?php    ##用php语言编写
  phpinfo();
?> 

yum install -y php 安装php动态插件
systemctl restart httpd 重启apache服务php插件自动配置好

浏览器访问会出现如下界面:
在这里插入图片描述
(2)配置 cgi脚本

vim /var/www/html/index.cgi 编辑动态访问文件

!/usr/bin/perl  ##perl语言编写
print "Content-type:text/html\n\n";
print `date`;

chmod +x /var/www/html/index.cgi 给该文件执行权力
在这里插入图片描述
在这里插入图片描述
(3)vim /etc/httpd/conf.d/default.conf 编辑动态访问配置文件

<Directory "/var/www/html/">
Options +ExecCGI
AddHandIer cgi-script .cgi
</Directory>

在这里插入图片描述
注: 编写配置文件可查看说明手册 http://172.25.254.201/manual 不易出错
在这里插入图片描述
在这里插入图片描述
(4)setenforce 0 设置selinux 为非强制模式

systemctl restart httpd 重启服务

测试:
在浏览器中访问http://172.25.254.201/index.cgi 可以看到动态变化:
在这里插入图片描述

7. 强制重定向

  • curl -I 可以查看网页重定向和架构信息
302临时重定向
301永久重定向
200最终定向

在这里插入图片描述
配置:
(1)apache中ssl安全认证书配置
yum install -y mod_ssl 重定向软件 下载后子配置目录下会自动生成ssl.conf文件
systemctl restart httpd 重启服务
在浏览器中搜索:https://172.25.254.201 出现如下图界面:
在这里插入图片描述
可查看默认证书:
在这里插入图片描述
在这里插入图片描述
为方便下一步配置 ,查看后应删除该证书 :
在这里插入图片描述
清空缓存记录 再次访问又会回到首次访问有黑金图标界面

(2)自签名证书配置

1)yum install -y crypto- utils 下载自签名书生成软件
2)genkey www.westos.com 生成自签名书
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成成功后会终端显示证书相关文件:
在这里插入图片描述
3)vim /etc/httpd/conf.d/ssl.conf 编辑ssl.conf 文件 让系统去读签名证书密码文件

101 SSLCertificateFile  /etc/pki/tls/certs/www.westos.com.crt
108 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

将文件改为自生成的证书文件
在这里插入图片描述
4)systemctl restrat httpd 重启服务

测试:
在浏览器中查看自签名证书:
在这里插入图片描述
(3)重写网页配置

1)编辑想要重定向的网页的配置文件 这里以news.westos.com 为例
vim /etc/httpd/conf.d/news.conf

<VirtualHost *:443>  ##https网页配置
     DocumentRoot  /var/www/news/html
     ServerName    news.westos.com
     CustomLog     logs/news.log  combined
    SSLEngine       on
    SSLCertificateFile  /etc/pki/tls/certs/www.westos.com.crt
    SSLCertificateKeyFile   /etc/pki/tls/private/www.westos.com.key
</VirtualHost>

<Directory "/var/www/news/html">
Require  all granted
</Directory>
<VirtualHost *:80> #80端口重定向到443端口
     ServerName   news.westos.com
     RewriteEngine  On
     RewriteRule    ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>

^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] 含义

字符含义
^(/.*)$客户在浏览地址栏中输入的所有字符
https://强制客户加密访问
%{HTTP_HOST}客户请求主机
$1表示^(/.*)$的指
[redirect=301]永久重定向

2)systemctl restart httpd 重启服务
在这里插入图片描述
测试:
在浏览器中访问:news.westos.com 可以看到网页重定向到https
在这里插入图片描述

8.wsgi动态网页的访问

  • WSGI=Web Service Gateway Interface 多线程的动态服务接口
  • Python语言书写

配置:
(1)mkdir -p /var/www/wsgi/html单另创建wsgi的发布目录
cd /var/www/wsgi/html 编写发布文件这里是直接下载Python脚本

wget http://172.25.254.250/RHCEPCAGES/materials/script.wsgi

在这里插入图片描述
在这里插入图片描述
(2)cd /etc/httpd/conf.d 编辑httpd服务子配置目录文件

vim wsgi.conf
<VirtualHost *:80>
ServerName www.wsgi.com
WSGIScriptsAlias / /var/www/wsgi/html/script.wsgi  ##让服务重导向阅读编写的脚本文件
 </VirtualHost>

在这里插入图片描述
(3)yum install -y mod_wsgi下载wsgi动态模块
在这里插入图片描述
(4)systemctl restart httpd 重启服务,动态模块自动配置好

(5)vim /etc/hosts 编辑本地域名文件

172.25.254.201  www.wsgi.com

测试:
在浏览器上访问:www.wgsi.com
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值