在华为云EulerOS 2.0上配置LAMP环境,可以按照以下步骤进行:
一、系统更新与准备
# 更新系统
sudo yum update -y
# 安装常用工具
sudo yum install -y wget vim net-tools
二、安装Apache
# 安装Apache
sudo yum install -y httpd
# 启动Apache并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd
# 检查状态
sudo systemctl status httpd
三、安装MySQL/MariaDB
# 安装MariaDB(EulerOS默认使用MariaDB)
sudo yum install -y mariadb-server mariadb
# 启动MariaDB并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 运行安全配置脚本
sudo mysql_secure_installation
四、安装PHP
# 添加EPEL和Remi仓库(如果需要更新版本)
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 安装PHP及相关扩展
sudo yum install -y php php-mysqlnd php-gd php-xml php-mbstring php-json php-fpm
# 检查PHP版本
php -v
五、配置LAMP组件
1. 配置Apache支持PHP
# 编辑Apache配置文件
sudo vim /etc/httpd/conf/httpd.conf
# 确保有以下配置(通常已默认存在):
# DirectoryIndex index.php index.html
# AddType application/x-httpd-php .php
2. 配置PHP
# 编辑PHP配置文件
sudo vim /etc/php.ini
# 修改关键参数(根据需要调整):
# memory_limit = 256M
# upload_max_filesize = 64M
# post_max_size = 64M
# date.timezone = Asia/Shanghai
3. 配置防火墙
# 开放HTTP/HTTPS端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 或者直接开放端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
六、测试LAMP环境
1. 创建测试文件
# 创建PHP信息测试页
sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# 创建数据库连接测试文件
sudo cat > /var/www/html/dbtest.php << 'EOF'
<?php
$servername = "localhost";
$username = "root";
$password = "your_password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "MySQL连接成功!";
?>
EOF
2. 重启服务
sudo systemctl restart httpd
sudo systemctl restart mariadb
七、安全加固建议
1. 修改默认目录
# 创建网站目录
sudo mkdir -p /var/www/yourdomain.com/public_html
# 修改Apache配置指向新目录
sudo vim /etc/httpd/conf/httpd.conf
# 修改DocumentRoot和Directory为新的路径
2. 配置数据库权限
-- 创建专用数据库用户
CREATE DATABASE webdb;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON webdb.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
3. 禁用危险函数
# 在php.ini中禁用危险函数
disable_functions = exec,passthru,shell_exec,system,proc_open,popen
八、一键安装脚本(可选)
#!/bin/bash
# LAMP一键安装脚本
# 更新系统
yum update -y
# 安装Apache
yum install -y httpd
systemctl start httpd
systemctl enable httpd
# 安装MariaDB
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
# 安装PHP
yum install -y php php-mysqlnd php-gd php-xml php-mbstring
# 重启服务
systemctl restart httpd
systemctl restart mariadb
# 创建测试页
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
echo "LAMP安装完成!"
九、常见问题排查
-
Apache无法启动
# 检查配置语法 sudo httpd -t # 查看错误日志 sudo tail -f /var/log/httpd/error_log -
PHP不执行
# 检查是否安装php模块 sudo yum install -y php # 重启Apache sudo systemctl restart httpd -
数据库连接失败
# 检查MariaDB状态 sudo systemctl status mariadb # 检查防火墙 sudo firewall-cmd --list-all
十、后续优化建议
-
安装phpMyAdmin(可选)
sudo yum install -y phpmyadmin -
配置SSL证书
# 使用Let's Encrypt免费证书 sudo yum install -y certbot python3-certbot-apache sudo certbot --apache -
性能优化
- 启用Apache缓存模块
- 配置OPcache提速PHP
- 调整MySQL缓存设置
完成以上步骤后,通过浏览器访问服务器IP地址,应该能看到Apache默认页面,访问 http://服务器IP/info.php 可以看到PHP信息页面。
注意:生产环境请务必修改默认密码、禁用不必要的服务、定期更新安全补丁。
CLOUD技术笔记