部署LAMP环境

红帽9搭建LAMP

  1. 安装Apache

   2.安装数据库服务

   3.安装php

    (1)使用IP访问/phpinfo.php

   4.安装phpMyAdmin

  (1)数据库端口改为学号后五位
  (2)登录phpmyadmin

  5.SSH增加一个端口10022,fttp增加两个端口10080和8080

  (1)修改防火墙规则用端口登录myadmin(只允许10080端口访问myadmin)

什么是LAMP?

LAMP 是一种常用于 web 开发的软件堆栈的缩写,它代表了 Linux(操作系统)、Apache(HTTP 服务器)、MySQL(数据库管理系统)和 PHP(编程语言)。这种组合因其高效、开源和免费的特点而广受欢迎,常用于搭建动态网站和 web 应用程序。

下面是 LAMP 堆栈中每个组件的简要说明:

Linux:Linux 是一个开源的操作系统,广泛应用于服务器环境。它提供了稳定、高效和安全的运行环境,是 web 服务器的基础。

Apache:Apache 是一个开源的 HTTP 服务器,用于处理 web 请求并返回 web 页面。它提供了丰富的功能和模块,支持各种 web 技术和标准。

MySQL:MySQL 是一个开源的关系型数据库管理系统,用于存储和管理网站的数据。它提供了高效的数据存储和查询功能,是 web 应用程序中不可或缺的部分。

PHP:PHP 是一种通用的脚本语言,尤其适合 web 开发。它可以嵌入到 HTML 中,用于生成动态页面和与数据库进行交互。PHP 的易用性和强大的功能使其成为 web 开发的流行选择。

LAMP 堆栈的流行部分归功于其开源和免费的特点,这使得用户可以轻松地获取、使用和定制这些软件。此外,LAMP 堆栈中的每个组件都经过了广泛的测试和验证,具有高度的稳定性和可靠性。

在搭建 LAMP 堆栈时,用户需要分别安装和配置这些组件。具体的安装和配置方法因 Linux 发行版和版本的不同而有所差异。一般来说,用户可以通过包管理器(如 apt、yum 等)来安装这些软件,并通过配置文件来设置它们的行为和参数。

总之,LAMP 是一种强大的 web 开发工具集,它提供了稳定、高效和可靠的运行环境,是搭建动态网站和 web 应用程序的常用选择。

环境准备

(ip为10.0.0.99的虚拟机为主机,然后分别克隆两台ip为10.0.0.119的客户机和ip为10.0.0.219的测试机;主机需安装Apache和PHP,客户机需安装Mysql,且三台虚拟机都能进行远程连接即开启SSH服务)

主机名及IP

主机名

        IP地址

wwg2(主机)

10.0.0.99

 wwg2(客户机)

10.0.0.119

wwg2(测试机)

10.0.0.219

 

 

安装Apache(主机内进行ip为10.0.0.99)

Apache:开放源码的网页服务器,跨平台、安全、流行,支持众多网站运行。

输入命令“yum install http”安装Apache,complete表示安装成功。

yum install http

安装成功后启动Apache,查看Apache是否为开启状态。running表示启动成功。启动成功后,输人命令行:systemctl enable httpd设置apache服务开机自启。

systemctl enable httpd

 

安装数据库服务(客户机内进行ip为10.0.0.119)

输入命令行:yum install mariadb-server mariadb安装mariadb(MariaDB是MySQL的开源分支,提供高性能、高可靠性,兼容MySQL且易于迁移。),安装完成后启动数据库服务。

yum install mariadb-server mariadb

启动成功后,输入命令“mysql_secure_installation”设置数据库密码。

还没密码直接回车,输入两次yH后设置数据库密码,用于后续登录。

mysql_secure_installation

选择是否删除匿名用户账户。

选择是否禁用远程登录。

选择是否删除测试数据库。

输入y重新加载权限表,保存更改。

完成设置后查看mariadb状态,running为服务开启。

输入命令行:systemctl enable mariadb设置mariadb开机自启。

systemctl enable mariadb

安装PHP(主机内进行ip为10.0.0.99)

PHP是开源的服务器端脚本语言,适用于Web开发,简单易学且功能强大。

输入命令行:yum install php安装php

输入命令行:yum install php-mysqli安装mysqli

yum install php
yum install php-mysqli

 

安装完毕后,重新启动Apache服务。

输入命令行:vim /var/www/html/phpinfo.php将以下代码复制到新创建的文件中保存并退出。关闭防火墙和守护进程。

vim /var/www/html/phpinfo.php

 

在测试机(ip为10.0.0.219)的浏览器内输入主机ip:10.0.0.99/phpinfo.php

成功安装便会出现以下界面。

安装phpMyAdmin(主机内进行ip为10.0.0.99)

phpMyAdmin是MySQL的Web管理工具,界面直观,易于管理数据库

