赞
踩
实验目的
1.理解LAMP架构:通过实验,可以深入理解LAMP架构的组成部分及其工作原理。LAMP是一组常用来搭建动态网站或服务器的开源软件,它们共同构成了一个强大的Web应用程序平台。
2.熟悉LAMP环境搭建:通过亲手搭建LAMP环境,可以熟悉各组件的安装、配置和调试过程,提升实际操作能力。
3.加强系统安全性:通过使用防火墙来增加安全性,可以深入理解防火墙的功能和工作原理,熟悉如何配置和使用防火墙来保护系统免受外部威胁。防火墙能增强机构内部网络的安全性,决定哪些内部服务可以被外界访问,外界的哪些人可以访问内部的服务,以及哪些外部服务可以被内部人员访问。
4.实践安全策略:通过配置防火墙来限制对LAMP环境的访问,可以实践安全策略,例如只允许授权的数据通过,并防止未授权的访问和潜在的安全威胁。
5.提升实践技能:通过完成这个实验,可以提升在Linux系统操作、网络服务搭建、数据库
实训内容
1、用RedHat、Test和Dtabase三台机器
2、RedHat安装PHP和Apache,通过phpadmin允许访问Database的数据库,Database安装mysql
3、,Test允许访问RedHat,RedHat允许访问Database,但Test不能访问Database
4、分别修改RedHat服务端口和Database服务端口重新登录
实训结果
用到三台机器分别是Test:10.0.0.230;RedHat:10.0.0.210;Database:10.0.0.240
(1.)下载安装redhot虚拟机
详情参考:关于Red Hat rhel9 账户注册和下载安装_rhel下载-CSDN博客
(2.)网络以及分配IP
详情参考:Redhat Enterprise Linux 9网络配置以及远程连接_红帽9怎么连网-CSDN博客
(3).本地源或者国内yum源的配置
详情参考:Linux rhel9 配置本地yum源和国内yum源(适合新手小白体质)_yum镜像源-CSDN博客
Databas机搭建数据库
(1).下载数据库MySQL
安装和配置MySQL
使用包管理器安装MySQL数据库。
yum install mysql mysql-server
如图所示即下载完成
systemctl start mysqld
启动MySQL服务。
systemctl enable mysqld
设置MySQL为开机自启动。
运行mysql_secure_installation
脚本进行安全设置(如设置root密码、删除匿名用户等)。
如图所示,安装完成并且正常启动
如图,进入/etc/my.cnf进行配置更改
如图所示即完成配置更改,其余虚拟机可以使用这个虚拟机上搭建的MySQL
yum
)安装Apache服务器。yum install httpd httpd-devel
systemctl start httpd
启动Apache服务。systemctl enable httpd
设置Apache为开机自启动。配置完成后可以在浏览器中看到以下页面
不需要过多操作
因为lamp平台中phpadmin和MySQL并不在一个虚拟机当中,所以要更改文件配置
首先需要更改MySQL上的设置,主要是需要创建一个用户并且给为这个IP的地址,作为他的用户
登录到MySQL服务器
首先,你需要使用具有足够权限的MySQL用户(通常是root用户)登录到MySQL服务器。你可以通过命令行客户端、MySQL Workbench或其他MySQL管理工具来执行此操作。
mysql -u root -p
然后输入你的MySQL root 用户的密码。
创建用户
如果还没有该用户,你可以使用CREATE USER语句来创建一个新用户。指定用户名和允许其连接的主机。
CREATE USER 'yourusername'@'10.0.0.230' IDENTIFIED BY 'yourpassword';
这里,'yourusername' 是你想要创建的用户名,'10.0.0.230' 是允许连接的IP地址,'yourpassword' 是该用户的密码。
如果你想允许该用户从任何IP地址连接,你可以使用通配符%:
CREATE USER 'yourusername'@'%' IDENTIFIED BY 'yourpassword';
但请注意,出于安全考虑,通常不建议这样做,除非你确实需要这样做,并且你了解相关的安全风险。
授予权限
接下来,你需要使用GRANT语句来授予用户所需的权限。例如,如果你想让用户能够访问名为yourdatabase的数据库中的所有表,你可以这样做:
GRANT ALL PRIVILEGES ON yourdatabase.* TO 'yourusername'@'10.0.0.230';
如果你想让用户拥有对所有数据库的所有权限,你可以这样做:
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'10.0.0.230';
但同样,出于安全考虑,通常最好只授予用户所需的最小权限。
/* Server parameters */
$cfg['Servers'][$i]['host'] = '10.0.0.240'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysqli'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'myuser'; // MySQL user
$cfg['Servers'][$i]['password'] = 'mypassword'; // MySQL password
这里的mydatabase是你要创建的数据库名,myuser是用户名,mypassword是用户的密码。请确保将mypassword替换为一个强密码。
配置phpMyAdmin以连接到数据库
在phpMyAdmin所在的主机(10.0.0.210)上,你需要编辑phpMyAdmin的配置文件(通常是config.inc.php),以指定MySQL服务器的地址、用户名和密码。
弄完以上内容在浏览器内输入IP就可看到以下页面
三台虚拟机中的浏览器都可以查看到
更改配置文件,首先是apache的端口在apache的配置文件中,一般存在/etc/httpd/conf.d中更改port,我这里的更改是10080,直接更改就可以了
其次ssh,在ssh配置文件中更改为10022
最后更改MySQL的端口,在/etc/my.conf中添加port:30438即可以了,更改完mysql之后,需要将phpadmin中的配置文件的3036默认端口更改为30438,就完成端口的修改
配置完成端口后,进入浏览器查看,这次需要输入端口号10080,才可以查看到
并且更改完ssh后,远程连接需要更改端口,用win11终端输入ssh lius@10.0.0.210/230/240 -p 10022才可以远程连接成功
远程连接:
在每台主机上,您需要配置防火墙以允许从外部IP地址到10022端口的SSH连接,并拒绝来自其他两台主机的连接。这通常可以通过iptables或firewalld来实现。 以firewalld为例,您可以使用以下命令来允许从任何外部IP地址的SSH连接,并拒绝来自特定IP地址的连接:
# 允许SSH连接(10022端口)
sudo firewall-cmd --zone=public --add-port=10022/tcp --permanent
sudo firewall-cmd --reload
# 拒绝来自其他两台主机的连接(需要针对每台主机分别执行)
sudo firewall-cmd --zone=public --add-source=10.0.0.210 --reject --port=10022/tcp --permanent
sudo firewall-cmd --zone=public --add-source=10.0.0.230 --reject --port=10022/tcp --permanent
sudo firewall-cmd --zone=public --add-source=10.0.0.240 --reject --port=10022/tcp --permanent
sudo firewall-cmd --reload
但是,由于您希望这三台主机不能互相远程连接,您实际上不需要在最后三个命令中包含所有三台主机的IP地址。每台主机只需要拒绝来自其他两台主机的连接。
数据库与phpadmin数据流:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.230" port protocol="tcp" port="30438" accept'
sudo firewall-cmd –reload
三台机子的虚拟机防火墙规则如下
Test:
Database
Redhot:
更改完后在redhot,test上可以进入页面,如下
而在Database中无法访问页面,显示如下
远程连接
Test:
Database:
Redhot:
实验总结
一、实验目标
本次实验的目标是成功在Linux系统上搭建LAMP环境,以便能够支持动态网站的开发和运行。通过安装和配置Apache、MySQL和PHP,我们期望能够创建一个功能完善的Web服务器,为后续的项目开发和部署提供稳定的基础。
二、实验步骤
三、遇到的问题及解决方案
在实验过程中,我们遇到了一些问题,如MySQL安装过程中的权限问题、PHP与MySQL的连接问题等。针对这些问题,我们通过查阅官方文档、搜索网络资源以及咨询同学和老师,最终找到了解决方案并成功解决了这些问题。
四、实验结论与感悟
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。