码迷,mamicode.com
首页 > 其他好文 > 详细

LAMP基于RPM包搭建

时间:2016-11-05 23:58:49      阅读:577      评论:0      收藏:0      [点我收藏+]

标签:lamp环境

一:简述

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。 事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。

通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。


二:实验简述

LAMP是web服务的最基础的组合方式,本系列将介绍一下关于LAMP组合的各种部署方式,包括:

    基于RPM包的实现:

    httpd与php结合的方式为module,也就是php作为httpd的模块方式提供服务

    httpd与php结合的方式为fastcgi,也就是php工作为独立的进程,与httpd之间利用fastcgi协议提供服务

    基于编译安装实现:

    httpd与php结合的方式为module,也就是php作为httpd的模块方式提供服务

    httpd与php结合的方式为fastcgi,也就是php工作为独立的进程,与httpd之间利用fastcgi协议提供服务


本篇就展示一下利用rpm包,php与httpd结合的方式为module方式

    包含了LAMP的安装

    httpd虚拟主机的配置(基于IP、基于端口、基于主机名)

    httpd基于basic认证

    httpd基于IP的访问控制

    httpd的status页面的配置

    httpd的路径别名的配置


环境说明

    使用centos7系统

    利用yum安装相关软件包

    搭建好yum源仓库和配置好DNS 

    为了避免在试验过程中出现其它问题,先把防火墙(iptables)清空,SElinux设置为disabled


第一部分: RPM包安装LAMP相关软件,进行简单配置

1、安装http、php、mariadb-server、php-mysql

  httpd作为web服务器

  mariadb-server作为数据库服务器

  php当httpd与module结合时,使用的软件包(如果利用fastcgi结合,则需要安装php-fpm)

  php-mysql php连接时mysql数据库时的扩展模块

技术分享

技术分享


2、修改httpd的配置文件和mariadb配置文件

  修改httpd的配置文件,让其能够正常启动

[root@CentOS 7 ~]#vim /etc/httpd/conf/httpd.conf

技术分享

  修改mariadb的配置文件,让其能够正常启动

[root@CentOS 7 ~]#vim /etc/my.cnf

技术分享

技术分享

3,对mysql进行简单配置,增强其安全性,创建并授权账号,供php连接使用

  在第一次启动数据库时,建议使用 mysql_secure_installnation(安全配置向导)进行安全相关的初始化设定,增强mysql的安全性

技术分享

创建某用户账号,用于让php进行连接数据库使用

技术分享

提供测试页,进行测试

技术分享

技术分享

技术分享


二,httpd相关配置显示

1,配置基于IP的虚拟机主机

  先为本机添加IP

技术分享

   编辑配置文件

vim /etc/httpd/conf/httpd.conf    (DocumentRoot:网站根目录)

技术分享

技术分享

   为不同的虚拟主机提供不同的测试页

   mkdir /testdir/{www1,www2}

技术分享

检查配置文件的语法是否有误,无误就重启服务,然后进行测试

技术分享

技术分享

技术分享



配置基于PORT的虚拟主机

  修改配置文件

vim /etc/httpd/conf/httpd.conf

添加一项:

Listen 80

Listen 8080

vim /etc/httpd/conf.d/vhost.conf

技术分享

在主配置文件里修改了端口、网页根路径时,都要重启服务

httpd -t

systemctl restart httpd.service

技术分享

技术分享

技术分享


配置基于主机名称的虚拟主机

  修改httpd配置文件

技术分享


检查配置文件语法错误,重启httpd服务

修改测试主机的host文件,让其对www.a.com和www.b.com都能解析到10.1.50.66主机上,然后进行测试

WindowsDNS文件路径:C盘/windows/system32/driver/etc/hosts

技术分享

技术分享

技术分享

4,配置基于basic认证的用户认证

 修改httpd配置文件

技术分享

创建认证文件

技术分享

提供对应的测试页面,重载配置文件,进行测试

技术分享

技术分享技术分享

技术分享

技术分享


5、配置基于IP的访问控制机制

 修改httpd的配置文件

 vim /etc/httpd/conf.d/vhost.conf

技术分享

检查配置文件语法,然后重载配置文件,进行测试

技术分享技术分享


6、基于httpd状态页面的配置

  修改heepd配置文件

vim /etc/httpd/conf.d/vhost.conf

技术分享

修改完配置参数,检查语法是否有语法错误,重载配置文件

技术分享

技术分享

7,配置路径别名

修改httpd配置文件

vim /etc/httpd/conf.d/vhost.conf

技术分享

在/aaa/bbb下提供测试页面,检查httpd配置语法,重载文件

技术分享技术分享

LAMP基于RPM包搭建

标签:lamp环境

原文地址:http://suifengsky.blog.51cto.com/11393684/1869842

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!