输入命令行:yum install php-mbstring php-xml -y安装依赖包。

yum install php-mbstring php-xml -y

安装完成后重启Apache和php-ftp服务。

重启后切换cd /var/www/html切换到网页目录,下载phpmyadmin安装包。Wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

 

下载完成后输入命令行:mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1 解压文件。解压完成后重启Apache和php-fpm服务。

mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

切换到测试机(ip为10.0.0.119)

输入命令行: vim /etc/my.cnf.d/mariadb-server.cnf修改数据库端口文件,修改端口为学号后五位30317。重启mariadb服务后输入命令“netstat -lntp”查看端口是否修改成功。

vim /etc/my.cnf.d/mariadb-server.cnf

 

输入命令行:mysql -u root -p 创建用户及密码CREATE USER root'@ 10.0.0.99 IDENTIFIED BY 123456';#此处为主机ip

GRANT ALL PRIVILEGES ON *.* TO root@ % IDENTIFIED BY 123456' WITH GRANT OPTION;

flush privileges;(刷新使之生效)

SELECT user,host FROM mysql.user ;(查看所创建用户)

完成后exit退出

输入命令行:mysql -u root -p 创建用户及密码CREATE USER ‘root'@ ‘10.0.0.99’ IDENTIFIED BY ‘123456';#此处为主机ip

GRANT ALL PRIVILEGES ON *.* TO ‘root’@ ‘%’ IDENTIFIED BY ‘123456' WITH GRANT OPTION;

flush privileges;(刷新使之生效)

SELECT user,host FROM mysql.user ;(查看所创建用户)

完成后exit退出

退出后需输入命令“systemctl restart mariadb”重启数据库。

systemctl restart mariadb

修改成功后回到到主机(ip为10.0.0.99),从/var/www/html目录切换到phpMyAdmin目录,查看当前命令下的文件输入命令 cp config.sample.inc.php config.inc.php 文件config.sample.inc.php 复制到文件config.inc.php

cp config.sample.inc.php config.inc.php 

编辑config.inc.php文件

 

关闭防火墙和守护进程后重启apache和php-fpm服务。

在测试机(ip为10.0.0.219)的浏览器内输入主机ip:10.0.0.99/phpMyAdmin/index.php登录phpmyadmin用户密码为数据库所创用户及密码。成功登录phpmyadmin。

 

SSH增加一个端口10022,fttp增加两个端口10080和8080

编辑/etc/ssh/sshd_config文件,在ssh中增加10022端口,重启ssh服务后查看是否成功增加10022端口。

 

 

编辑vi /etc/httpd/conf/httpd.conf文件在http中增加10080和8080的端口,重启http服务后查看是否成功增加10080和8080的端口。

 

开启防火墙,查看防火墙状态后输入命令行:sysystemctl firewall-cmd --zone=public --add-service=https --permanent

firewall-cmd --reload

firewall-cmd --zone=public --add-service=http --permanent

这个命令在public区域(zone)中永久添加http服务。这意味着,当firewalld启动时,或者你重新加载防火墙规则时,它会允许http(通常是80端口)的流量通过。

--zone=public 指定了要配置的区域,public是默认的区域。

--add-service=http 告诉firewalld要添加http服务。

--permanent 表示这是一个永久性的更改,但注意,它不会立即生效,除非你重新加载或重启firewalld。

firewall-cmd --zone=public --add-service=https --permanent

这个命令与上一个类似,但它添加的是https服务(通常是443端口)。

这意味着防火墙将允许https的流量通过。

firewall-cmd --reload

这个命令重新加载firewalld的配置。这意味着,任何你之前用--permanent标志做的更改现在都会生效。

重新加载与重启firewalld不同。重启会中断所有当前的连接,而重新加载则不会。

开启防火墙,查看防火墙状态后输入命令行:sysystemctl firewall-cmd --zone=public --add-service=https --permanent

firewall-cmd --reload



firewall-cmd --zone=public --add-service=http --permanent

这个命令在public区域(zone)中永久添加http服务。这意味着,当firewalld启动时,或者你重新加载防火墙规则时,它会允许http(通常是80端口)的流量通过。

--zone=public 指定了要配置的区域,public是默认的区域。

--add-service=http 告诉firewalld要添加http服务。

--permanent 表示这是一个永久性的更改,但注意,它不会立即生效,除非你重新加载或重启firewalld。

firewall-cmd --zone=public --add-service=https --permanent

这个命令与上一个类似,但它添加的是https服务(通常是443端口)。

这意味着防火墙将允许https的流量通过。

firewall-cmd --reload

这个命令重新加载firewalld的配置。这意味着,任何你之前用--permanent标志做的更改现在都会生效。

重新加载与重启firewalld不同。重启会中断所有当前的连接,而重新加载则不会。

