LAMP架构及实现原理及搭建

15 篇文章 0 订阅
5 篇文章 0 订阅

 LAMP/LNMP:是有Linux系统,Apache网络服务器或者Nginx服务器,MySQL数据库。php。  LAMP/LNMP具有通用,跨平台,高性能的。LNMT/LAMt :整合 Apache Http Server 和 Tomcat 可以提升对静态文件的处理性能、利用 Web 服务器来做负载均衡以及容错、无缝的升级应用程序。

1. 用户向HTTPD服务器发送HTTP请求。

2. HTTPD分析URL得到所需的资源路径,在内核空间中读到磁盘资源,在静态的情况下,生成响应包并发送给用户。

3. 对于一个动态资源,将一个资源地址传送到PHP解析程序,并将其解析,并将其传送至HTTPD,并产生响应信息,并将其传送至用户。

4. 在数据库操作时,使用PHP-MySQL驱动程序,将数据库中的数据提取出来,并将其返回到PHP分析器中。

LAMP工作流程架构如图2-1所示:

 Apache,MySQL,PHP 之间的联动工作apache + php结合的方式大概几种:

安装和配置Apache、PHP和MySQL:首先,需要在服务器上安装和配置Apache、PHP和MySQL,以便它们可以一起工作。安装和配置Apache、PHP和MySQL的过程可能因不同的环境和操作系统而发生变化。

Apache处理HTTP请求:当用户请求一个页面时,Apache接收HTTP请求,并将其发送到合适的PHP脚本进行处理。

PHP脚本处理请求:当Apache接收到请求后,它将请求的文件扩展名判断为php,把这个请求通过CGI方式发送给PHP解析器进行解析和处理。 PHP解析器处理完请求后再把结果返还给Apache,Apache再把处理结果通过HTML形式返回给Web浏览器,用户就可以看到请求的页面了 。

PHP操纵MySQL:PHP在处理请求时可以调用MySQL扩展程序的API函数,连接到MySQL服务器,并执行各种MySQL操作,如查询、插入、删除和更新等。

MySQL响应PHP请求:MySQL数据库会响应PHP发出的请求,并将相关数据返回给PHP应用程序。 PHP通过查询结果处理函数,将MySQL查询结果存储在PHP数组或对象中,以供进一步处理。

PHP返回处理结果:PHP应用程序将处理结果转换为HTML格式,发送给Apache,Apache将其发送给用户的Web浏览器展示给用户。

在 Kali 系统中自带源是官方的apt 源,经常会因为网络问题,导致无法安装或更新程序。而且国外的 apt 源使用起来速度是相当慢。因此直接使用国内的源来解决此问题。

首先第一步要ping到网络源进行百度访问如图3-1所示:

ping百度

apt全称Advanced Package Tool,是一个用于管理Debian及其衍生发行版本上软件包的命令行工具。

apt可以自动解决依赖关系并安装、更新、移除软件包,它从Debian的软件仓库中获取软件包并安装到系统中,同时也能增加和管理第三方软件源。

apt的常用命令如下:

apt-get update 更新软件包列表

apt-get upgrade 更新已安装的软件包

apt-get install 安装软件包

apt-get remove 卸载软件包

apt-get autoremove 自动删除系统不需要的依赖包

apt-get purge 彻底删除软件包及其配置

apt的优点包括:

自动解决依赖关系,安装软件包更加方便。

命令行界面,允许批量安装、更新、卸载软件包。

可以管理多个软件仓库和第三方软件源。

支持软件包的版本管理和回滚。

查看apt是否可以安装

相关安装情况

查看apache2是否安装

查看mysql是否安装

查看php是否安装

查看lamp架构是否都安装

3. 启动Apache,

(1)Systemctl start httpd.service #启动Apache

(2)Systemctl stop httpd.service #停止

(3)Systemctl restart httpd.service #重启

4. 检查Apache安装情况

浏览器访问IP地址(127.0.0.1),安装成功,

在浏览器输入IP,直接进入apache,表示安装成功

PHPHypertext Preprocessor)是一种开源的服务器端脚本语言,它被广泛应用于Web开发领域。PHP的编译器将PHP代码编译成可执行二进制文件,该文件可以在Web服务器上直接运行,因此它在Web开发中被广泛使用。

