在阿里云上搭建LAMP环境需要哪些基础系统配置?

在阿里云上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,需从基础系统配置入手,确保安全、稳定、可维护。以下是关键的基础系统配置建议(以主流 CentOS 7/8 或 Alibaba Cloud Linux / Ubuntu 20.04+ 为例):

✅ 一、实例选择与初始化配置

  1. 实例规格

    • 推荐:2核4GB 起(轻量应用或测试),生产环境根据并发量选择(如4核8GB+)
    • 系统镜像:优先选用 Alibaba Cloud Linux 3(推荐,深度优化、长期支持)CentOS Stream 8/9 / Ubuntu 22.04 LTS(避免已停更的 CentOS 7)
  2. 安全组配置(至关重要!)

    • 仅开放必要端口(最小权限原则):
      • 80/tcp(HTTP)
      • 443/tcp(HTTPS,后续配置SSL必需)
      • 22/tcp(SSH,强烈建议修改默认端口 + 绑定IP白名单 + 禁用密码登录(改用密钥)
      • ❌ 禁止开放 3306(MySQL)公网端口!内网访问或通过跳板机/云数据库RDS替代
    • 建议:为数据库服务单独配置内网安全组规则(如允许同VPC内Web服务器访问)

✅ 二、系统级基础加固与优化

  1. 更新系统 & 安装基础工具

    # Alibaba Cloud Linux / CentOS
    sudo dnf update -y          # 或 yum update -y(CentOS 7)
    sudo dnf install -y vim wget curl git net-tools lsof htop iftop unzip
    
    # Ubuntu
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y vim wget curl git net-tools lsof htop iftop unzip
  2. 创建非root管理用户(禁用root远程登录)

    sudo useradd -m -s /bin/bash deploy
    sudo usermod -aG wheel deploy    # CentOS/Alibaba Cloud Linux(等价于sudo组)
    # Ubuntu: sudo usermod -aG sudo deploy
    sudo passwd deploy               # 设置密码(但建议后续禁用密码登录)
  3. SSH 安全强化(/etc/ssh/sshd_config)

    Port 2222                          # 修改非默认端口(需同步更新安全组)
    PermitRootLogin no                 # 禁止root登录
    PasswordAuthentication no          # 禁用密码,强制密钥认证
    PubkeyAuthentication yes
    AllowUsers deploy                  # 仅允许指定用户

    → 执行 sudo systemctl restart sshd先验证新用户密钥登录成功后再退出原会话

  4. 防火墙配置(启用并精简规则)

    • Alibaba Cloud Linux/CentOS:启用 firewalld(或 iptables
      sudo systemctl enable firewalld
      sudo systemctl start firewalld
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --permanent --add-port=2222/tcp   # 若改了SSH端口
      sudo firewall-cmd --reload
    • Ubuntu:启用 ufw
      sudo ufw allow OpenSSH    # 注意:若改了SSH端口,需写成 `sudo ufw allow 2222`
      sudo ufw allow 'Apache Full'
      sudo ufw enable

✅ 三、时间同步与日志管理

  • 启用 NTP 时间同步(防止证书/会话异常):
    sudo timedatectl set-ntp true
    sudo timedatectl status  # 确认状态为 "active"
  • 日志轮转配置(默认已启用,可检查 /etc/logrotate.d/
  • 建议:将 Web/MySQL 日志目录挂载到独立云盘(提升IO性能与数据隔离)

✅ 四、磁盘与文件系统(可选但推荐)

  • 数据盘挂载(如 /data 用于网站根目录、数据库存储):
    # 格式化(首次)→ 创建挂载点 → 挂载 → 写入 /etc/fstab 实现开机自动挂载
    sudo mkfs.xfs /dev/vdb
    sudo mkdir /data
    sudo mount /dev/vdb /data
    echo "/dev/vdb /data xfs defaults 0 0" | sudo tee -a /etc/fstab

✅ 五、SELinux(仅 CentOS/Alibaba Cloud Linux)

  • 生产环境建议保持 Enforcing(增强安全),但需适配LAMP:
    sudo setsebool -P httpd_can_network_connect_db 1   # 允许Apache连接数据库
    sudo setsebool -P httpd_read_user_content 1        # 如需读取用户家目录内容
    # 或临时调试:sudo setenforce 0(不推荐长期使用)

✅ 六、其他最佳实践

  • 禁用IPv6(如无需):减少攻击面,避免配置错误(编辑 /etc/sysctl.confnet.ipv6.conf.all.disable_ipv6 = 1
  • 配置邮件通知(可选):安装 mailxssmtp,用于监控告警
  • 定期快照策略:对系统盘 + 数据盘设置自动快照(阿里云控制台配置)
  • 开启云监控Agent:安装 AliyunCloudMonitor,实时监控CPU/内存/磁盘/网络

⚠️ 重要提醒:

  • 数据库强烈建议使用阿里云 RDS(MySQL/PostgreSQL),而非自建MySQL:更安全、高可用、自动备份、免运维。若必须自建,请确保:
    • MySQL 绑定 127.0.0.1 或内网IP(bind-address = 127.0.0.1
    • 运行 mysql_secure_installation 强化安全
  • Web目录权限严格控制/var/www/html 所有者设为 apache:apache(CentOS)或 www-data:www-data(Ubuntu),禁止写权限(除 uploads 等明确需要目录外)

✅ 后续步骤(LAMP安装概览):

  1. 安装 Apache(httpdapache2)→ 启动并设开机自启
  2. 安装 PHP(推荐 8.1+)及常用扩展(php-mysqlnd, php-gd, php-xml, php-opcache
  3. 安装 MariaDB(CentOS)或 MySQL Server(Ubuntu)→ 初始化安全配置
  4. 配置虚拟主机、HTTPS(Let’s Encrypt + Certbot)、OPcache、PHP-FPM(可选)

如需我为你提供 分步命令脚本(适配 Alibaba Cloud Linux 3 / Ubuntu 22.04)一键部署 Shell 脚本模板,欢迎随时告知系统版本,我可以立即生成 👍

是否需要我继续提供某一步(如:详细 Apache + PHP-FPM + MariaDB 的安全配置示例)?

未经允许不得转载:云知道CLOUD » 在阿里云上搭建LAMP环境需要哪些基础系统配置?