出现三个success后即操作成功。

输入命令行:firewall-cmd --zone=public --add-port=10080/tcp --permanent

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=public --add-port=10080/tcp --permanent

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --reload

在 public 区域中永久添加一个 TCP 端口规则,允许流量通过 TCP 协议的 10080 和8080的端口。重新加载防火墙配置后查看监听的端口发现为8080和10080还有80(本来就存在)

 

 

Firefox搜索界面。在地址栏输入about:config并回车。警告页面会告诉您修改这些设置可能会有风险,点击“我接受风险!”按钮继续。在搜索框中输入network.security.ports.banned.override。选择“切换”设置,输入10080到其值字段中。重启Firefox浏览器。10.0.0.99:10080/phpMyAdmin/index.php发现成功登录到myadmin。

此时三个端口都可进入phpmyadmin

v

此时打开主机(ip为10.0.99),输入命令行:firewall-cmd --zone=public --remove-port=8080/tcp --permanent永久移除对TCP端口8080的访问权限。重新加载防火墙配置后查看可访问防火墙的端口发现只有80和10080的端口了,此时再次打开火狐浏览器发现8080端口发现该端口已不可访问phpmyadmin。

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

或者

在客户机(ip为10.0.0.119)中输入命令行: firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.99" port protocol="tcp" port="30317" accept允许从 IP 地址 10.0.0.99 发送的 TCP 流量(目标端口为 30317)通过防火墙。'后重启防火墙

 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.99" port protocol="tcp" port="30317" accept

输入命令行:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.219" port protocol="tcp" port="10080" accept'允许从 IP 地址 10.0.0.219 发送的 TCP 流量(目标端口为 10080)通过防火墙

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.219" port protocol="tcp" port="10080" accept

输入命令行:firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.219" port protocol="tcp" port="80" reject'在 public 区域中,拒绝来自 IP 地址 10.0.0.219 的 TCP 流量到端口 80重启防火墙后输入命令“ sudo firewall-cmd --zone=public --list-rich-rules查询 Firewalld 中 public 区域的所有富规则(rich rules)。

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.219" port protocol="tcp" port="80" reject'
 sudo firewall-cmd --zone=public --list-rich-rules

打开测试机(ip为10.0.0.219)输入10.0.0.99:80/phpMyAdmin/index.php发现找不到网页,可知在 public 区域中,拒绝来自 IP 地址 10.0.0.219 的 TCP 流量到端口 8080端口不允许访问防火墙。

通过本次实验,我能够掌握在Linux系统中搭建LAMP环境的基本步骤和要点。同时,我也了解到Web应用的基本架构和工作原理,以及如何在Linux系统中进行基本的服务器管理和配置。在实验过程中遇到的问题和解决方法也将成为我宝贵的经验,有助于我在未来的Web开发工作中更加得心应手。

在搭建LAMP环境时,需要注意以下几点:

确保系统的安全性:在安装和配置过程中,要注意设置合理的安全策略,如防火墙规则、数据库用户权限等,以防止恶意攻击和数据泄露。

选择合适的版本和配置:在选择Linux发行版、Apache服务器、MySQL数据库和PHP解释器的版本时,要根据实际需求和项目要求来选择。同时,也要根据实际需求来配置这些组件的参数和选项。

备份重要数据:在搭建和测试过程中,要定期备份重要的数据和配置文件,以防止意外丢失或损坏。

持续学习和更新:Web开发是一个不断发展的领域,新的技术和工具不断涌现。因此,作为Web开发者,要保持持续学习和更新的态度,不断提高自己的技能和能力。

大学生课程作业点赞加关注谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/658504.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何利用云平台上更好地规划安全生产教育与培训

在平台上进行安全教育和培训,可以采取以下步骤和策略,以确保教育的有效性和参与度: 一、明确教育目标和培训内容 确定教育目标:明确希望员工通过培训达到的安全意识和技能水平。 制定培训内容:根据行业特点、岗位需求…

科学技术创新杂志科学技术创新杂志社科学技术创新编辑部2024年第10期目录

科技创新 单桩穿越岩溶发育地层力学特征与溶洞处置措施研究 刘飞; 1-7《科学技术创新》投稿:cnqikantg126.com 基于多目标优化的中低压配电网电力规划研究 向星山;杨承俊;张寒月; 8-11 激光雷达测绘技术在工程测绘中的应用研究 张军伟;闫宏昌; 12-15 …

大语言模型的创意“魔法“:召唤隐藏的联想思维

随着人工智能的迅猛发展,大语言模型正在掀起一场"创意风暴"。这些强大的AI模型不仅能够生成栩栩如生的文本,还展现出惊人的创造力。但你是否好奇,它们的创意究竟来自何处? 最新研究表明,大语言模型的创意之源在于激活…

