在虚拟机的 Linux 系统(CentOS 7)中搭建一个「虚拟机本地网站」

前提:先确定你的虚拟机可以联网,可以先ping www.baidu.com试一下

一、系统环境初始化:为建站做基础准备

在开始安装 Web 服务前,需要先对 CentOS 7 系统做基础配置,避免后续出现权限、依赖冲突问题。

  1. 更新系统软件包首先执行系统更新,确保所有软件包是最新版本,减少依赖兼容问题:

    复制代码
    sudo yum update -y

    等待终端显示 "Complete!",说明系统更新完成。

  2. 处理 SELinux 安全限制CentOS 7 默认开启的 SELinux 会阻止 Web 服务访问文件,需要临时关闭并设置永久禁用(选用一个就好):

    • 临时关闭(立即生效,重启虚拟机后失效):

      复制代码
      sudo setenforce 0
    • 永久禁用(修改配置文件,重启后仍有效):

      复制代码
      sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  3. 配置防火墙放行 Web 端口WordPress 依赖 80 端口(HTTP 协议),需在防火墙中放行该端口:

    复制代码
    # 永久放行80端口
    sudo firewall-cmd --permanent --add-port=80/tcp
    # 重载防火墙使配置生效
    sudo firewall-cmd --reload

    执行后终端返回 "success",说明端口放行成功。

二、安装 LAMP 环境:直接部署兼容版 PHP(规避核心坑)

LAMP(Linux+Apache+MariaDB+PHP)是 WordPress 的基础运行境,核心避坑点:CentOS 7 默认安装 PHP 5.4,无法兼容新版 WordPress,因此直接安装 PHP 8.0(无需先装旧版本再升级)。

1. 安装 PHP8.0 依赖源

CentOS 7 官方源无 PHP8.0,需先安装第三方依赖源:

复制代码
# 安装EPEL基础源
sudo yum install epel-release -y
# 安装REMI源(提供PHP 7+安装包)
sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm

2. 启用 PHP 8.0源并安装完整 LAMP 组件

php 复制代码
# 启用PHP 8.0源
sudo yum-config-manager --enable remi-php80
# 安装Apache、MariaDB、PHP 8.0及WordPress必需扩展
sudo yum install httpd mariadb-server php php-mysqlnd php-gd php-xml php-mbstring php-json php-common php-cli -y

扩展说明:php-mysqlnd(PHP 连接 MariaDB 的核心扩展)、php-gd(处理图片)、php-mbstring(支持中文等多字节字符),均为 WordPress 必需。

3. 启动并设置服务自启

安装完成后,启动 Apache 和 MariaDB 服务,并设置开机自启(避免虚拟机重启后服务失效):

复制代码
# 启动httpd(Apache)和mariadb服务
sudo systemctl start httpd mariadb
# 设置开机自启
sudo systemctl enable httpd mariadb
# 验证服务状态(可选,确保显示active (running))
sudo systemctl status httpd mariadb

显示绿色就好

4. 初始化 MariaDB 数据库

新安装的 MariaDB 默认无密码,需通过安全脚本设置 root 密码并优化配置:

复制代码
sudo mysql_secure_installation

按照终端提示操作:

  • 输入当前 root 密码:直接回车(默认无密码)
  • 询问是否设置 root 密码:输入 "y",设置密码(如 "1234",记牢该密码,建议简单一点)
  • 后续所有询问(删除匿名用户、禁止 root 远程登录、删除测试数据库等):均输入 "y",完成数据库初始化。

三、部署 WordPress:从下载到配置

完成环境准备后,开始下载并配置 WordPress 文件,规避 "未解压改权限、路径错误" 等坑。

1. 下载并解压 WordPress 安装包

进入 Apache 的网站根目录(/var/www/html),下载最新版 WordPress:

复制代码
cd /var/www/html
# 下载WordPress压缩包(若未安装wget,先执行sudo yum install wget -y)
sudo wget https://wordpress.org/latest.tar.gz

下载完成后,先解压再设置权限

复制代码
# 解压压缩包,生成wordpress目录
sudo tar -zxvf latest.tar.gz

2. 设置 WordPress 目录权限

给解压后的 WordPress 目录赋予 Apache 运行用户(apache)权限,避免 403 访问被拒:

复制代码
# 递归设置目录所有者为apache用户
sudo chown -R apache:apache /var/www/html/wordpress
# 递归设置目录权限(所有者可读可写可执行,其他用户可读可执行)
sudo chmod -R 755 /var/www/html/wordpress

