LAMP 是 Linux + Apache + MySQL + PHP 的经典组合,是 Web 开发与建站的"老牌黄金搭档"。与 LNMP 不同,LAMP 使用 Apache 作为 Web 服务器,对 .htaccess 和 mod_rewrite 的支持更原生,部分老牌 CMS 和框架默认以 Apache 为目标环境。本文以 Debian/Ubuntu 为主,通过系统包管理器安装 Apache、MySQL 和 PHP,并完成基础配置与功能验证。

本文要点

  • 通过 apt 安装 Apache2、MySQL Server、PHP
  • 配置虚拟主机(Virtual Host)
  • 测试 PHP 是否正常工作
  • 常用 Apache 管理命令

LAMP 各组件说明

组件版本选择说明
Apache22.4(系统默认)Web 服务器,处理 HTTP 请求
MySQL / MariaDBMySQL 8.0 / MariaDB 10.11关系型数据库
PHP8.1 / 8.2脚本语言运行时
libapache2-mod-php随 PHP 版本Apache 的 PHP 模块

安装各组件

更新软件包列表

apt update && apt upgrade -y

安装 Apache2

apt install -y apache2
systemctl enable --now apache2
# 验证:浏览器访问 http://服务器IP 应看到 Apache 默认页面

安装 MySQL

apt install -y mysql-server
systemctl enable --now mysql
# 安全初始化(设置 root 密码、删除匿名用户等)
mysql_secure_installation

务必运行 mysql_secure_installation

这一步会引导你设置 MySQL root 密码、删除匿名账户、禁止 root 远程登录等,生产环境必做。

安装 PHP 及常用扩展

apt install -y php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip
php -v   # 确认 PHP 版本

配置 Apache 虚拟主机

为你的网站创建独立的 Virtual Host 配置:

# 创建网站根目录
mkdir -p /var/www/example.com/public_html
chown -R www-data:www-data /var/www/example.com

# 创建虚拟主机配置文件
nano /etc/apache2/sites-available/example.com.conf

填入以下内容(替换域名和路径):

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

启用站点并重载:

a2ensite example.com.conf
a2enmod rewrite   # 启用 URL 重写模块
systemctl reload apache2

测试 PHP 是否正常工作

创建一个测试文件:

echo "<?php phpinfo(); ?>" > /var/www/example.com/public_html/info.php

在浏览器访问 http://服务器IP/info.php,若出现 PHP 信息页则 LAMP 工作正常。确认后立即删除该文件,避免泄露配置信息:

rm /var/www/example.com/public_html/info.php

phpinfo 页面不能留在生产环境

phpinfo() 会暴露服务器的 PHP 版本、扩展、路径等敏感信息,测试完成后必须删除 info.php。

常用管理命令

systemctl start|stop|restart|reload apache2   # Apache 控制
a2ensite <配置名>          # 启用站点
a2dissite <配置名>         # 禁用站点
a2enmod <模块名>           # 启用模块
apache2ctl -t              # 测试配置语法

小结

  • apt 安装 Apache2 + MySQL + PHP,步骤简洁,适合 Debian/Ubuntu
  • 每个网站创建独立的 Virtual Host 配置文件
  • 务必运行 mysql_secure_installation 加固数据库
  • phpinfo 测试文件用完即删
  • 启用 mod_rewrite 以支持 URL 重写(WordPress 等 CMS 必需)

常见问题

LAMP 和 LNMP 哪个更适合 WordPress?

两者均可。WordPress 推荐 Apache(原生支持 .htaccess),但 Nginx 配置好也完全没问题,现在 LNMP 建站的用户更多。

MySQL 和 MariaDB 可以互换吗?

MariaDB 是 MySQL 的社区分支,API 兼容,Debian/Ubuntu 官方源提供的 mysql-server 通常就是 MariaDB,功能基本等价。

Apache 和 Nginx 不能同时运行在 80 端口吗?

同一台服务器上两者不能同时监听 80 端口,会冲突。选定一个 Web 服务器后全程使用。