通过ploi.io在Hetzner Cloud上部署CraftCM(快速)
#php #devops #ddev #craftcms

哪种简便的方法可以使CraftCMS网站启动并运行?我发现这是ploi.io的帮助,Hetzner CX11 virtual cloud server(最多4.51 /月)和DDEV的帮助。< / p>。< / p>

当心:我是CraftCMS Newbie! ðρ

先决条件

  1. 安装本地开发的DDEV
  2. 注册Hetzner Cloud account
  3. 注册ploi.io account
  4. 通过ploi.io(作为服务提供商)上的API键连接Hetzner帐户
  5. 通过PLOI仪表板创建第一台服务器

Screenshot ploi service provider

Screenshot ploi create server

Screenshot create server

创建github存储库,克隆它本地

创建一个新的github项目(使用readme),克隆本地并为craftCMS安装运行这些命令:

DDEV quickstart for CraftCMS

# Set up the DDEV environment:
ddev config --project-type=craftcms --docroot=web --create-docroot

# Boot the project and install the starter project:
ddev start
ddev composer create -y --no-scripts craftcms/craft

# Run the Craft installer:
ddev craft install
ddev launch

将新文件推向您的github存储库。

转储本地数据库

对于初始安装,我们需要数据库的转储。这可以通过ddev export-db -f dump.sql.gz实现。

此数据库转储将稍后导入到实时站点数据库中。

,但不要担心:在此之后,对数据结构的更改将由CLI(php craft migrate/all --no-content --interactive=0)应用。

在ploi.io(服务器)上创建一个新数据库

数据库通过服务器管理

Image description

安装phpmyadmin,通过数据库用户和密码

连接

Image description

导入数据库转储文件

Image description

通过Ploi

创建一个新站点

您不必立即连接真实域,也可以稍后生成测试域。因此,您也可以使用“ mysite.example.com”,例如

Image description

从git存储库中安装

我们使用git存储库,不是 craftCMS的1键安装程序。

Image description

如果您使用公共存储库,则可以粘贴URL:

Image description

调整部署脚本

这些是按下“立即部署”按钮时执行的命令。

Image description

# ploi standard commands
cd /home/ploi/craft-playground.mandrasch.dev
git pull origin main

# NodeJS support, e.g. for vite
# npm install
# npm run build

composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader

# deployment best practices by craftcms docs:
# https://craftcms.com/knowledge-base/deployment-best-practices
php craft update/composer-install --interactive=0
php craft migrate/all --no-content --interactive=0
php craft project-config/apply
php craft migrate --track=content --interactive=0

echo "" | sudo -S service php8.2-fpm reload
echo "🚀 Application deployed!"

通过“编辑环境”添加.ENV值

.env.example.production复制.env值,添加一个安全键并调整数据库连接设置。对于安全密钥,您可以使用Bitwarden Generator等发电机。

Image description

Image description

添加免费的“让我们加密” SSL证书

Image description

可选:添加一个测试域

如果您尚未连接真正的域,也可以使用Ploi.io免费提供的测试域(用于测试使用 /开发​​)。< / p>

Image description

准备部署! ð

点击“立即部署”按钮,然后从您的github存储库中拉动CraftCMS安装:

Image description

就是这样。打开您的网站,喜欢使用Craft CMS开发! ð

Image description

如果您想在推到GitHub时触发自动部署,请查看本指南:ploi.io - How to trigger deployments via GitHub actions

如果您有兴趣整合Vite,则有一个很棒的插件nystudio107/vite用于CraftCMS。在此处查看示例代码和教程:https://github.com/mandrasch/ddev-craftcms-vite

将来拥有一个良好且强大的ddev pull脚本将媒体资产和实时内容用于本地开发会很酷。

还确保加入DDEV discord。 ð