Учебное пособие основано на https://docs.typo3.org/m/typo3/guide-contributionworkflow/master/en-us/Appendix/SettingUpTypo3Ddev.html, но помните - это пошаговое руководство, если вы хотите внести свой вклад в ядро TYPO3. Если вы хотите запустить свой собственный сайт, раздел «Clone TYPO3» не применяется.
Итак, начните так:
- Установите Docker (с настольным приложением в порядке) с
https://www.docker.com/products/docker-desktop
- Установить ddev: https://ddev.readthedocs.io/en/latest/#installation (Mac:
brew tap drud/ddev && brew install ddev
)
- Создайте каталог, в котором вы хотите запустить сайт:
mkdir mysite; cd mysite
- Сконфигурировать ddev: run
ddev config
В мастере не из чего выбирать. Вы можете установить web-корень (например, public_html, чтобы у вас был уровень выше) и выбрать один из нескольких пресетов CMS. Они не сильно меняются, в случае TYPO3 он будет управлять подключением к базе данных и некоторыми настройками nginx.
Файл .ddev / config.yaml будет создан. В нем вы можете найти множество вариантов.
- Добавить .ddev / к gitignore
- Добавьте свой сайт (и, при необходимости, запустите composer)
- Запустите ddev с помощью
ddev start
- Проверьте, установлен ли mkcert, если нет, следуйте предоставленным инструкциям (это позволит вам использовать самозаверяющие сертификаты, по крайней мере, в Firefox) (mac:
brew install mkcert nss; mkcert -install
)
- ddev выведет несколько сведений, где вы можете найти свой сайт, какой порт, где находится phpmyadmin и т. Д.
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
- Теперь, как подключиться к базе данных, которая находится внутри контейнера Docker?
запустите
ddev describe
и вы получите данные для входа. Это в основном db
для всего.
- Для TYPO3 команда
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';
- Но что, если вы хотите получить доступ к базе данных с помощью отдельного инструмента вместо предварительно настроенного phpMyAdmin? Если вы используете Sequel Pro, просто запустите
ddev sequelpro
, и ваша база данных будет автоматически запущена в Sequel Pro.
Вы также можете сделать это вручную; тогда вам нужно определить порт db для внешнего доступа к нему. Сделайте это в .ddev / config.yaml, добавив (например) host_db_port: "32778"
Теперь мы можем настроить инструмент управления БД как таковой (и сохранить закладку):
Помните: PHP по-прежнему будет использовать порт по умолчанию 3306!
- Хорошо, поехали. ddev уже запущен, поэтому убедитесь, что вы находитесь в вашем локальном каталоге (где .ddev / is) и запустите ddev description, чтобы снова увидеть параметры. Вероятно, если вы перейдете на https://mysite.ddev.local,, вы обнаружите, что все из вашего webroot работает.
- Когда закончите, закончите с
ddev stop
. Хотя я не совсем уверен, где хранятся базы данных, когда ddev остановлен. Может быть, вы сначала получите дамп с ddev snapshot
.
- Изучите множество других возможностей ddev с
ddev help
.