我是 docker 新手,有人告诉我ddev是一种设置本地容器以运行 TYPO3 项目的简单方法。
但我很困惑。我还不熟悉所有这些容器。我应该如何继续抓握?
本教程基于https://docs.typo3.org/m/typo3/guide-contributionworkflow/master/en-us/Appendix/SettingUpTypo3Ddev.html但请注意 - 如果您愿意,这是一个分步手册为TYPO3核心做出贡献。如果您想运行自己的站点,则“克隆 TYPO3”部分不适用。
所以开始这样:
brew tap drud/ddev && brew install ddev
)mkdir mysite; cd mysite
ddev config
向导中没有太多选择。您可以设置 web-root(例如 public_html,因此您有更高的级别)并从一些 CMS 预设中进行选择。它们不会改变太多,在 TYPO3 的情况下,它将管理数据库连接和一些 nginx 设置。将创建文件 .ddev/config.yaml。在其中你可以找到很多选择。ddev start
brew install mkcert nss; mkcert -install
)ddev help
给你更多的命令ddev ssh
. 这不用于更改文件等。文件会自动镜像到容器中!但是您可以登录以安装二进制文件等。让我们尝试一下。您可能需要一些命令:我们正在运行什么系统?uname -a
-> linuxkit // 更新可用包:sudo apt-get update
// 搜索包apt-cache search packagename
// 安装 Pdftools (pdftotext, pdfinfo..): sudo apt-get install poppler-utils
// 获取 imagemagick 的路径(如果已经安装):(whereis convert
记住,imagemagick 是一个集合,转换是工具之一)//从容器中注销,回到您的系统:exit
ddev describe
,您将获得登录数据。它基本上db
适用于一切。ddev setup
命令提供了一个AdditionalConfiguration.php
可以使用的文件。但它缺少两个重要参数,SystemMaintainers 和 Installtool Password。这是一个例子。$GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = '.*';
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'] = array_merge($GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'], [
'dbname' => 'db',
'host' => 'db',
'password' => 'db',
'port' => '3306',
'user' => 'db',
]);
// This mail configuration sends all emails to mailhog
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['transport'] = 'smtp';
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['transport_smtp_server'] = 'localhost:1025';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask'] = '*';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] = 1;
// add these
$GLOBALS['TYPO3_CONF_VARS']['SYS']['systemMaintainers'] = [123,456];
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL'] = 1; // optional
$GLOBALS['TYPO3_CONF_VARS']['BE']['installToolPassword'] = '123';
ddev sequelpro
,您的数据库将在 sequel pro 中自动启动。您也可以手动执行此操作;那么您需要定义数据库端口以从外部访问它。在 .ddev/config.yaml 中执行此操作,通过添加(例如)host_db_port: "32778"
现在我们可以设置一个数据库管理工具(并存储书签):请记住:PHP 仍将使用默认端口 3306!
ddev stop
. 不过,当 ddev 停止时,我还不确定数据库的持久化位置。也许你先用ddev snapshot
.ddev help
。