PHP的语法类似于C语言,它可以与HTML一起使用来构建动态Web页面,还可以与数据库结合使用来创建动态网站。PHP支持多种操作系统和Web服务器,包括WindowsLinuxApacheNginx等,并且可以与数据库系统如MySQLOracleMongoDB等集成,提供强大的数据处理功能。

PHP的优点包括:

可以与多种Web服务器和数据库系统集成,提供强大的数据处理能力。

简单易学,学习成本低,上手快。提供了丰富的代码库和插件

支持面向对象编程,具有良好的代码重用和易于维护性。

具有良好的可移植性和跨平台性,适用于不同类型的项目和应用场景。

PHPWeb开发中已经被广泛应用,它可以用于开发各种类型的Web应用,包括电商网站、博客、在线社交网络、CMS系统等等。通过使用PHP,开发者可以快速地构建功能丰富的Web应用,同时还可以享受到PHP强大的性能和可扩展性。

图3-8  安装PHP

3.1.3 安装MySQL

MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于web应用程序的开发中。它支持多个平台,包括各种Linux发行版、macOS、Microsoft Windows等,并且可以与不同的编程语言集成,如PHP、Python、Java等。

MySQL使用标准SQL语言进行数据操作,支持多种数据类型(例如字符、数字、日期/时间等)和对数据的复杂查询。MySQL提供了多种存储引擎,包括InnoDB、MyISAM、Memory等,每个存储引擎都针对不同的应用场景具有不同的优势。

MySQL的优点包括:

数据安全性高:MySQL提供了多层的访问控制和权限管理,可以保证数据的安全性。

性能卓越:由于其高效的存储引擎、索引机制和查询优化,MySQL具有高速读写和查询性能。

可扩展性好:可以在不同的硬件设备和操作系统上运行MySQL,同时也可以对数据库进行复制、分区和集群等改进以适应业务需求的扩展。

易用性好:MySQL具有简单易用的界面和命令行,对于开发人员和管理员也提供了良好的开发和管理体验。

安装成功,

  安装MySQL

下载phpmyadmin后,再解压到可以访问的web目录下(如果是虚拟空间,可以解压后通过ftp等上传到web目录下),也可以修改解压后该文件的名称

查看下载phpadmin解压

2. 配置config文件
打开libraries下的config.default.php文件,依次找到下面各项,按照说明配置即可:

A.访问网址

$cfg['PmaAbsoluteUri'] = '';

这里填写phpmyadmin的访问网址,如:$cfg['PmaAbsoluteUri'] = 'http://你的站点/phpmyadmin/';

B.mysql主机信息

$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address

填写localhostmysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost

$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port

mysql端口,如果是默认3306,保留为空即可

C.mysql用户名和密码

$cfg['Servers'][$i]['user'] = 'root';

MySQL user 访问phpmyadmin使用的mysql用户名

fg['Servers'][$i]['password'] = '';

MySQL password (only needed对应上述mysql用户名的密码

D.认证方法

$cfg['Servers'][$i]['auth_type'] = 'cookie';

在此有四种模式可供选择:cookiehttpHTTPconfig

01config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,这种方式是不安全的,并不推荐使用。

02:当设置为cookiehttpHTTP时,登录phpmyadmin需要数据用户名和密码进行验证,

具体如下:

PHP安装模式为Apache,可以使用httpcookie

PHP安装模式为CGI,可以使用cookie

E.短语密码(blowfish_secret)的设置

$cfg['blowfish_secret'] = '';

如果认证方法设置为cookie,就需要由自己设置短语密码,但是不能留空,否则会在登录phpmyadmin时提示错误。修改相关配置文件如图3-13所示。

查看修改myphpadmin配置文件

修改apache2的配置文件如图3-14

<Directory "/usr/local/httpd/htdocs">

  …… // 省略部分内容

        Require all granted    #允许所有主机访问

     </Directory>

修改apache2的配置文件

数据库提权所谓利用数据库进行提权,利用的其实是数据库的运行权限,所以只要满足以下条件即可进行提权:

1、必须获得sa的账号密码或者sa相同权限的账号密码,且mssql没有被降权。

2、必须可以以某种方式执行sql语句,例如:webshell或者1433端口的连接。

3、监听在1433端口,拿到mssqlsa账户账号和密码,方可执行命令,

提权以及phpadmin搭建成功

数据库提权

 phpadmin搭建成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值