Установка и настройка Craft CMS в среде ServBay
Обзор
Craft CMS — это мощная система управления контентом (CMS), получившая признание разработчиков за гибкое моделирование данных, интуитивно понятный интерфейс и удобство в разработке. Она идеально подходит для создания сложных и индивидуальных веб-сайтов.
Использование ServBay в качестве локальной среды для Craft CMS несет множество преимуществ: предустановленные PHP, база данных (например, MySQL или PostgreSQL) и веб-сервер (Caddy или Nginx), а также встроенные Composer и инструменты командной строки значительно упрощают процесс установки и настройки.
В этом руководстве подробно описано, как установить и настроить проект Craft CMS в среде ServBay.
Предварительные требования
Перед началом убедитесь, что у вас выполнены следующие условия:
- ServBay установлен и запущен: Убедитесь, что вы успешно установили ServBay на macOS, выбран подходящий PHP (Craft CMS предъявляет требования к версии — ознакомьтесь с официальной документацией Craft CMS) и нужная база данных (чаще всего MySQL или PostgreSQL) запущены. ServBay поддерживает несколько версий PHP и БД — вы можете легко переключаться между ними в зависимости от требований Craft CMS.
- Базовые навыки работы с командной строкой: Необходимо уметь выполнять команды в терминале, такие как создание каталогов и запуск Composer.
- Знание Composer: Craft CMS управляет зависимостями через Composer. В ServBay Composer уже установлен, однако важно понимать, как использовать команду
composer create-project
.
Шаги по установке Craft CMS
Ниже приведен пошаговый процесс установки и настройки Craft CMS в среде ServBay.
Шаг 1: Создание директории проекта
Сначала создайте новую папку внутри стандартной корневой директории сайтов ServBay — /Applications/ServBay/www
. По умолчанию она настроена как директория обслуживания веб-сервера, что упрощает доступ к проектам.
Откройте терминал и выполните команды:
cd /Applications/ServBay/www
mkdir servbay-craft-app
cd servbay-craft-app
2
3
Эти команды создадут новую папку servbay-craft-app
в директории /Applications/ServBay/www
и переместят вас внутрь неё.
Шаг 2: Создание проекта Craft CMS через Composer
Composer уже встроен в ServBay, поэтому вы можете непосредственно пользоваться им в директории проекта для установки Craft CMS. Официальный способ установки Craft CMS — через Composer.
Находясь в папке servbay-craft-app
, выполните:
composer create-project craftcms/craft .
Эта команда скачает последнюю версию Craft CMS и все необходимые зависимости в текущую директорию (.
). Дождитесь завершения процесса.
Шаг 3: Создание базы данных и пользователя
Craft CMS требует базу данных для хранения контента и настроек. Мы воспользуемся phpMyAdmin или Adminer, встроенными в ServBay. Для примера рассмотрим phpMyAdmin.
Откройте инструмент управления базой данных (phpMyAdmin)
В браузере перейдите на панель разработки ServBay: https://servbay.host/. Найдите и щелкните ссылку «phpMyAdmin» для перехода в инструмент управления СУБД.
Совет: по умолчанию для входа в phpMyAdmin используется пользователь
root
с паролемServBay.dev
. По соображениям безопасности рекомендуем сразу сменить парольroot
или создать отдельного администратора.Создайте пользователя для базы данных
Хотя для подключения Craft CMS можно использовать
root
, в целях безопасности и управления правами лучше создать отдельную учетную запись для каждого приложения.Перейдите в раздел управления пользователями
На главной странице phpMyAdmin кликните вкладку «Пользовательские аккаунты».
Добавьте нового пользователя
Кликните «Добавить пользователя». Заполните поля:
- Имя пользователя: выберите имя для подключения Craft CMS, например
craft_user
. - Имя хоста: выберите
localhost
или «Локальный», чтобы ограничить доступ подключениями с текущего компьютера. - Пароль: задайте надежный пароль. Не используйте
password123
из примеров, особенно в продакшн среде. Для локального тестирования разрешается более простой пароль, однако помните о принципах безопасности. - Подтвердите пароль: введите еще раз для проверки.
- В разделе Создать базу данных с именем пользователя и предоставить все права выберите этот пункт. Это автоматически создаст БД с именем
craft_user
и выдаст все права пользователю. - Проверьте, чтобы была установлена отметка «Все права».
- Нажмите «Выполнить» для завершения операции.
- Имя пользователя: выберите имя для подключения Craft CMS, например
Теперь у вас есть пользователь и база данных с именем
craft_user
и нужными правами.
Шаг 4: Настройка веб-сервера (создание сайта в ServBay)
Чтобы веб-сервер ServBay (Caddy или Nginx) обслуживал ваш проект Craft CMS, требуется добавить конфигурацию сайта.
Откройте приложение ServBay
Запустите ServBay.
Добавьте новый сайт
В левой панели нажмите «Сайты» (в старых версиях — «Хосты»). Далее выберите кнопку «+» или «Добавить сайт» справа для создания новой конфигурации.
Заполните:
- Имя (Name): выберите информативное имя, например
My Craft Site
. - Домен (Domains): укажите домен для локального доступа, например
servbay-craft.local
. ServBay автоматически настроит локальный DNS. - Тип сайта (Type): выберите
PHP
. - Версия PHP (PHP Version): отметьте совместимую с Craft CMS версию, указанную на этапе подготовки. В ServBay может быть несколько актуальных PHP.
- Корневая директория сайта (Website Root): это критически важный момент. Публичные файлы Craft CMS (например,
index.php
) находятся в подпапкеweb
внутри вашего проекта. По соображениям безопасности корень сайта должен указывать на эту папку, а не на весь проект. Укажите:/Applications/ServBay/www/servbay-craft-app/web
Проверьте, что путь правильный — он должен вести в папкуweb
внутри созданного проекта.
- Имя (Name): выберите информативное имя, например
Сохраните настройки
После заполнения кликните «Сохранить». ServBay перезапустит конфигурацию веб-сервера, и новый сайт появится в списке сайтов с адресом
servbay-craft.local
.
Шаг 5: Запуск мастера установки Craft CMS
Теперь можно перейти по адресу настроенного домена и запустить установочный мастер Craft CMS.
Перейдите на страницу установки
В браузере откройте URL:
https://servbay-craft.local/
. Craft CMS автоматически определит, что система еще не установлена, и перенаправит на страницу установки, обычно этоhttps://servbay-craft.local/index.php?p=admin/install
.Введите данные для подключения к базе данных
На этапе конфигурации базы данных укажите параметры, использованные выше:
- Сервер базы данных (Database Server):
localhost
- Имя базы данных (Database Name):
craft_user
(или другое созданное имя) - Имя пользователя (Username):
craft_user
(или выбранное вами имя) - Пароль (Password): установленный ранее для
craft_user
пароль.
Нажмите «Далее». Если данные введены правильно, система подключится к базе.
- Сервер базы данных (Database Server):
Создайте учетную запись администратора
Следуя указаниям, введите имя пользователя, пароль и e-mail для администратора Craft CMS. Не забывайте про надежность пароля!
Перейдите к следующему шагу.
Настройте параметры сайта
Введите имя сайта и основные настройки.
Щелкните по кнопке «Завершить установку (Finish Up)». Craft CMS закончит установку: создаст таблицы в базе и необходимые конфигурационные файлы.
После завершения вас перенаправит на страницу входа в панель управления Craft CMS.
Шаг 6: Первичная настройка и ознакомление
После входа в админ-панель Craft CMS вы сможете:
- Проверить файл
.env
: Craft CMS использует файл.env
для хранения переменных среды, включая данные для доступа к базе. Файл генерируется автоматически и располагается в корне проекта (servbay-craft-app/
). Здесь можно править параметры, например, установитьCRAFT_ENVIRONMENT=dev
. - Установить плагины: В панели управления выберите «Плагины (Plugins)», где вы можете просматривать, устанавливать и управлять расширениями для Craft CMS.
- Создать структуру контента: В разделе «Настройки (Settings)» задайте поля, разделы (Sections), категории (Categories), теги (Tags) и др.
- Настроить отправку почты: Для тестирования email-рассылки локально настройте Craft CMS на использование Mailpit или Mailhog, встроенных в ServBay. В файле
.env
или через настройки админ-панели укажите использование SMTP: сервер —localhost
, порт — тот, который указан для SMTP в Mailpit/Mailhog (уточняется в панели ServBay).
Часто задаваемые вопросы (FAQ)
- Вопрос: Что делать, если при установке возникает ошибка подключения к базе данных?
- Ответ: Проверьте, что все параметры подключения (адрес сервера, имя базы, имя пользователя и пароль) в мастере установки Craft CMS полностью совпадают с теми, что вы создали через phpMyAdmin. Убедитесь, что СУБД (MySQL или PostgreSQL) запущена внутри ServBay.
- Вопрос: При заходе на
servbay-craft.local
появляется 404 или пустая страница?- Ответ:
- Проверьте, правильно ли указан «корень сайта» в настройках сайта ServBay — он должен быть строго равен
/Applications/ServBay/www/servbay-craft-app/web
. Это самая частая причина ошибок. - Убедитесь, что запущены веб-сервер (Caddy или Nginx) и PHP.
- Проверьте, что сайт
servbay-craft.local
отмечен как активный в списке сайтов ServBay.
- Проверьте, правильно ли указан «корень сайта» в настройках сайта ServBay — он должен быть строго равен
- Ответ:
- Вопрос: Установка через Composer идет очень медленно или завершается с ошибкой?
- Ответ: Обычно это связано с интернет-соединением или зеркалами Composer. Можно временно сменить источник Composer на локальный зеркальный сервер, например, от Alibaba Cloud или Packagist China.
- Вопрос: После установки не отображаются стили админки или картинки на сайте?
- Ответ: Обычно проблема в правах на файлы. Проверьте, что пользователь, под которым работает ServBay, имеет права на запись в папки
storage
,web/cpresources
и другие. ServBay обычно настраивает права автоматически, но иногда требуется ручная корректировка.
- Ответ: Обычно проблема в правах на файлы. Проверьте, что пользователь, под которым работает ServBay, имеет права на запись в папки
Заключение
Выполнив эти шаги, вы успешно установите и настроите Craft CMS в локальной среде разработки ServBay. Интеграция функций в ServBay существенно упрощает управление версиями PHP, настройки базы данных и параметры веб-сервера — благодаря этому вы можете полностью сосредоточиться на создании приложений и сайтов на Craft CMS. Теперь вы можете воспользоваться всеми преимуществами гибкого моделирования контента Craft CMS для ваших проектов!