第一部分:环境准备

在开始安装之前,请确保您的服务器或虚拟机满足以下环境要求,这是最关键的一步,环境不正确会导致安装失败。

小猪pigcms 安装教程
(图片来源网络,侵删)

系统要求

  • 操作系统: Linux (推荐 CentOS 7+ 或 Ubuntu 18.04+)
  • Web服务器: Nginx (推荐) 或 Apache
  • 数据库: MySQL 5.6+ 或 MariaDB 5.5+
  • PHP: PHP 7.1 ~ 7.4 (特别注意,PigCMS较老,不支持PHP 8.0+)

安装必要的环境

A. 安装 Nginx

以 CentOS 为例:

# 安装 EPEL 源
sudo yum install -y epel-release
# 安装 Nginx
sudo yum install -y nginx
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

以 Ubuntu 为例:

sudo apt update
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

B. 安装 MySQL (MariaDB)

以 CentOS 为例:

# 安装 MariaDB (MySQL 的一个分支)
sudo yum install -y mariadb-server mariadb
# 启动并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 运行安全脚本,设置 root 密码等
sudo mysql_secure_installation

mysql_secure_installation 过程中,会提示你设置 root 密码,请务必记住。

小猪pigcms 安装教程
(图片来源网络,侵删)

以 Ubuntu 为例:

sudo apt install -y mysql-server mysql-client
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation

C. 安装 PHP (关键步骤!)

必须使用 PHP 7.x 版本! 这里以安装 PHP 7.4 为例。

以 CentOS 为例 (需要 Remi 源):

# 安装 EPEL 和 Remi 源
sudo yum install -y epel-release http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils
# 安装 PHP 7.4 以及所需扩展
sudo yum-config-manager --enable remi-php74
sudo yum install -y php74 php74-fpm php74-mysqlnd php74-gd php74-mbstring php74-curl php74-xml php74-zip php74-json

以 Ubuntu 为例 (需要 Ondřej Surý 的 PPA 源):

小猪pigcms 安装教程
(图片来源网络,侵删)
# 安装 PPA 源
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
# 安装 PHP 7.4 以及所需扩展
sudo apt install -y php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-zip php7.4-json

D. 配置 PHP-FPM

安装完成后,需要启动 PHP-FPM 并设置开机自启。

# 启动 PHP-FPM
sudo systemctl start php-fpm
# 设置开机自启
sudo systemctl enable php-fpm

注意: 在 CentOS 上,服务名可能是 php74-fpmphp-fpm,请根据实际情况使用。


第二部分:下载 PigCMS

下载源码

PigCMS 是一个开源项目,你可以从其官方 GitHub 仓库下载最新版本。

# 进入网站根目录 (假设为 /var/www)
cd /var/www
# 如果没有 www 目录,则创建
sudo mkdir -p /var/www
sudo chown -R $USER:$USER /var/www
# 从 GitHub 克隆 PigCMS 仓库
git clone https://github.com/pigcms/PigCMS.git

下载完成后,你的源码就在 /var/www/PigCMS 目录下。

设置目录权限

PigCMS 需要对某些目录有写入权限,主要用于缓存、上传文件等。

# 进入 PigCMS 目录
cd /var/www/PigCMS
# 给 data, public/Uploads, public/Static/Cache 目录写入权限
sudo chmod -R 755 ./
sudo chown -R www-data:www-data ./
# 如果你的 web 服务器运行用户不是 www-data (例如在 CentOS 上是 nginx),请相应修改
# sudo chown -R nginx:nginx ./

第三部分:配置数据库

创建数据库和用户

登录到 MySQL,为 PigCMS 创建一个独立的数据库和用户。

# 登录 MySQL (密码是你之前设置的 root 密码)
mysql -u root -p
# 在 MySQL 命令行中执行以下命令
CREATE DATABASE pigcms_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'pigcms_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON pigcms_db.* TO 'pigcms_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

请将 your_strong_password 替换为你自己设置的强密码。


第四部分:配置 Web 服务器

配置 Nginx

我们需要创建一个 Nginx 配置文件,让服务器能够正确访问 PigCMS。

创建一个新的配置文件:

