Перейти к основному содержимому

Установка на веб‑сервер

Руководство предполагает использование типичной среды LAMP. Если вы используете другую конфигурацию (например, Nginx) или столкнулись с проблемой, посетите раздел Руководство по установке.

1. Системные требования

Ознакомьтесь с разделом системные требования и убедитесь, что ваша система соответствует требованиям для Pimcore.

2. Установка Pimcore и зависимостей

Проще всего установить Pimcore из терминала с помощью Composer. Перейдите в корневую папку вашего проекта:

cd /your/project  

Осторожно

Помните: корень проекта (project root) != корень веб‑документов (document root)

Выбор пакета для установки

Доступны два пакета установки:

  • демонстрационный пакет с примерами конфигурации и наборами.
  • пустой скелет для опытных разработчиков.
1. Skeleton Package (только для опытных разработчиков Pimcore)
COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton my-project  

Demo Package
COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/demo my-project  

Укажите в конфигурации виртуального хоста (vhost) корень документов (document root) на вновь созданную папку /public (пример: /your/project/public). Учтите, что Pimcore должен быть установлен за пределами document root. Специфические конфигурации и оптимизации для вашего веб‑сервера доступны здесь: Apache, Nginx

Pimcore требует права на запись в следующие директории (относительно корня проекта): /var, /public/var (Подробности)

Если вы запускаете установку с пользовательским именем окружения (environment), убедитесь, что у вас уже есть соответствующие конфигурационные файлы, например config/packages/[env_name]/config.yaml.

3. Создание базы данных

mysql -u root -p -e "CREATE DATABASE project_database charset=utf8mb4;"  

Для дополнительной информации, пожалуйста, посетите Руководство по настройке БД

4. Запуск инсталлятора

cd ./my-project  
./vendor/bin/pimcore-install

Это запустит интерактивный установщик с несколькими вопросами. Убедитесь, что установлен memory_limit минимум 512M в вашем php.ini файле.

Информация

Pimcore поддерживает полностью автоматизированный процесс установки. Подробнее: Расширенные темы установки

Открытие административного интерфейса

После завершения установки вы сможете открыть административный интерфейс: https://your-host.com/admin

Отладка проблем при установке

Инсталлятор записывает лог в var/log, в котором содержатся ошибки, возникшие во время установки. При отладке установки начните с просмотра этих логов.

5. Cron‑задача для обслуживания (Maintenance Cron Job)

Задачи обслуживания обрабатываются через Symfony Messenger. Команда pimcore:maintenance добавит сообщения о техническом обслуживании в шину (message bus). Однако команда pimcore:maintenance сама по себе не обрабатывает эти сообщения. Требуются независимые воркеры, которые будут забирать сообщения из очередей и выполнять задачи обслуживания. В типичной установке Pimcore рекомендуется настроить воркеры для следующих транспортов:

#Название транспортаЦель
1pimcore_coreОсновные фоновые задачи, такие как конвертация видео, рендеринг предварительных просмотров ассетов и т.д.
2pimcore_maintenanceЗадачи на техническое обслуживание
3pimcore_scheduled_tasksЗапланированные задачи
4pimcore_image_optimizeВыполнение оптимизаторов для миниатюр изображений ассетов
5pimcore_asset_updateОбработка метаданных ассетов, напр.: количество страниц в Документах, длительность/размеры видео, превью изображений и т. п.
6pimcore_search_backend_messageОбновление индекса для бэкенд‑поиска Pimcore. Только если установлен SimpleBackendSearchBundle

Учтите, что фактический набор транспортов зависит от того, какие бандлы ядра (core bundles) установлены в системе. Поэтому список надо будет скорректировать в соответствии с вашей установкой. Используйте bin/console debug:messenger чтобы получить список всех доступных транспортов.

Потребление сообщений из очередей выполняется командой messenger:consume (например, bin/console messenger:consume pimcore_core ...). Вам может понадобиться запустить несколько воркеров, каждый из которых будет потреблять сообщения из отдельной очереди, чтобы долгие задачи не блокировали обработку других сообщений. Примеры:

bin/console messenger:consume pimcore_core pimcore_maintenance pimcore_scheduled_tasks pimcore_search_backend_message pimcore_asset_update  
bin/console messenger:consume pimcore_image_optimize

Мы рекомендуем следовать руководству Symfony Messenger при настройке рабочих процессов в продакшне. Ниже приведён упрощённый пример того, как выполнять задачи обслуживания с помощью cron:

# Эта команда должна выполняться через cron или аналогичный планировщик задач  
# она заполняет очередь сообщений необходимыми задачами, которые затем обрабатываются messenger:consume
*/5 * * * * /your/project/bin/console pimcore:maintenance

# Рекомендуется запускать следующие команды через систему управления процессами, например Supervisor
# Пожалуйста, следуйте руководству Symfony Messenger для наилучшей практики в продакшн среде:
# https://symfony.com/doc/current/messenger.html#deploying-to-production
*/5 * * * * /your/project/bin/console messenger:consume pimcore_core pimcore_maintenance pimcore_scheduled_tasks pimcore_search_backend_message --time-limit=300
*/5 * * * * /your/project/bin/console messenger:consume pimcore_asset_update --time-limit=300
*/5 * * * * /your/project/bin/console messenger:consume pimcore_image_optimize --time-limit=300

Для получения дополнительной информации об использовании компонента Messenger в Pimcore см. Symfony Messenger.

В зависимости от установленных и активированных расширений, может понадобиться добавить дополнительные транспорты в команду messenger:consume. Обратитесь к документации соответствующих расширений для подробностей.

Учтите, что cron‑задача должна выполняться от того же пользователя, что и веб‑интерфейс, чтобы избежать проблем с правами доступа (например, www-data).

Для получения информации о том, как справиться с неудавшимися задачами, см. раздел.

Кеширование

Обязательно используйте какой‑нибудь механизм кеширования для повышения производительности. Рекомендуется Redis Cache Storage.

6. Дополнительная информация и помощь

Если вам нужно больше сведений об установке или возникают проблемы при запуске Pimcore, посетите раздел Руководство по установке.

7. Дополнительные материалы для чтения

Далее - Структура директорий


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.