温馨提示×

Debian LAMP下如何部署WordPress

小樊
41
2026-01-03 09:06:02
栏目: 智能运维

在 Debian 上部署 WordPress 的 LAMP 实操指南

一 准备与系统要求

  • 操作系统建议:Debian 11/12,具备 sudo 权限的非 root 用户。
  • 资源建议:至少 1GB RAM,磁盘空间视站点规模而定。
  • 基础组件:安装并验证 Apache2、MariaDB/MySQL、PHP 正常工作。Debian 12 仓库默认提供 PHP 8.2,可直接安装使用。

二 安装与验证 LAMP 环境

  • 更新索引并安装组件
    sudo apt update
    sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql
    sudo systemctl enable --now apache2 mariadb
    
  • 安全加固数据库
    sudo mysql_secure_installation
    
    按向导设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库并刷新权限。
  • 验证 PHP
    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    
    浏览器访问 http://服务器IP/info.php,看到 PHP 信息页即正常。完成后可删除测试文件:sudo rm /var/www/html/info.php

三 创建数据库与用户

  • 登录数据库并创建站点专用账户与库(请替换为强密码)
    sudo mysql -u root -p
    
    CREATE DATABASE wpdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPass!';
    GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    
  • 说明:生产环境不建议直接使用 root 连接 Web 应用;使用专用账户可缩小攻击面。

四 部署 WordPress 文件与权限

  • 下载并解压到站点目录(示例为根目录,也可改为 /var/www/html/example.com
    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar xzvf latest.tar.gz
    sudo cp -a /tmp/wordpress/. /var/www/html/
    
  • 设置所有权与权限
    sudo chown -R www-data:www-data /var/www/html/
    sudo find /var/www/html/ -type d -exec chmod 755 {} \;
    sudo find /var/www/html/ -type f -exec chmod 644 {} \;
    
  • 生成并编辑配置文件
    cd /var/www/html
    sudo cp wp-config-sample.php wp-config.php
    sudo nano wp-config.php
    
    修改以下关键项(与上文数据库保持一致):
    define('DB_NAME', 'wpdb');
    define('DB_USER', 'wpuser');
    define('DB_PASSWORD', 'StrongPass!');
    define('DB_HOST', 'localhost');
    define('FS_METHOD', 'direct');  // 允许 WordPress 直接写入文件(可选)
    
    完成后保存退出。

五 配置 Apache 与可选 HTTPS

  • 启用重写模块并重载
    sudo a2enmod rewrite
    sudo systemctl reload apache2
    
  • 可选:强制 HTTPS(需已有证书,示例使用自签名或 Let’s Encrypt)
    1. 在站点配置或默认站点中设置重定向(端口 80 → 443
      sudo nano /etc/apache2/sites-available/000-default.conf
      
      在 VirtualHost 内添加:
      ServerName yourdomain.com
      Redirect permanent / https://yourdomain.com/
      
    2. 启用 SSL 站点并指定证书
      sudo a2ensite default-ssl.conf
      sudo nano /etc/apache2/sites-available/default-ssl.conf
      
      确保包含:
      SSLEngine on
      SSLCertificateFile    /etc/letsencrypt/live/yourdomain.com/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
      # 如使用中间证书,可添加:
      # SSLCertificateChainFile /path/to/chain.pem
      
    3. 重载服务
      sudo systemctl reload apache2
      
  • 防火墙放行(如使用 UFW)
    sudo ufw allow in "Apache Full"
    sudo ufw enable && sudo ufw status
    
  • 访问安装向导
    • HTTP 站点:打开 http://服务器IP/http://yourdomain.com/,进入 WordPress 安装页面,设置站点标题、管理员账号与密码。
    • HTTPS 站点:打开 https://yourdomain.com/ 完成安装。

六 常见问题与优化

  • 上传限制过小:编辑对应 php.ini(如 /etc/php/8.2/apache2/php.ini),提升限制并重启 Apache
    upload_max_filesize = 128M
    post_max_size     = 256M
    max_execution_time = 300
    memory_limit      = 256M
    sudo systemctl restart apache2
    
  • 固定链接 404:确保启用 mod_rewrite,且站点目录的 AllowOverrideAll(Apache 2.4 示例)
    sudo nano /etc/apache2/apache2.conf
    # 在 <Directory /var/www/> 内:
    #   AllowOverride All
    sudo systemctl reload apache2
    
  • 目录权限与更新:保持 /var/www/html 属主为 www-data,并在 wp-config.php 中设置 FS_METHOD=‘direct’ 可避免“需要 FTP 凭据”的问题。
  • 性能与稳定:安装常用扩展(如 php-curl、php-gd、php-mbstring、php-xml、php-zip、php-intl、php-opcache),并启用 OPcache 提升加载速度。

0