高熔体强度聚丙烯(HMSPP)属于高端聚丙烯 我国市场国产化进程有所加快

高熔体强度聚丙烯(HMSPP)属于高端聚丙烯 我国市场国产化进程有所加快 高熔体强度聚丙烯(HMSPP)又称高熔体强度PP,是一种含有微交联结构或长支链结构的改性聚丙烯。高熔体强度聚丙烯具有绿色环保、轻量化、结晶性好、熔…

c 系统宏有多少

在C语言中,系统宏(也称为预定义宏或内置宏)的数量并不是固定的,因为它们取决于C标准、编译器以及可能的其他因素。然而,有一些常见的预定义宏是几乎所有C编译器都支持的。 以下是一些常见的C预定义宏: __…

Creo模型按一定的比例放大或缩小(实际尺寸)

原来,距离是100mm 缩放操作 放大3倍,距离变为300mm

最强端侧多模态模型MiniCPM-V 2.5,8B 参数,性能超越 GPT-4V 和 Gemini Pro

前言 近年来,人工智能领域掀起了一股大模型热潮,然而大模型的巨大参数量级和高昂的算力需求,限制了其在端侧设备上的应用。为了打破这一局限,面壁智能推出了 MiniCPM 模型家族,致力于打造高性能、低参数量的端侧模型。…

Figma 文件批量导出到本地的方法

作为新一代UX设计师,我们应该熟练地使用市场上的许多设计软件,并更熟悉它们的软件功能。现在市场上的即时设计,作为一种在线合作设计工具,值得成为许多设计师的常用工具。最近,我了解到即时设计进行了新的功能更新&…

激光雷达测试板智能系统应用

在自动驾驶技术和机器人感知系统的迅猛发展中,激光雷达(Lidar)作为一种先进的测距技术,正逐渐成为这些系统不可或缺的组成部分。而在这一技术的实际应用前,对激光雷达进行精确的测试和校准是至关重要的一步。激光雷达测…

C#根据数据量自动排版标签的样例

这是一个C#根据数据量自动排版标签的样例 using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using HslCommuni…

[C][符号]详细讲解

目录 1.算术操作符2.接续符和转义符 \1.续行符使用2.转义 3.单引号和双引号4.逻辑运算符5.位运算符6.移位操作符7. --操作8.条件操作符9.逗号表达式10.操作符的属性 1.算术操作符 算术操作符: - * / %除了%操作符以外,其他的几个操作符可以作用于整数和…

永久免费SSL证书领取流程

一、SSL证书的前世今生 起源: SSL证书起源于1994年,当时网景公司(Netscape)推出了安全套接字层(SSL,Secure Sockets Layer)协议,这是一种加密通信协议,用于在客户端和服…

【软考】系统架构师知识点

目录 环路复杂度McCabe软件工具分类需求分类软件测试中间件分类等保(信息安全等级保护)数据流图DFD微内核架构信息系统生命周期区块链MDA模型驱动架构EJBSOA微服务REST五大原则管道过滤器 VS 仓库风格虚拟机风格质量属性 & 非功能性需求敏感点、权衡…

“2024深圳数字能源展”共同探讨数字能源未来发展方向和挑战

在数字化浪潮的推动下,新一轮科技革命与产业革命正以前所未有的速度加速兴起。在这个时代背景下,数字化技术与能源行业的高度融合,使得能源数字化成为未来发展的必然趋势。数字经济浪潮的蓬勃兴起,为能源行业的数字化转型提供了强…

JAVA面试题大全(十八)

1、说一下 jvm 的主要组成部分?及其作用? 类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)…

【微服务】安装docker以及可视化界面

1.配置yum下载源为aliyun源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.下载docker不加版本号默认为最新版本 yum install -y docker-ce3.启动以及开机自启 #启动docker命令 systemctl start docker #设置开机自启命令…

免费,Python蓝桥杯等级考试真题--第16级(含答案解析和代码)

Python蓝桥杯等级考试真题–第16级 一、 选择题 答案:B 解析:(75)//212//26,故答案为B。 答案:B 解析:因为x15,所以range(2,15),i的取值为2-14&a…

【机器学习】Pandas中to_pickle()函数的介绍与机器学习中的应用

【机器学习】Pandas中to_pickle()函数的介绍和机器学习中的应用 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 &#…

离线deb安装下载及安装实例

1、使用apt download下载deb安装包(不包括依赖包) 1.1仅下载deb安装包 sudo apt download lrzsz 1.2安装载deb安装包 sudo dpkg -i lrzsz_0.12.21-10kylin0k2_arm64.deb 注:dpkg安装deb包,部分存在depends关系,需要使用apt-get -f instal…

Meterpreter工具使用

Meterpreter属于stage payload,在Metasploit Framework中,Meterpreter是一种后渗透工具,它 属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注 入”理念实现的,它能够通过创建一个新进…