目录

  1. 核心概念:PHP + MySQL + Web服务器 是什么?
  2. 安装前的准备工作
  3. 新手推荐 - 使用集成环境包
  4. 进阶/生产环境 - 手动安装 (LAMP/LNMP)
  5. 安装网站程序 (以 WordPress 为例)
  6. 常见问题与解决方案

核心概念:PHP + MySQL + Web服务器 是什么?

在开始安装前,最好理解这三个角色是如何协同工作的:

PHP MySQL网站安装
(图片来源网络,侵删)
  • Web服务器 (Nginx / Apache):网站的“门面”,它负责接收来自用户的浏览器请求,并将网站的静态文件(如 HTML, CSS, 图片)直接返回,对于 PHP 文件,它会将其交给 PHP 处理器。
  • PHP (PHP: Hypertext Preprocessor):网站的“大脑”,它是一种服务器端脚本语言,负责处理动态内容,当 Web 服务器遇到一个 .php 文件时,会调用 PHP 引擎来执行文件中的代码,生成最终的 HTML 页面,然后返回给浏览器。
  • MySQL (MariaDB):网站的“仓库”,它是一个关系型数据库管理系统,用于存储网站的所有数据,比如用户信息、文章内容、商品信息等,PHP 程序通过代码连接 MySQL,进行数据的读写操作。

工作流程: 用户浏览器 -> Web服务器 (Nginx/Apache) -> 如果请求是PHP文件,则交给 -> PHP处理器 -> PHP处理器连接并查询 -> MySQL数据库 -> PHP将结果生成HTML -> 返回给Web服务器 -> 返回给用户浏览器


安装前的准备工作

在开始任何安装之前,请确保您已经准备好以下内容:

  1. 一台服务器/电脑
    • 本地电脑:适合开发和测试,您可以在自己的 Windows, macOS 或 Linux 机器上搭建环境。
    • 云服务器 (VPS):如阿里云、腾讯云、Vultr、DigitalOcean 等,适合部署生产网站,需要公网 IP。
  2. 操作系统
    • Linux (推荐):绝大多数服务器运行的是 Linux (如 Ubuntu, CentOS),本指南将以 Ubuntu/Debian 为例。
    • Windows:也可以,但配置相对复杂,新手推荐方案一。
    • macOS:自带 Apache 和 PHP,配置相对简单。
  3. 网站的源码文件:WordPress, Drupal, Joomla, 或者您自己开发的 PHP 项目代码(通常是一个 .zip.tar.gz 压缩包)。
  4. 域名 (可选但推荐):如果您想让别人通过公网访问您的网站,需要一个域名,在本地开发时,可以使用 localhost
  5. SSH 客户端:用于连接和管理您的服务器,Windows 用户可以使用 PuTTYWindows Terminal (内置 SSH);macOS 和 Linux 用户可以直接使用终端。

方案一:新手推荐 - 使用集成环境包

对于新手来说,手动配置 LAMP/LNMP 环境非常繁琐且容易出错,集成环境包已经为您预装并配置好了所有必需的软件,开箱即用。

推荐工具:

PHP MySQL网站安装
(图片来源网络,侵删)
  • Windows:
    • XAMPP:最流行、最易用的 Windows 集成环境,下载地址:https://www.apachefriends.org/
    • Wnmp / WampServer:同样是优秀的选择。
  • macOS:
    • MAMP:功能强大,有免费版和专业版,下载地址:https://www.mamp.info/
    • Homebrew:macOS 的包管理器,可以一键安装 Nginx, PHP, MySQL 等。
  • Linux (Ubuntu/Debian):
    • Taskel:一个基于命令行的任务安装器,可以轻松安装 LAMP 或 LNMP stack。
    • Lampp (XAMPP for Linux):官方提供了 Linux 版本。

安装步骤 (以 XAMPP for Windows 为例):

  1. 下载:访问 XAMPP 官网,下载适用于 Windows 的最新版本。
  2. 安装:双击下载的 .exe 文件,按照安装向导的提示进行操作。建议安装路径不要包含中文和空格C:\xampp
  3. 启动服务:安装完成后,打开 XAMPP Control Panel,点击 ApacheMySQL 模块的 Start 按钮,看到绿色的 "Running" 字样表示服务已成功启动。
  4. 放置网站文件
    • 找到 XAMPP 的安装目录,进入 htdocs 文件夹(C:\xampp\htdocs)。
    • 将您的网站源码(如 WordPress 压缩包)解压并放入此文件夹,为了方便,可以重命名文件夹,my_website
  5. 访问网站
    • 打开浏览器,输入 http://localhost/my_website/ (如果放在 htdocs 根目录下,则直接访问 http://localhost/)。
    • 您应该能看到您网站程序的安装界面了,接下来跳到 第 5 步:安装网站程序

方案二:进阶/生产环境 - 手动安装 (LAMP/LNMP)

这个方案更灵活,性能更高,适合有一定 Linux 基础的用户,也更适合部署到生产服务器,我们将以 Ubuntu 22.04LAMP (Apache + PHP + MySQL) 为例。

第一步:更新系统包列表

sudo apt update
sudo apt upgrade -y

第二步:安装 Web 服务器 (Apache)

sudo apt install apache2 -y

安装后,检查 Apache 是否正在运行:

sudo systemctl status apache2

如果看到 active (running),说明成功,您可以在浏览器中访问服务器的公网 IP 或 http://localhost,应该能看到 Apache 的默认欢迎页面。

PHP MySQL网站安装
(图片来源网络,侵删)

第三步:安装数据库服务器 (MySQL)

sudo apt install mysql-server -y

安装完成后,安全配置 MySQL:

sudo mysql_secure_installation

