在使用 Alibaba Cloud Linux 3 搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)Web 服务器时,需要注意以下几个关键方面,以确保系统安全、稳定和高效运行:
一、系统环境准备
-
更新系统
sudo dnf update -yAlibaba Cloud Linux 3 基于 RHEL/CentOS 8+ 架构,使用
dnf包管理器,保持系统最新可避免已知漏洞。 -
设置主机名与时间同步
sudo hostnamectl set-hostname webserver sudo timedatectl set-timezone Asia/Shanghai -
关闭防火墙或配置放行端口(按需)
# 临时关闭(不推荐生产环境) sudo systemctl stop firewalld sudo systemctl disable firewalld # 推荐:开放必要端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload -
SELinux 配置
Alibaba Cloud Linux 默认可能启用 SELinux。若无需严格安全策略,可设为 permissive:sudo setenforce 0 # 永久修改:编辑 /etc/selinux/config,设置 SELINUX=permissive或保留启用但配置正确上下文(更安全)。
二、安装 LAMP 组件
1. 安装 Apache(httpd)
sudo dnf install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd
- 注意:检查是否与其他服务(如 Nginx)冲突。
- 修改默认网站目录权限时注意 SELinux 上下文。
2. 安装 MariaDB(推荐替代 MySQL)
sudo dnf install mariadb-server mariadb -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
- 运行安全初始化:
sudo mysql_secure_installation设置 root 密码、删除匿名用户、禁止远程 root 登录等。
3. 安装 PHP 及常用扩展
sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring php-json php-fpm -y
- 版本注意:Alibaba Cloud Linux 3 默认仓库提供较新 PHP 版本(如 7.4/8.x),建议根据应用需求选择。
- 若需特定版本,可考虑添加 Remi 或 EPEL 仓库。
三、配置与优化
1. Apache 配置
- 网站根目录默认为
/var/www/html - 配置文件路径:
/etc/httpd/conf/httpd.conf和/etc/httpd/conf.d/ - 启用
.htaccess支持:确保AllowOverride All - 开启重写模块(用于 WordPress 等):
sudo a2enmod rewrite # 注意:Alibaba Cloud Linux 使用标准 httpd,命令为编辑配置文件实际操作需手动在配置中启用
mod_rewrite。
2. PHP 配置
- 编辑
/etc/php.ini调整:upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300 date.timezone = Asia/Shanghai expose_php = Off - 重启 Apache 生效:
sudo systemctl restart httpd
3. 数据库安全配置
- 创建专用数据库与用户,避免使用 root 连接应用。
CREATE DATABASE mywebdb; CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON mywebdb.* TO 'webuser'@'localhost'; FLUSH PRIVILEGES;
四、安全注意事项
-
最小化安装原则
- 只安装必要的软件包,减少攻击面。
-
定期更新
sudo dnf update -y -
日志监控
- Apache 日志:
/var/log/httpd/ - MariaDB 日志:查看
/var/log/mariadb/mariadb.log - 启用失败登录告警(如 fail2ban)
- Apache 日志:
-
禁用不必要的服务
- 如不需要 FTP、Telnet 等。
-
Web 目录权限
sudo chown -R apache:apache /var/www/html sudo chmod -R 755 /var/www/html注意:上传目录(如 uploads)可设为 755,属主为 apache。
-
防止信息泄露
- 关闭 PHP 的
expose_php - Apache 隐藏版本号:
在httpd.conf中设置:ServerTokens Prod ServerSignature Off
- 关闭 PHP 的
五、性能优化建议
-
使用 OPcache 提速 PHP:
sudo dnf install php-opcache并在
php.ini中启用。 -
启用 Gzip 压缩(Apache mod_deflate)
-
考虑使用 CDN 或静态资源分离
六、阿里云特有注意事项
-
ECS 安全组配置
- 确保安全组放行 80 (HTTP) 和 443 (HTTPS) 端口。
- 限制 SSH 访问 IP(建议仅允许可信 IP)。
-
云监控与报警
- 使用阿里云云监控对 CPU、内存、磁盘、网络进行监控。
-
备份策略
- 定期备份数据库(mysqldump)和网站文件。
- 可结合快照 + OSS 存储备份。
-
内核与镜像优化
- Alibaba Cloud Linux 3 针对云环境做了性能优化,建议保持官方镜像更新。
七、测试与验证
-
创建测试页:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php浏览器访问
http://your-server-ip/info.php查看 PHP 信息。 -
测试数据库连接(简单脚本)
总结
| 项目 | 建议 |
|---|---|
| 系统更新 | 定期执行 dnf update |
| 安全配置 | 关闭不必要的服务,设置强密码,使用防火墙 |
| 数据库 | 使用专用账号,定期备份 |
| Web 权限 | 正确设置文件属主与 SELinux 上下文 |
| 阿里云集成 | 利用安全组、云监控、OSS 备份 |
通过以上步骤和注意事项,可以在 Alibaba Cloud Linux 3 上安全、高效地部署一个稳定的 LAMP 环境。如用于生产环境,建议进一步配置 HTTPS(使用 Let’s Encrypt)、WAF 防护、负载均衡等增强方案。
云小栈