3. 创建 WordPress 专属数据库和用户

不建议直接用 root 用户连接 WordPress,创建专用数据库和用户更安全:

复制代码
# 以root身份登录MariaDB
sudo mysql -u root -p

输入 MariaDB 的 root 密码(如 "1234",你设置的是啥就输啥),进入数据库命令行后,执行以下 SQL 语句(具体的名字和密码如果是自己设置的要记住):

sql 复制代码
-- 创建名为wordpress的数据库(支持中文)
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
-- 创建名为wp_user的专用用户,密码设为wp_pass123(可自定义)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'wp_pass123';
-- 授予wp_user操作wordpress数据库的所有权限
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
-- 刷新权限使配置生效
FLUSH PRIVILEGES;
-- 退出数据库
EXIT;

4. 配置 WordPress 数据库连接文件

复制 WordPress 配置模板,填写数据库信息:

复制代码
# 进入wordpress目录
cd /var/www/html/wordpress
# 复制模板文件生成wp-config.php(核心配置文件)
sudo cp wp-config-sample.php wp-config.php
# 编辑配置文件(正确路径:/var/www/html/wordpress/wp-config.php)
sudo nano wp-config.php

找到下面的配置项,替换为上述创建的数据库信息:

php 复制代码
define( 'DB_NAME', 'wordpress' );       // 数据库名
define( 'DB_USER', 'wp_user' );         // 专用用户名
define( 'DB_PASSWORD', 'wp_pass123' );  // 专用用户密码
define( 'DB_HOST', 'localhost' );       // 数据库主机(默认localhost即可)

编辑完成后,按Ctrl+O保存,回车确认文件名称,Ctrl+X退出编辑器。

5. 调整 PHP 错误显示(可选,便于调试,如果你下面第五步成功就可以不用做)

若后续访问异常,可开启 PHP 错误显示辅助排查(编辑正确路径的 PHP 配置文件):

php 复制代码
# 编辑PHP主配置文件
sudo nano /etc/php.ini

找到以下配置项,删除行首的;(取消注释)并修改值:

复制代码
display_errors = On          // 显示运行时错误
display_startup_errors = On  // 显示启动时错误
error_reporting = E_ALL      // 显示所有级别错误

保存后重启 Apache 使配置生效:

复制代码
sudo systemctl restart httpd

四、解决数据库连接失败问题(可选,收尾调试)

若第五步访问时提示 "Error establishing a database connection",原因是 MariaDB 的 root 用户默认采用 socket 认证,需修改为密码认证(若用 root 连接时需操作,用专用用户可跳过):

复制代码
# 以root身份登录MariaDB
sudo mysql -u root -p
# 修改root认证方式为密码认证(密码设为1234,可自定义)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
# 刷新权限
FLUSH PRIVILEGES;
# 退出数据库
EXIT;

五、成功验证+使用

完成所有配置后,在虚拟机浏览器中访问http://localhost/wordpress,会显示 WordPress 安装向导:

  1. 选择语言(如中文简体);
  2. 设置网站标题、管理员账号、密码、邮箱;
  3. 点击 "安装 WordPress",等待几秒即可完成安装;
  4. 安装完成后,可访问http://localhost/wordpress(前台)、http://localhost/wordpress/wp-admin(后台),验证网站正常运行

忘了截图,之后成功用你注册的用户名和密码登录之后就会出现仪表盘

可以在下面这里选择主题安装

举个栗子:

碎碎念

当然也可以自己上传主题,可以用finalshell和xshell,xftp之类的工具传到虚拟机上去。使用win+r输入mstsc可以进入自带的远程桌面连接,可以自己研究研究

如果是用服务器建站的话推荐以下主题,但是虚拟机不是很建议,因为压缩表都太大了

可以从这里面找:最全免费的开源WordPress主题汇总(超详细) - 知乎

这个也好看:https://github.com/mirai-mamori/Sakurairo

上面那个主题对应的文档:安装 WordPress | Fuukei 周边文档

如果有条件可以尝试使用服务器并买一个域名,上面就是我用Sakurairo这个主题弄的

相关推荐
C_心欲无痕31 分钟前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
冰西瓜6001 小时前
国科大2025操作系统高级教程期末回忆版
linux
HIT_Weston2 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20182 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟2 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston2 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式2 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
码农小韩4 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习
Jay Chou why did5 小时前
wsl安装完无法进入wsl
linux