温馨提示×

如何在Debian上搭建LAMP

小樊
43
2026-07-02 03:41:10
栏目: 智能运维

在 Debian 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境,可按以下步骤操作。以下示例基于 Debian 11/12,使用 MariaDB 作为数据库(MySQL 的开源替代,Debian 默认推荐)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Apache

1. 安装 Apache

sudo apt install apache2 -y

2. 启动并设置开机自启

sudo systemctl start apache2
sudo systemctl enable apache2

3. 验证 Apache

浏览器访问:

http://服务器IP

看到 Apache Debian Default Page 即成功。


三、安装 MariaDB(数据库)

1. 安装 MariaDB

sudo apt install mariadb-server -y

2. 启动并设置开机自启

sudo systemctl start mariadb
sudo systemctl enable mariadb

3. 初始化数据库安全设置

sudo mysql_secure_installation

常见选项:

  • 设置 root 密码:✅
  • 移除匿名用户:✅
  • 禁止 root 远程登录:✅
  • 删除 test 数据库:✅
  • 刷新权限:✅

4. 登录测试

sudo mysql -u root -p

四、安装 PHP

1. 安装 PHP 及常用模块

sudo apt install php libapache2-mod-php php-mysql php-cli php-common php-curl php-json php-gd php-mbstring php-xml php-zip -y

2. 验证 PHP 版本

php -v

五、测试 PHP + Apache

1. 创建测试文件

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. 浏览器访问

http://服务器IP/info.php

看到 PHP 信息页即成功。

3. 删除测试文件(安全)

sudo rm /var/www/html/info.php

六、配置 Apache 虚拟主机(可选)

示例:新建站点 example.com

sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com

创建虚拟主机配置:

sudo nano /etc/apache2/sites-available/example.com.conf

内容示例:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用站点:

sudo a2ensite example.com.conf
sudo systemctl reload apache2

七、开启 URL 重写(常用)

sudo a2enmod rewrite
sudo systemctl restart apache2

八、防火墙放行 HTTP(如启用 UFW)

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

九、常见问题排查

  • Apache 无法启动:journalctl -xe
  • PHP 不解析:确认 libapache2-mod-php 已安装
  • 权限问题:chown -R www-data:www-data /var/www

如果你需要:

  • LNMP(Nginx 替代 Apache)
  • PHP 多版本共存
  • HTTPS(Let’s Encrypt)
  • Debian 10 / 12 特定差异

可以直接告诉我你的 Debian 版本和使用场景。

0