LAMP(Linux、Apache、MySQL、PHP)是经典的Web开发环境组合,适用于动态网站与Web应用的开发与测试。本指南以Ubuntu 22.04 LTS为基础,逐步完成LAMP环境的搭建与配置。
sudo apt update && sudo apt upgrade -y
Apache是LAMP架构中的核心Web服务器,负责处理HTTP请求与响应。
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
http://192.168.1.100),若看到Apache默认欢迎页面(包含“It works!”字样),则说明安装成功。MySQL是LAMP架构中的关系型数据库,用于存储Web应用的结构化数据。
sudo apt install mysql-server -y
mysql_secure_installation脚本,强化数据库安全性。
auth_socket,仅本地登录无需密码);sudo mysql_secure_installation
sudo mysql -u root -p
输入root密码后,若进入MySQL命令行界面(显示mysql>),则说明安装成功。PHP是LAMP架构中的脚本语言,用于处理动态页面逻辑。
mysql用于数据库连接、gd用于图像处理、mbstring用于多字节字符串处理等)。sudo apt install php libapache2-mod-php php-mysql php-gd php-mbstring php-curl php-xml -y
sudo systemctl restart apache2
info.php测试文件,查看PHP信息。sudo nano /var/www/html/info.php
在文件中输入以下内容,保存并退出(Ctrl+O→Enter→Ctrl+X):<?php phpinfo(); ?>
在浏览器中访问http://服务器IP/info.php,若看到PHP版本、扩展列表等信息,则说明PHP安装成功。确保Apache能正确解析PHP文件,需调整目录索引与模块配置。
index.php添加到DirectoryIndex首位。sudo nano /etc/apache2/mods-enabled/dir.conf
修改前:<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
修改后:<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
sudo systemctl restart apache2
验证PHP是否能连接MySQL数据库,确保环境协同工作。
sudo mysql -u root -p
在MySQL命令行中输入:CREATE DATABASE testdb; -- 创建名为testdb的数据库
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'your_password'; -- 创建用户并设置密码
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost'; -- 授权用户对数据库的所有权限
FLUSH PRIVILEGES; -- 刷新权限
EXIT; -- 退出MySQL
/var/www/html目录下创建db_test.php文件。sudo nano /var/www/html/db_test.php
输入以下内容,保存并退出:<?php
$servername = "localhost";
$username = "testuser";
$password = "your_password";
$dbname = "testdb";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "成功连接到MySQL服务器!";
$conn->close();
?>
http://服务器IP/db_test.php,若看到“成功连接到MySQL服务器!”字样,则说明LAMP环境配置成功。sudo ufw allow 'Apache Full' -- 允许HTTP与HTTPS
sudo ufw enable -- 启用防火墙
/etc/apache2/sites-available/目录下创建虚拟主机配置文件(如mywebsite.conf),并通过a2ensite命令启用。/etc/php/8.1/apache2/php.ini(根据PHP版本调整路径),修改upload_max_filesize(上传文件大小限制)、memory_limit(脚本内存限制)、date.timezone(时区)等参数,提升应用性能。/var/www/html需为www-data用户所有),或配置文件中的Directory指令是否允许访问。libapache2-mod-php),并重启Apache服务。