Apache基本知识
Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速,可靠,简单的API扩展。Apache服务程序可以运行在Linux系统,UNIX系统甚至是Windows系统中,支持基于IP,域名及端口号的虚拟主机功能,支持多种认证方式,集成有代理服务器模块,安全socket层,能够实施监视服务状态与定制日志消息,并有着各类丰富的模块支持。
Apache部署
1.安装http服务软件,http是基础,所有都需要通过http来实现
2.打开http服务并将它设置为开机自启
3.火墙策略,添加http,http为永久允许
4.在浏览器上输入ip,看大apache已经启动
5.在/var/www/html下建立发布文件
6.登陆即可查看到刚才写进文件的内容
7.安装apache手册
8.重启http
9.登陆可查看apache手册内容
Apache基础信息修改
http在系统中的配置文件
配置文件的名称 | 存放位置 |
---|---|
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
- 端口设置
1.查看到apache的基础信息以及配置文件
2.编辑主配置文件
3.端口改为8080,默认端口为80
4.添加8080端口到火墙中
5.重启服务,看到8080端口允许访问
6.修改端口为6666
7.查看selinux内核级火墙
这里selinux只允许几个特定的端口
8.添加6666到selinux中
9.添加6666端口到火墙后重启http
10.6666端口访问成功
- 修改默认发布文件
1.在/var/www/html下建立一个新文件
在输入ip后加上文件名才可显示,这样显然不是默认的
2.编辑主配置文件,将刚创建的文件名加在默认文件之前
3.查看默认修改成功
4.如果删除默认文件,显示的就是后面的文件
- 修改默认发布目录
1.新建一个目录
2.在目录下写一个发布文件
3.修改主配置文件,给默认发布目录提供所有权限
4.重启服务
5.修改selinux的安全上下文并刷新
6.查看修改成功
Apache虚拟主机配置
Apache的虚拟主机功能是服务器基于用户请求的不同IP地址,主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术。用户请求的资源不同,最终获得到的网页内容也各不相同。
利用虚拟主机功能,可以把一台处于运行状态的物理服务器分割成多个“虚拟的服务器”。但是,该技术无法实现目前云主机技术的硬件资源隔离,让这些虚拟的服务器共同使用物理服务器的硬件资源,供应商只能限制硬盘的使用空间大小。出于各种考虑因素,目前依然有很多企业或个人站长在使用虚拟主机的形式来部署网站。
注:
在做此实验之前先将之前的配置文件改回默认,以免冲突。
1.编辑本地解析文件,添加三个不同的域名
2.可以查看到每个域名看到的文件都是相同的
3.在/var/www下建立news和music两个目录
4.写入各自的发布文件
5.编辑默认站点的子配置文件
6.编辑各自站点的自配置文件
7.重启服务后可查看到各自网址访问的有各自的内容
Apache内部的访问控制
Apache可以基于源IP,源主机名或源主机上的浏览器特征等信息对网站上的资源进行访问控制。它通过Allow指令允许某个主机访问服务器上的网站资源,通过Deny指令实现禁止访问。
- 基于ip的访问控制
1.vim a_default.conf
Deny和Allow按顺序访问,只允许172.25.254.108这个主机访问,ALLow会覆盖掉Deny
2.Allow在前,Deny在后,Deny会覆盖掉ALLOW,所以这里的意思是不允许172.25.254.8这台主机访问
3.用172.25.254.8去测试发现被拒绝
- 基于用户的访问控制
1.新建用户admin
2.再建立一个用户shr
3.编辑配置文件,添加认证,只允许shr用户访问
4.在浏览器中访问发现需要输入用户名和密码
5.输入后成功访问
6.Require valid-user表示对文件下的所有用户有效
Apache支持的语言
一.php
1.安装php
2.编写php测试页
3.重启http
4.访问ip下的php成功
二.cgi
1.在/var/www/cgi-bin下建立访问文件
2.在浏览器上访问到执行的结果
3.新建一个目录,查看是否可以执行cgi
编写访问文件
4.发现执行不了
5.修改配置文件,表示也cgi开头或.cgi结尾的可识别
6.这是还是访问不出来
7.修改安全上下文
8.给这个文件执行权限
9.访问成功
三.python
1.安装服务
2.编写子配置文件
3.给wabapp.wsgi执行权限,该文件内是python的脚本
4.本地解析
5.访问python执行脚本成功
https的部署
1.安装服务
crypto-utils是自主提供key的服务
2.进入/etc/httpd/conf.d,生成加密文件
3.输出国家,省会,城市公司名以及部门名称
4.将生成的key写入ssl.conf文件
5.重启服务
6.查看获取加密key成功
- 普通访问自动转换加密访问
1.创建一个新的目录并写入访问文件
2.编辑子配置文件
3.本地解析
4.当前进入没有自动转化
5.编写子配置文件
^(/.*)$ 表示客户在浏览器地址中输入的所有字符
https:// 表示客户加密访问
%{HTTP_HOST} 表示客户请求主机
$1 表示^(/. *) $的值
301表示永久转换 302为临时转换
6.重启服务后访问发现自动转换加密方式成功
论坛搭建
1.下载搭建论坛的安装包并解压
2.读取操作步骤
3.按照步骤进行,给权限
4.本地解析
5编辑子配置文件
6.将upload目录上传到服务器
7.进入安装页面,将selinux改为警告模式会少很多的错误
8.部分权限不够,我们给他添加权限
9.mysqli数据库没有安装不支持
10.安装数据库
11.打开数据库并进行安全初始化
12.安装php-mysql
13.所有文件都支持后可以开始搭建论坛
14.搭建论坛成功