sudo nano /etc/nginx/conf.d/pigcms.conf

粘贴到文件中,并根据你的实际情况修改 rootserver_name

server {
    listen 80;
    server_name your_domain.com; # 替换成你的域名或服务器IP
    root /var/www/PigCMS; # PigCMS 的源码目录
    index index.php index.html;
    # 访问日志和错误日志
    access_log /var/log/nginx/pigcms_access.log;
    error_log /var/log/nginx/pigcms_error.log;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    # 将所有 .php 请求转发给 PHP-FPM 处理
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000; # 如果是 CentOS + Remi,可能是 127.0.0.1:9000
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # 禁止访问 .ht 文件 (如果存在)
    location ~ /\.ht {
        deny all;
    }
}

保存并退出 (在 nano 中按 Ctrl+XY,再 Enter)。

检查并重启 Nginx

# 检查 Nginx 配置文件语法是否正确
sudo nginx -t
# 如果显示 "syntax is ok" 和 "test is successful",则重启 Nginx
sudo systemctl restart nginx

第五部分:运行安装向导

所有准备工作都已完成,可以开始通过浏览器进行安装了。

  1. 打开浏览器,访问你的域名或服务器 IP 地址,http://your_domain.com

  2. 进入安装界面:如果环境配置正确,你会看到 PigCMS 的安装欢迎页面。

  3. 填写数据库信息

    • 数据库地址: localhost
    • 数据库端口: 3306
    • 数据库名: pigcms_db (你之前创建的数据库名)
    • 数据库用户名: pigcms_user (你之前创建的用户名)
    • 数据库密码: your_strong_password (你设置的密码)
    • 数据库表前缀: 可以使用默认的 pig_
  4. 填写网站信息

    • 网站名称: 给你的网站起个名字。
    • 网站域名: http://your_domain.com
    • 管理员账号: 设置你的管理员登录用户名。
    • 管理员密码: 设置一个强密码。
    • 确认密码: 再次输入密码。
    • 管理员邮箱: 填写你的邮箱。
  5. 开始安装:点击“立即安装”或类似按钮,系统会自动创建数据表并完成配置。

  6. 安装完成:安装成功后,系统通常会提示你删除 install 目录,这是非常重要的安全步骤!

    # 在 SSH 中执行
    cd /var/www/PigCMS
    sudo rm -rf install/

第六部分:登录和后续配置

  1. 访问后台:在浏览器中访问 http://your_domain.com/index.php?g=Admin (或者根据安装提示的路径),使用你刚才设置的管理员账号和密码登录。

  2. 修改核心配置:登录后台后,建议立即修改 Config/config.php 文件中的一些关键配置,如:

    • 网站域名:确保正确。
    • 缓存目录:检查 Cache 目录的权限。
    • 数据库配置:确认是否正确。
    • 后台入口:为了安全,可以修改后台的入口目录名。

常见问题

  • Q: 访问网站时出现 404 Not Found 错误?

    • A: 99% 是 Nginx 配置问题,请检查 nginx.confpigcms.conf 中的 root 路径是否正确,以及 try_files 指令是否配置正确。
  • Q: 访问网站时出现 500 Internal Server Error 错误?

    • A: 通常是 PHP 代码或权限问题,检查 Nginx 或 PHP-FPM 的错误日志 (/var/log/nginx/error.log),查看具体错误信息,最常见的问题是 datapublic/Uploads 等目录没有写入权限。
  • Q: PHP 版本太高,无法安装?

    • A: PigCMS 是一个比较老的程序,确实不支持 PHP 8,你必须按照教程安装 PHP 7.1 到 7.4 之间的版本。
  • Q: 安装向导提示“连接数据库失败”?

    • A: 请检查 MySQL 服务是否正在运行 (sudo systemctl status mysql),以及你填写的数据库地址、端口、用户名和密码是否完全正确。
  • Q: 后台登录后一片空白或者样式错乱?

    • A: 这通常是浏览器缓存问题,尝试按 Ctrl + F5 强制刷新缓存,或者使用无痕/隐私模式访问,也可能是 public/Static/Cache 目录权限问题。

至此,你的小猪PigCMS已经成功安装并可以使用了,祝你使用愉快!