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 各组件说明
| 组件 | 版本选择 | 说明 |
|---|---|---|
| Apache2 | 2.4(系统默认) | Web 服务器,处理 HTTP 请求 |
| MySQL / MariaDB | MySQL 8.0 / MariaDB 10.11 | 关系型数据库 |
| PHP | 8.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.phpphpinfo 页面不能留在生产环境
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 服务器后全程使用。