7.6 KiB
title | sidebarDepth |
---|---|
安装 | 3 |
如何安装 Castopod ?
Castopod 的安装非常简单。 你能在大多数兼容的 PHP-MySQL 的服务器上安装 Castopod, 无论是专用还是 共享主机。
::: 注意
我们已经发布 Castopod 的官方 Docker 镜像!
如果你更喜欢使用 Docker,则可以跳过此步骤,直接前往 Castopod 的 Docker 文档。
:::
要求
- PHP 8.1 或更高版本
- MySQL 5.7 或更高版本与 MariaDB 10.2 或更高版本
- HTTPS 支持
- An ntp-synced clock to validate federation's incoming requests
PHP 8.1 或更高版本
需要 PHP 8.1 或更高版本,并安装以下扩展:
此外,请确保在 PHP 中启用以下扩展:
- json (默认启用-不要关闭)
- xml (默认启用-不要关闭)
- mysqlnd
兼容 MySQL 的数据库
我们建议使用 MariaDB。
::: 警告
Castopod 仅适用于受支持的 MySQL 5.7 或更高版本的兼容数据库。 例如,MySQL 5.6 已 经不受支持,因为它于 2021 年 2 月 5 日已停止更新。
:::
你需要填写服务器主机名、数据库名称、用户名和密码才能完成安装过程。 如果没有这些 ,请与你的服务器管理员联系。
权限
用户至少需要在数据库中有这些权限,Castopod 才能工作:
CREATE
,ALTER
,DELETE
,EXECUTE
,INDEX
,INSERT
,SELECT
,UPDATE
,REFERENCES
,CREATE VIEW
。
(可选)FFmpeg v4.1.8 或更高版本,用于视频素材
如果你需要视频素材,则需要 FFFmpeg 4.1.8 或更高版本。 必须安装以下扩展:
- FreeType 2 来自库 gd
(可选)其他建议
- 使用 Redis 提高缓存性能。
- CDN 用于静态文件缓存以实现更好的性能。
- 电子邮件用于找回密码。
安装说明
准备环境
-
需要一台已经实现 环境要求的 Web 服务器
-
为 Castopod 创建一个 MySQL 数据库,其中用户具有访问和修改权限(有关详细信息, 请参阅 MySQL 兼容数据库)。
-
使用 SSL 证书 在您的域激活 HTTPS。
-
下载最新的 Castopod 到 web 服务器并解压(如果尚未下 载)。
- ⚠️ 将 web 服务器根目录设置为
castopod
文件夹中的public/
子文件夹。
- ⚠️ 将 web 服务器根目录设置为
-
在 Web 服务器上为各种后台进程添加 cron 任务 (相应地替换路径)
- 为了使社交功能正常工作,此任务用于向联邦宇宙中的关注者发送活动:
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities
- 使用 WebSub 在发布时将您的剧集广播 在公共平台:
* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-websub-publish
- 如果需要使用视频素材(请参阅 FFmpeg 要求):
* * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips
这些任务 每分钟运行一次。 你可以根据需要设置频率:每 5 分钟,10 分钟或 更长的时间。
(推荐) 安装向导
- 前往你最喜欢的浏览器并跳转至安装向导页面
(
https://your_domain_name.com/cp-install
)运行 Castopod 安装脚本。 - 请按照屏幕上的说明进行操作。
- 开始播客!
::: 注意
安装脚本将会在根目录中创建一个 .env
文件并写入数据。 如果你不能执行安装向导,
那么可以基于 .env.example
文件手动创建和编辑 .env
文件。
:::
邮箱/SMTP 设置
某些功能需要电子邮件配置才能正常工作(例如: 找回密码,向高级订阅者发送说明, …)
你可以在实例的 .env
中添加你的电子邮件配置,如下所示:
# […]
# […]
email.fromEmail="你的邮件地址"
email.SMTPHost="你的邮件主机"
email.SMTPUser="你的邮件用户名"
email.SMTPPass="你的邮件密码"
电子邮件配置选项
变量名称 | 类型 | 默认 |
---|---|---|
fromEmail |
string | undefined |
fromName |
string | "Castopod" |
SMTPHost |
string | undefined |
SMTPUser |
string | undefined |
SMTPPass |
string | undefined |
SMTPPort |
number | 25 |
SMTPCrypto |
["tls" or "ssl" ] |
"tls" |
S3
By default, files are stored in the public/media
folder using the filesystem.
If you prefer storing your media files on an S3 compatible storage, you may
specify it in your .env
:
# […]
media.fileManager="s3"
media.s3.endpoint="your_s3_host"
media.s3.key="your_s3_key"
media.s3.secret="your_s3_secret"
media.s3.region="your_s3_region"
S3 config options
Variable name | Type | Default |
---|---|---|
endpoint |
string | undefined |
key |
string | undefined |
secret |
string | undefined |
region |
string | undefined |
bucket |
string | castopod |
protocol |
number | undefined |
path_style_endpoint |
boolean | false |
社区套餐
If you don't want to bother with installing Castopod manually, you may use one of the packages created and maintained by the open-source community.
Install with YunoHost
YunoHost is a distribution based on Debian GNU/Linux made up of free and open-source software packages. It manages the hardships of self-hosting for you.