CoolFace
Apppublic

CatPtain/wordpress

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
App README

WordPress on Hugging Face Spaces

这是一个专门为 Hugging Face Spaces 优化的 WordPress Docker 部署方案。

🚀 特性

  • WordPress 6.8.1 - 最新稳定版本
  • PHP 8.3 - 高性能 PHP 版本
  • SQLite 数据库 - 无需外部数据库服务
  • Apache Web 服务器 - 稳定可靠
  • 端口 7860 - 符合 HF Spaces 要求
  • 预配置设置 - 开箱即用
  • 演示内容 - 包含示例文章和用户

📋 部署到 Hugging Face Spaces

方法 1: 直接上传文件

  1. 1.在 Hugging Face 创建新的 Space
  2. 2.选择 "Docker" 作为 SDK
  3. 3.上传以下文件到你的 Space:
   Dockerfile.hf-spaces  → Dockerfile
   wp-config-hf.php
   db.php
   start-hf.sh
   README-HF-SPACES.md   → README.md

方法 2: Git 推送

  1. 1.克隆你的 HF Space 仓库:
bash
   git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
   cd YOUR_SPACE_NAME
  1. 1.复制必要文件:
bash
   cp path/to/wordpress-master/Dockerfile.hf-spaces ./Dockerfile
   cp path/to/wordpress-master/wp-config-hf.php .
   cp path/to/wordpress-master/db.php .
   cp path/to/wordpress-master/start-hf.sh .
   cp path/to/wordpress-master/README-HF-SPACES.md ./README.md
  1. 1.提交并推送:
bash
   git add .
   git commit -m "Add WordPress for HF Spaces"
   git push

🔧 配置说明

Dockerfile 修改

  • 端口配置: 从 80 改为 7860
  • 数据库: 使用 SQLite 替代 MySQL
  • 依赖: 添加 SQLite 支持
  • 权限: 优化文件权限设置

WordPress 配置

  • 数据库: SQLite 文件存储在 wp-content/database/
  • URL 检测: 自动检测 HTTPS 和域名
  • 安全: 禁用文件编辑,启用强制 HTTPS
  • 性能: 优化内存限制和缓存设置

启动脚本

  • 初始化: 自动创建必要目录和数据库
  • 权限: 设置正确的文件权限
  • 健康检查: 提供状态页面
  • 演示内容: 可选的示例内容

🎯 访问信息

部署完成后,你可以通过以下方式访问:

  • 主页: https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/
  • 管理面板: https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/wp-admin/
  • 健康检查: https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health.html

默认登录信息

  • 用户名: demo
  • 密码: demo123
  • 邮箱: demo@example.com
⚠️ 安全提醒: 首次登录后请立即更改默认密码!

📁 文件结构

/var/www/html/
├── wp-config.php          # WordPress 配置
├── wp-content/
│   ├── database/          # SQLite 数据库文件
│   ├── plugins/           # 插件目录
│   ├── themes/            # 主题目录
│   ├── uploads/           # 上传文件
│   └── db.php            # SQLite 集成
├── .htaccess             # URL 重写规则
└── health.html           # 健康检查页面

⚠️ 限制和注意事项

Hugging Face Spaces 限制

  1. 1.存储: 数据不会永久保存,重启后丢失
  2. 2.资源: CPU 和内存有限制
  3. 3.网络: 某些外部连接可能受限
  4. 4.插件: 某些需要特殊权限的插件可能无法使用
  5. 5.权限: 为了 HF Spaces 兼容性配置了宽松的文件权限 (777)

建议用途

  • 演示和测试: 展示 WordPress 功能
  • 开发环境: 临时开发和调试
  • 教学用途: WordPress 学习和培训
  • 生产环境: 不适合正式网站
  • 数据存储: 重要数据会丢失

🔧 自定义配置

修改端口 (如果需要)

Dockerfile.hf-spaces 中修改:

dockerfile
# 将 7860 改为其他端口
sed -i 's/Listen 80/Listen YOUR_PORT/' /etc/apache2/ports.conf
EXPOSE YOUR_PORT

添加插件或主题

Dockerfile.hf-spaces 中添加:

dockerfile
# 下载并安装插件
RUN wget -O plugin.zip "PLUGIN_DOWNLOAD_URL" && \
    unzip plugin.zip -d /var/www/html/wp-content/plugins/ && \
    rm plugin.zip

修改 PHP 设置

Dockerfile.hf-spaces 中调整:

dockerfile
RUN { \
    echo 'memory_limit = 512M'; \
    echo 'upload_max_filesize = 64M'; \
    echo 'post_max_size = 64M'; \
} > /usr/local/etc/php/conf.d/custom.ini

🐛 故障排除

常见问题

  1. 1.Space 启动失败
  2. 2.检查 Dockerfile 语法
  3. 3.确认所有必需文件都已上传
  4. 4.查看 Space 日志获取详细错误信息
  1. 1.WordPress 无法访问
  2. 2.等待几分钟让容器完全启动
  3. 3.检查端口 7860 是否正确配置
  4. 4.尝试访问 /health.html 检查服务状态
  1. 1.数据库连接错误
  2. 2.SQLite 数据库会自动创建
  3. 3.检查 wp-content/database/ 目录权限
  4. 4.确认 db.php 文件存在
  1. 1.权限错误 (Permission Denied)
  2. 2.容器已配置宽松权限 (777) 解决 HF Spaces 兼容性
  3. 3.如果仍有问题,检查 Space 日志中的具体错误
  4. 4.确保所有必需目录在 Dockerfile 中正确创建

调试方法

  1. 1.查看容器日志
  2. 2.访问 /health.html 检查状态
  3. 3.检查 /wp-content/database/ 目录权限
  4. 4.启用 WordPress 调试模式

📚 相关资源

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

📄 许可证

本项目遵循 WordPress 的 GPL v2 许可证。