在阿里云上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,需从基础系统配置入手,确保安全、稳定、可维护。以下是关键的基础系统配置建议(以主流 CentOS 7/8 或 Alibaba Cloud Linux / Ubuntu 20.04+ 为例):
✅ 一、实例选择与初始化配置
-
实例规格
- 推荐:2核4GB 起(轻量应用或测试),生产环境根据并发量选择(如4核8GB+)
- 系统镜像:优先选用 Alibaba Cloud Linux 3(推荐,深度优化、长期支持) 或 CentOS Stream 8/9 / Ubuntu 22.04 LTS(避免已停更的 CentOS 7)
-
安全组配置(至关重要!)
- 仅开放必要端口(最小权限原则):
80/tcp(HTTP)443/tcp(HTTPS,后续配置SSL必需)22/tcp(SSH,强烈建议修改默认端口 + 绑定IP白名单 + 禁用密码登录(改用密钥))- ❌ 禁止开放
3306(MySQL)公网端口!内网访问或通过跳板机/云数据库RDS替代
- 建议:为数据库服务单独配置内网安全组规则(如允许同VPC内Web服务器访问)
- 仅开放必要端口(最小权限原则):
✅ 二、系统级基础加固与优化
-
更新系统 & 安装基础工具
# 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 -
创建非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 # 设置密码(但建议后续禁用密码登录) -
SSH 安全强化(/etc/ssh/sshd_config)
Port 2222 # 修改非默认端口(需同步更新安全组) PermitRootLogin no # 禁止root登录 PasswordAuthentication no # 禁用密码,强制密钥认证 PubkeyAuthentication yes AllowUsers deploy # 仅允许指定用户→ 执行
sudo systemctl restart sshd并先验证新用户密钥登录成功后再退出原会话 -
防火墙配置(启用并精简规则)
- 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:启用
ufwsudo ufw allow OpenSSH # 注意:若改了SSH端口,需写成 `sudo ufw allow 2222` sudo ufw allow 'Apache Full' sudo ufw enable
- Alibaba Cloud Linux/CentOS:启用
✅ 三、时间同步与日志管理
- 启用 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.conf加net.ipv6.conf.all.disable_ipv6 = 1) - ✅ 配置邮件通知(可选):安装
mailx或ssmtp,用于监控告警 - ✅ 定期快照策略:对系统盘 + 数据盘设置自动快照(阿里云控制台配置)
- ✅ 开启云监控Agent:安装 AliyunCloudMonitor,实时监控CPU/内存/磁盘/网络
⚠️ 重要提醒:
- 数据库强烈建议使用阿里云 RDS(MySQL/PostgreSQL),而非自建MySQL:更安全、高可用、自动备份、免运维。若必须自建,请确保:
- MySQL 绑定
127.0.0.1或内网IP(bind-address = 127.0.0.1) - 运行
mysql_secure_installation强化安全
- MySQL 绑定
- Web目录权限严格控制:
/var/www/html所有者设为apache:apache(CentOS)或www-data:www-data(Ubuntu),禁止写权限(除uploads等明确需要目录外)
✅ 后续步骤(LAMP安装概览):
- 安装 Apache(
httpd或apache2)→ 启动并设开机自启 - 安装 PHP(推荐 8.1+)及常用扩展(
php-mysqlnd,php-gd,php-xml,php-opcache) - 安装 MariaDB(CentOS)或 MySQL Server(Ubuntu)→ 初始化安全配置
- 配置虚拟主机、HTTPS(Let’s Encrypt + Certbot)、OPcache、PHP-FPM(可选)
如需我为你提供 分步命令脚本(适配 Alibaba Cloud Linux 3 / Ubuntu 22.04) 或 一键部署 Shell 脚本模板,欢迎随时告知系统版本,我可以立即生成 👍
是否需要我继续提供某一步(如:详细 Apache + PHP-FPM + MariaDB 的安全配置示例)?
云知道CLOUD