LAMP 是指 Linux + Apache + MySQL/MariaDB + PHP 的经典 Web 服务器环境组合。以下是详细的配置步骤:
确保你的 Linux 系统是最新的:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
验证 Apache 是否运行:
sudo systemctl status apache2 # 或 httpd
在浏览器访问 http://your_server_ip
应该能看到 Apache 默认页面。
sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo yum install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全安装脚本:
sudo mysql_secure_installation
按照提示设置 root 密码并移除不安全设置。
sudo apt install php libapache2-mod-php php-mysql php-cli php-gd php-curl php-zip php-mbstring php-xml -y
sudo yum install php php-mysqlnd php-gd php-curl php-zip php-mbstring php-xml -y
重启 Apache 使 PHP 生效:
sudo systemctl restart apache2 # 或 httpd
创建测试 PHP 文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问 http://your_server_ip/info.php
应该能看到 PHP 信息页面。
sudo apt install phpmyadmin -y # Ubuntu/Debian
# 或
sudo yum install phpmyadmin -y # CentOS/RHEL
安装过程中按提示配置。
sudo apt install php-json php-bcmath php-soap php-intl -y
sudo nano /etc/apache2/sites-available/example.com.conf
内容:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用站点:
sudo a2ensite example.com.conf
sudo systemctl reload apache2
编辑 php.ini
文件:
sudo nano /etc/php/7.4/apache2/php.ini # 路径可能因版本而异
常见调整项:
upload_max_filesize = 16M
post_max_size = 16M
memory_limit = 128M
date.timezone = Asia/Shanghai
sudo ufw allow 'Apache Full'
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
创建测试页面:
echo "<?php
phpinfo();
$link = mysqli_connect('localhost', 'root', 'your_password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>" | sudo tee /var/www/html/test.php
访问 http://your_server_ip/test.php
应该能看到 PHP 信息和数据库连接成功的消息。
403 Forbidden 错误:
sudo chown -R www-data:www-data /var/www/html
Require all granted
PHP 不执行:
libapache2-mod-php
AddType application/x-httpd-php .php
MySQL 连接问题:
sudo systemctl status mariadb
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
按照以上步骤,你应该能够成功配置一个功能完整的 LAMP 环境。根据你的具体需求,可能还需要安装其他组件或进行额外的安全配置。