PrestaShop 电商系统搭建教程

PrestaShop 是一款来自法国的开源电商系统,在全球拥有超过 30 万家在线商店。相比 WooCommerce 依赖 WordPress,PrestaShop 是独立的电商平台,内置了完整的商品管理、订单处理、库存管理、多语言多货币支持等功能。本文将在搬瓦工 VPS 上从零开始搭建 PrestaShop 电商网站。

一、系统要求

  • PHP:8.1 或 8.2(推荐 8.2)。
  • MySQL:5.7+ 或 MariaDB 10.4+。
  • Web 服务器:Nginx 或 Apache。
  • 内存:至少 1GB,推荐 2GB 以上。
  • PHP 扩展:gd、intl、curl、zip、mbstring、xml、json、openssl。

二、环境准备

2.1 安装 PHP 及必要扩展

apt update && apt upgrade -y
apt install php8.2-fpm php8.2-mysql php8.2-gd php8.2-intl php8.2-curl php8.2-zip php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-memcached -y

2.2 优化 PHP 配置

# 编辑 /etc/php/8.2/fpm/php.ini
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 10000
date.timezone = Asia/Shanghai
systemctl restart php8.2-fpm

2.3 创建数据库

mysql -u root -p
CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ps_user'@'localhost' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON prestashop.* TO 'ps_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

三、下载和安装 PrestaShop

3.1 下载 PrestaShop

cd /tmp
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.7/prestashop_8.1.7.zip
mkdir -p /var/www/prestashop
unzip prestashop_8.1.7.zip -d /var/www/prestashop
cd /var/www/prestashop
unzip prestashop.zip
rm prestashop.zip
chown -R www-data:www-data /var/www/prestashop
chmod -R 755 /var/www/prestashop

3.2 配置 Nginx

server {
    listen 80;
    listen 443 ssl http2;
    server_name shop.example.com;
    root /var/www/prestashop;
    index index.php;

    ssl_certificate /etc/letsencrypt/live/shop.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/shop.example.com/privkey.pem;

    # 安全头部
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;

    # Gzip 压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript image/svg+xml;

    # PrestaShop URL 重写规则
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # 静态文件缓存
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp|woff|woff2|ttf|eot)$ {
        expires 30d;
        add_header Cache-Control "public";
        access_log off;
    }

    # PHP 处理
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }

    # 禁止访问敏感文件
    location ~ /\. { deny all; }
    location ~* (\.tpl|\.twig|\.log|\.md)$ { deny all; }
    location = /app/config/parameters.php { deny all; }

    # 禁止访问安装目录(安装完成后)
    location /install { deny all; }
}
nginx -t && systemctl reload nginx

3.3 运行安装向导

在浏览器中访问 https://shop.example.com/install,按照向导完成安装:

  • 选择语言为"中文(简体)"。
  • 接受许可协议。
  • 填写商店名称、管理员账号和密码。
  • 填写数据库连接信息。
  • 等待安装完成。

3.4 安装后安全清理

# 删除安装目录
rm -rf /var/www/prestashop/install

# 重命名后台目录(安全加固)
mv /var/www/prestashop/admin /var/www/prestashop/admin-yourname

# 设置正确的文件权限
find /var/www/prestashop -type d -exec chmod 755 {} \;
find /var/www/prestashop -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/prestashop

四、中文本地化配置

4.1 安装中文语言包

进入后台"国际化 > 本地化",点击"导入本地化包",选择"中国"并勾选所有选项(语言、货币、税率等)。

4.2 配置中文地区

  • 在"国际化 > 位置"中设置默认国家为中国。
  • 在"国际化 > 货币"中将人民币设为默认货币。
  • 在"国际化 > 语言"中将中文设为默认语言。

五、商店基础配置

5.1 主题设置

PrestaShop 自带 Classic 主题。如需更换主题,将主题文件上传到 /var/www/prestashop/themes/ 目录:

# 上传主题
cd /var/www/prestashop/themes/
unzip your-theme.zip
chown -R www-data:www-data /var/www/prestashop/themes/

然后在后台"设计 > 主题与Logo"中激活新主题。

5.2 配置 SMTP 邮件

在后台"高级参数 > 电子邮件"中配置 SMTP 服务器,确保订单通知邮件能正常发送。

六、性能优化

6.1 启用 PrestaShop 缓存

在后台"高级参数 > 性能"中:

  • 启用"Smarty 缓存"并设为"是"。
  • 强制编译设为"否"(生产环境)。
  • 缓存类型选择"文件系统"或"Memcached"。
  • 启用"CCC(合并、缓存、压缩)"处理 CSS 和 JavaScript。

6.2 启用 Memcached

apt install memcached -y
systemctl enable memcached
systemctl start memcached

在后台"高级参数 > 性能 > 缓存"中选择"Memcached",服务器地址填 127.0.0.1,端口 11211

6.3 数据库优化

# 优化 PrestaShop 数据库表
mysqlcheck -o prestashop -u ps_user -p

# 清理过期的购物车数据
mysql -u ps_user -p prestashop -e "DELETE FROM ps_cart WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY) AND id_cart NOT IN (SELECT id_cart FROM ps_orders);"

七、安全加固

# 保护配置文件
chmod 400 /var/www/prestashop/app/config/parameters.php

# 定期更新 PrestaShop
# 在后台 "高级参数 > 更新" 中检查更新

# 设置定期备份
mysqldump -u ps_user -p prestashop | gzip > /root/backups/prestashop_$(date +%Y%m%d).sql.gz
tar -czf /root/backups/prestashop_files_$(date +%Y%m%d).tar.gz /var/www/prestashop

总结

PrestaShop 是一个功能完善的专业电商系统,开箱即用的商品管理、多语言多货币支持、灵活的税率配置让它特别适合跨境电商场景。在搬瓦工 VPS 上自建 PrestaShop 可以完全掌控数据和功能定制。如果你需要更轻量的电商方案,也可以参考 OpenCart 搭建教程 或基于 WordPress 的 WooCommerce 方案。选购搬瓦工 VPS 请查看 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。