这个交互式脚本会引导您完成:

  1. 设置 root 密码(务必记住!)。
  2. 移除匿名用户。
  3. 禁止 root 用户远程登录。
  4. 移除测试数据库。
  5. 重新加载权限表。 建议对每个问题都回答 Y (Yes)

第四步:安装 PHP 及相关扩展

# 安装 PHP 和一些最常用的扩展
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
  • php:核心包。
  • libapache2-mod-php:让 Apache 能够处理 PHP 文件。
  • php-mysql:PHP 连接 MySQL 所必需的扩展。
  • 其他扩展:许多现代 PHP 应用(如 WordPress)都需要这些功能。

安装完成后,可以检查 PHP 版本:

php -v

第五步:配置虚拟主机 (Virtual Host)

虚拟主机允许您在一台服务器上托管多个网站,假设我们要安装的网站域名为 example.com

  1. 创建网站目录

    sudo mkdir -p /var/www/example.com
    sudo chown -R $USER:$USER /var/www/example.com
  2. 创建虚拟主机配置文件

    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
        <Directory /var/www/example.com/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    • ServerName:您的主域名。
    • DocumentRoot:网站文件存放的路径。
  3. 启用站点

    sudo a2ensite example.com.conf
  4. 禁用默认站点(可选):

    sudo a2dissite 000-default.conf
  5. 重载 Apache 配置

    sudo systemctl reload apache2

安装网站程序 (以 WordPress 为例)

无论您使用方案一还是方案二,到这里,您已经有了运行网站的环境,接下来是安装网站本身。

  1. 下载网站源码

    • 以 WordPress 为例,访问 WordPress.org 下载最新版本的 ZIP 压缩包。
    • 通过 scpwget 命令将文件上传到您的服务器。
      # 如果是服务器,使用 wget
      wget https://wordpress.org/latest.zip
      # 如果是本地,使用 scp 上传到服务器的 /var/www/ 目录
      # scp C:/path/to/your/wordpress.zip user@your_server_ip:/var/www/
  2. 解压并移动文件

    # 解压
    unzip latest.zip
    # 将 WordPress 文件移动到网站根目录
    sudo mv wordpress/* /var/www/example.com/
    # (如果使用 XAMPP,则移动到 /htdocs/your_site/)
  3. 设置权限

    sudo chown -R www-data:www-data /var/www/example.com
    sudo chmod -R 755 /var/www/example.com
  4. 创建数据库

    • 登录 MySQL:
      sudo mysql
    • 执行以下 SQL 命令(请替换 your_db_name, your_user, your_password):
      CREATE DATABASE your_db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_strong_password';
      GRANT ALL PRIVILEGES ON your_db_name.* TO 'your_user'@'localhost';
      FLUSH PRIVILEGES;
      EXIT;
  5. 通过 Web 界面完成安装

    • 在浏览器中访问 http://example.com (或您的域名/IP)。
    • 您会看到 WordPress 的欢迎界面,选择语言并点击 "继续"。
    • 填写数据库信息:
      • 数据库名your_db_name
      • 用户名your_user
      • 密码your_strong_password
      • 数据库主机localhost
      • 表前缀:可以使用默认的 wp_
    • 点击 "提交",如果一切正常,会提示 "成功与数据库建立了连接"。
    • 填写网站标题、管理员用户名、密码和邮箱,然后点击 "安装 WordPress"。
    • 安装完成后,您就可以使用新创建的管理员账号登录 http://example.com/wp-admin 来管理您的网站了。

常见问题与解决方案

  • 问题1:访问网站时显示 403 Forbidden 错误。

    • 原因:文件或目录权限不正确。
    • 解决:确保网站根目录的所有者是 Web 服务器用户(如 www-data),并且权限是 755,文件权限是 644,执行命令:
      sudo chown -R www-data:www-data /var/www/your_site
      sudo find /var/www/your_site -type d -exec chmod 755 {} \;
      sudo find /var/www/your_site -type f -exec chmod 644 {} \;
  • 问题2:访问 PHP 文件时,直接下载了文件而不是执行。

    • 原因:Web 服务器没有正确配置处理 PHP 文件。
    • 解决 (Apache):检查 libapache2-mod-php 是否已安装并启用,检查虚拟主机配置中 <Directory> 指令的 AllowOverride AllRequire all granted
    • 解决 (Nginx):检查 nginx.conf 或站点配置文件中是否有类似 location ~ \.php$ { ... } 的块,fastcgi_pass 指向正确的 PHP-FPM 地址(通常是 unix:/run/php/php8.1-fpm.sock;)。
  • 问题3:数据库连接失败。

    • 原因:数据库名、用户名、密码或主机地址错误。
    • 解决:仔细检查 wp-config.php 文件(或其他程序的配置文件)中的数据库信息是否与您在 MySQL 中创建的完全一致,确保 MySQL 服务正在运行。
  • 问题4:安装 XAMPP 后,MySQL 无法启动。

    • 原因:端口被占用(如其他 MySQL 服务)、权限问题或配置文件错误。
    • 解决:尝试以管理员身份运行 XAMPP Control Panel,检查 Windows 的任务管理器,是否有 mysqld.exe 进程,如有则结束它再启动,可以尝试重置 MySQL root 密码。

方案 优点 缺点 适用人群
集成环境包 安装简单,快速上手,功能齐全 性能优化有限,不推荐用于生产环境 新手、开发者、快速测试
手动安装 灵活可控,性能高,安全性好,适合生产环境 步骤繁琐,需要一定的 Linux 基础 进阶用户、系统管理员、生产部署

对于初学者,强烈建议从 方案一 (集成环境) 开始,这能让您专注于学习和开发网站本身,而不是被复杂的系统配置所困扰,当您对环境有了足够的了解后,再尝试 方案二 (手动安装),这将为您的技术能力打下坚实的基础。