温馨提示×

Debian LAMP服务器配置指南

小樊
45
2025-12-06 20:56:59
栏目: 云计算

Debian LAMP 服务器配置指南

一 环境准备与安装

  • 更新系统并安装基础组件:
    • 执行:sudo apt update && sudo apt upgrade -y
  • 安装 Apache
    • 执行:sudo apt install apache2 -y
    • 启动与开机自启:sudo systemctl start apache2 && sudo systemctl enable apache2
    • 验证:sudo systemctl status apache2(应显示 active (running)
  • 安装 MariaDB(Debian 默认):
    • 执行:sudo apt install mariadb-server -y
    • 安全初始化:sudo mysql_secure_installation
  • 安装 PHP 与常用模块(将 7.x 替换为实际版本,如 8.2):
    • 执行:sudo apt install php libapache2-mod-php php-mysql php-cli php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-readline -y
    • 重启 Apache:sudo systemctl restart apache2
  • 防火墙放行(如使用 UFW):
    • 执行:sudo ufw allow 'Apache Full' && sudo ufw enable

二 验证与基础配置

  • 验证 PHP:
    • 创建测试文件:echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/info.php,应看到 PHP 信息页
  • 可选安装 phpMyAdmin(Web 管理数据库):
    • 执行:sudo apt install phpmyadmin -y(安装时选择 Apache
    • 访问:http://服务器IP/phpmyadmin
  • 基本目录与权限:
    • 网站根目录默认:/var/www/html
    • 上传文件或部署应用后,按需设置目录属主与权限(示例:sudo chown -R www-data:www-data /var/www/html 并控制权限位数)

三 虚拟主机与 HTTPS

  • 配置虚拟主机(示例域名: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>
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
          </Directory>
          ErrorLog ${APACHE_LOG_DIR}/example_error.log
          CustomLog ${APACHE_LOG_DIR}/example_access.log combined
      </VirtualHost>
      
    • 启用站点:sudo a2ensite example.com.conf
    • 可选禁用默认站点:sudo a2dissite 000-default.conf
    • 使配置生效:sudo systemctl reload apache2
  • 启用 HTTPS(Let’s Encrypt):
    • 安装 Certbot:sudo apt install certbot python3-certbot-apache
    • 获取并自动配置证书:sudo certbot --apache -d example.com -d www.example.com
    • 按提示选择是否重定向 HTTP→HTTPS,证书将自动续期

四 常用优化与安全加固

  • PHP 常用配置(编辑对应版本的 php.ini,如:/etc/php/8.2/apache2/php.ini):
    • 调整上传与执行限制:
      • upload_max_filesize = 64M
      • post_max_size = 64M
      • max_execution_time = 300
      • memory_limit = 256M
    • 生效:sudo systemctl restart apache2
  • Apache 性能与安全:
    • 隐藏版本信息:sudo a2dismod status(如启用)
    • 启用压缩(按需):sudo a2enmod deflate && sudo systemctl reload apache2
  • 数据库安全:
    • 已完成 mysql_secure_installation(设置 root 强密码、移除匿名用户、禁止远程 root 登录、删除测试库)
    • 创建应用专用数据库与用户(示例):
      sudo mysql -u root -p
      CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      CREATE USER 'app_user'@'localhost' IDENTIFIED BY '强密码';
      GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
      FLUSH PRIVILEGES;
      EXIT;
      
  • 系统与服务安全:
    • 保持系统更新:sudo apt update && sudo apt upgrade -y
    • 仅开放必要端口(如 80/443),禁用不必要服务与端口
    • SSH 安全:禁用 root 登录、使用 SSH 密钥、可更改默认端口

五 故障排查与离线安装

  • 故障排查要点:
    • Apache 未启动:检查端口占用 sudo ss -tulpen | grep ':80\|:443',查看日志 sudo journalctl -xeu apache2
    • PHP 不解析:确认模块加载 apache2ctl -M | grep php,检查站点配置 AllowOverride All 与目录权限
    • 数据库连接失败:核对 /etc/php/*/apache2/php.iniextension=mysqli/pdo_mysql 启用状态与数据库凭据
    • 证书签发失败:确保域名解析指向服务器、防火墙放行 80/443、NTP 时间同步
  • 离线安装 MySQL 8.0/8.4(适用于 Debian 12 等):
    • MySQL 官网下载 DEB Bundle,安装依赖:sudo apt install -y libaio1 libmecab2 libnuma1 psmisc
    • 预配置包:sudo dpkg-preconfigure mysql-community-server_*.deb
    • 安装顺序示例:sudo dpkg -i mysql-{common,community-client-plugins,community-client-core,community-client,client,community-server-core,community-server,server}_*.deb
    • 启动与验证:sudo systemctl enable --now mysqlmysql -V 应显示版本号

0