linux 下的Apache 服务

        Apache HTTP Server 项目是在Windows 与UNIX 等平台上都可以运行的跨平台开源HTTP 服务器软件,该项目的目标是提供安全、高效、可扩展的HTTP 服务。Apache httpd 自从1996 年发布以来,如今已经成为世界排名第一的Web 服务器软件。Apache httpd 最新的稳定版本为2.4.4。安装Apache httpd 软件可以选择源码安装或二进制数据包安装,但由于源码安装是可以定制的一种安装方式,这种安装方式的灵活性比较大,可以满足企业对各种环境的不同需求。

        Apache HTTP Server 非常重要的特性是它采用了模块化设计模型,Apache 模块分为静态模块与动态模块,静态模块是Apache 最基本的模块,是无法随时添加与卸载的模块,静态模块在编译软件时设定。动态模块是可以随时添加和删除的模块,这样的设计使得企业部署Apache 时可以获得最大的灵活性,每个企业都可以根据自己的平台以及实际需求,安装使用不同的模块功能。Apache 模块将被编译为动态共享对象(DSO),这些动态共享对象独立于httpd 程序,DSO 模块可以在编译Apache 是添加,也可以在后期随时通过Apache Extension Tool (apxs)工具编译添加模块。Apache HTTP Server 软件安装完成后可以使用httpd -M 命令查看模块加载清单。

一、Apache 的安装部署

1. 查看各网站的服务软件类型

使用curl -I 命令

2. Apache 的安装

软件安装

Apache 手册安装

扫描二维码关注公众号,回复: 4675047 查看本文章

然后开启服务,同时使服务开机自启动

查看服务默认端口:80

服务默认日志目录:/etc/httpd/logs

默认发布目录与默认发布文件:/var/www/html/index.html

3. 更改防火墙配置,使防火墙永久允许http 服务

查看防火墙信息

图形方式修改:

设置为永久

加入http 、 https

然后重新加载服务

再次查看防火墙信息,发现http 和https 已经被允许

命令方式:

4. 测试

编辑默认发布目录下的默认发布文件:/var/www/html/index.html

在浏览器中输入ip 地址进行测试

还可从其他网站下载html 文件进行测试

先下载网页文件

并将下载好的网页文件更名为 index ,移动到默认发布目录下,进行测试

5. 查看Apache 手册

下载好的手册仅支持英文,若想查看中文手册,可登录官网查看

6. apache 的基础信息

主配置目录与主配置文件:/etc/httpd/conf/httpd.conf

自配置目录与自配置文件:/etc/httpd/conf.d/*.conf

默认安全上下文:httpd_sys_content_t

服务默认日志目录:/etc/httpd/logs

默认发布目录与默认发布文件:/var/www/html/index.html

二、服务参数的修改

1. 修改服务端口

进入主配置文件进行修改

重启服务,然后查看端口,发现端口已经修改

若是改成其他端口,则可能会报错

这是因为该端口没有被服务所支持

只需用过设置selinux ,将该端口开放给该服务即可

更改完端口号后,还无法访问该端口,还需在防火墙中设置相应的信息

然后即可访问该端口

2. 更改默认发布文件

进入主配置文件进行修改

在此处添加文件名,服务按顺序访问文件,默认第一个为发布文件,若为找到,则会将第二个作为发布文件

然后在默认发布目录下,创建westos.html 文件,重启服务生效

3. 更改默认发布目录

先创建发布目录

再在发布目录下创建发布文件

同时还要修改发布目录即文件的安全上下文

然后修改主配置文件

重启服务后生效

三、Apache 的虚拟主机

若想通过一个ip 地址访问不同的发布文件,则需要设置虚拟主机

1. 为测试主机添加本地解析

2. 创建虚拟主机发布目录及测试文件

3. 修改子配置文件

修改默认域名的子配置文件

其中80为默认开启的端口,DocumentRoot 为默认发布目录,CustomLog 为日志目录,其为相对路径,其地址前要加/etc/httpd/,combined 为4种混合类型日志

修改指定域名news.westos.com 的访问配置文件

其中ServerName 为指定站点名称,Directory 中写的是给发布目录授权访问,同时使得所有用户允许访问

修改指定域名music.westos.com 的访问配置文件

配置文件只需将news 的配置文件中‘news‘ 的字符串替换为‘music’ 即可

4. 测试

重启服务

访问默认域名

访问news.westos.com

访问music.westos.com

四、Apache 内部的访问控制

1. 针对主机的访问控制

修改默认域名的子配置文件

其中Order 为列表读取顺序,后读取的列表会覆盖先读取的内容

例如仅允许ip 为100的主机进行访问,先读取deny 再读取allow ,利用allow 覆盖deny

若是仅拒绝ip 为100的主机进行访问,则先读取allow 再读取deny

2. 用户方式的访问控制

创建用户认证信息

首次创建用户,参数要加‘c’

再次创建用户时,只需向已有认证信息中添加用户即可,所以不用再加参数‘c’

查看已创建的认证信息

编辑默认域名的子配置文件

其中,AuthUserFile 为认证信息文件的位置,AuthName 为认证提示,AuthType 为认证类型,Require user admin 为仅允许admin用户认证,Require valid-user 为允许所有有效用户认证

然后重启服务

再次进入网页需要认证

认证通过后方可浏览该网页

五、Apache 支持的语言

Apache 支持html、php、perl 和python

1. php

安装php 软件包

在默认发布目录下编辑测试文件

然后在浏览器中进行测试

2. 在cgi (通用网关接口中)编写并发布perl 脚本文件

通过Apache 手册查看脚本编写方法

然后创建文件

编写脚本语句,显示日期时间

给该文件增加可执行权限

在命令行执行脚本进行测试

在浏览器中输入地址进行测试

3. 在自己创建的发布目录内发布perl 脚本文件

在服务已有的cgi-bin 目录下发布perl 脚本文件无需修改配置文件,服务已经提供相应的接口,自动进行配置

若在自己的发布目录下发布,还需修改配置

在默认域名的子配置文件中进行修改

创建发布目录与文件

更改发布目录与文件的安全上下文与cgi-bin 的一致

然后重启服务进行测试

4. python

python 脚本语言需要网路服务器网关接口即WSGI

因此需要下载相关软件提供支持

在cgi-bin 发布目录下创建发布文件

创建子配置文件

在测试机上添加本地解析

重启服务进行测试

六、https 超文本传输安全协议

1. 安装服务相关软件

安装生成密钥软件

2. 进入软件生成钥匙

选择加密长度

获取随机的加密字符(此时需要在控制台敲击键盘)

无需发送认证请求

输入信息

此时在/etc/pki/tls 中便生成了证书和密钥

3. 在配置文件中替换证书和密钥

4. 测试

重启服务

然后在浏览器输入https://www.westos.com 进行测试

然后在浏览器中获取认证

然后再次访问该页面,网页已被加密

还可在浏览器中查看证书

七、设定https 虚拟主机并设定网页重写

1. 创建发布目录与文件

2. 在测试机上加入本地解析

3. 编写子配置文件

其中^(/.*)$  为客户在浏览器地址栏中输入的所有字符

https:// 为强制客户加密访问

%{HTTP_HOST} 为客户请求主机

$1 表示^(/.*)$ 中的值

[redirect=301] 为永久转换 ,302 为临时重写

4. 测试

在浏览器中添加认证,此时便可自动访问加密的页面了

猜你喜欢

转载自blog.csdn.net/weixin_43369306/article/details/84816552
今日推荐