LAMP搭建
引子:本篇文章为LAMP的搭建流程,其中L(Ubuntu)、A(Apache)、M(Mysql)、P(PHP)。
一、L → Ubuntu
Step 1:在Vmware Workstation中使用Ubuntu 22.04 ISO镜像安装Ubuntu。
- 搜索Ubuntu ISO 清华镜像下载,下载Ubuntu 22.04镜像文件。
- 下载完成后,通过VM且使用下载好的镜像文件,安装Ubuntu 22.04。
- 首先需设置虚拟机硬件信息。
- 虚拟机硬件设置完成后,跟随GUI引导安装Ubuntu系统。
- 首先需设置虚拟机硬件信息。
二、A → Apache
Step 2:Ubuntu安装Apache中间件,参考文章:https://blog.csdn.net/qq_35241329/article/details/135748068
-
更新apt软件包索引
bash# 以root用户权限执行更新软件包索引 sudo apt update
-
使用apt安装apache中间件
bash# 安装apache sudo apt install apache2
-
确认apache服务状态
bash# 确认apache服务状态 sudo systemctl status apache2 # 设置apache服务开机自启 sudo systemctl enable apache2
-
防火墙放通apache服务
bash# 防火墙放通访问apache服务的入站流量 sudo ufw allow 'Apache' # 查看防火墙状态 sudo ufw status
bash# 至于这个'Apache'具体是什么? # 可查看Apache服务所提供给防火墙的配置文件 sudo cat /etc/ufw/applications.d/apache2-utils.ufw.profile
-
使用浏览器访问Ubuntu虚拟机的80端口,验证Apache是否安装&配置成功。
三、M → Mysql
Step 3:Ubuntu安装Mysql服务,参考文章:https://blog.csdn.net/weixin_45626288/article/details/133220238
-
使用apt安装Mysql服务。
bash# 安装mysql sudo apt install mysql-server
-
确认Mysql服务状态。
bash# 查看mysql服务状态 sudo systemctl status mysql # 设置mysql服务开机自启 sudo systemctl enable mysql
bash# 查看安装mysql服务版本 sudo mysql --version
-
为Mysql中root用户设置密码
bash# 以root用户登录mysql sudo mysql -u root
mysql# 设置root用户密码为:123456 alter user 'root'@'localhost' identified with mysql_native_password by '123456';
bash# 密码设置完成后,再次以root用户登录 sudo mysql -u root -p
四、P → PHP
Step 4:Ubuntu安装PHP,并通过脚本验证PHP能否实现与Mysql的通信。让我们请出万能的GPT。
-
apt安装php。
bash# 安装php及相关组件 sudo apt install php php-cli php-mysql
bash# 重启apache服务,使之加载php模块 sudo systemctl restart apache2 # 查看安装php版本信息 sudo php -v
-
测试PHP是否能与Mysql通信。
-
写一个PHP与Mysql间的通信脚本。
php<?php echo "Hello~ ^_^".'<hr>'; $servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "mysql"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "成功连接到 MySQL 数据库!"; // 关闭连接 $conn->close(); ?>
-
上传脚本至/var/www/html目录下。(注:该脚本于other用户需要有读权限。)
-
使用浏览器访问该脚本文件测试是否能成功通信。
-
至此,LAMP搭建实验完成!