Установка и настройка Sculpin в окружении ServBay
Обзор
Sculpin — это мощный и гибкий статический генератор сайтов на PHP, особенно подходящий для блогов, сайтов с документацией или любых проектов, где необходимо преобразовать динамический контент (например, шаблоны Twig и Markdown-файлы) в высокопроизводительные HTML-страницы. Sculpin использует Composer для управления зависимостями и построен на компонентах Symfony, что обеспечивает разработчикам надежный и знакомый опыт.
ServBay — это локальная среда веб-разработки, созданная специально для macOS и объединяющая в себе широкий спектр инструментов: PHP, Composer, базы данных (MySQL, PostgreSQL, MongoDB, Redis), веб-серверы (Caddy, Nginx) и удобный графический интерфейс для управления ими. С помощью ServBay вы можете значительно упростить настройку среды разработки Sculpin на macOS, особенно при работе с разными версиями PHP, управлением зависимостями и конфигурацией веб-сервера.
В этом руководстве подробно описано, как установить и настроить Sculpin в ServBay, а также создать тестовый локальный сайт для разработки.
Сценарии использования
- Создание высокопроизводительных статических блогов на PHP-стеке.
- Генерация статических сайтов-документаций для open-source проектов или продуктов.
- Быстрый запуск лендингов или корпоративных сайтов без необходимости бэкенд-базы данных.
- Написание контента с помощью шаблонов Twig и Markdown с максимальной скоростью и безопасностью статического сайта.
Необходимые условия
Перед началом убедитесь, что соблюдены следующие условия:
- На вашем Mac установлен и запущен ServBay. Он предоставляет нужное окружение PHP, Composer и веб-сервер (Caddy или Nginx).
- Вы обладаете базовыми навыками работы с терминалом.
- Знакомы с основами PHP, Composer и Markdown.
Шаги по установке Sculpin
Ниже приведены подробные шаги по установке и настройке Sculpin в среде ServBay:
Шаг 1: Создание директории проекта
Сначала создайте новую папку для проекта в корневой директории сайтов ServBay (/Applications/ServBay/www
). В качестве примера будем использовать папку servbay-sculpin-app
.
Откройте терминал и выполните команды:
cd /Applications/ServBay/www
mkdir servbay-sculpin-app
cd servbay-sculpin-app
2
3
В этой папке будут находиться все файлы вашего Sculpin-проекта.
Шаг 2: Создание проекта Sculpin с помощью Composer
В ServBay уже предустановлен Composer, отдельная установка не требуется. Вы можете сразу использовать команду composer
в терминале.
Для быстрого старта воспользуемся официальным скелетом блога Sculpin. Находясь в только что созданной папке servbay-sculpin-app
, выполните команду:
composer create-project sculpin/sculpin-blog-skeleton .
Эта команда загрузит и установит скелет блога Sculpin и все его зависимости в текущую директорию (.
).
Шаг 3: Настройка сайта в ServBay
Чтобы получить доступ к вашему сайту Sculpin через веб-сервер (Caddy или Nginx), необходимо добавить соответствующую конфигурацию в ServBay.
- Откройте приложение ServBay: запустите графический интерфейс ServBay.
- Перейдите на вкладку «Сайты»: в окне приложения выберите вкладку «Сайты» в навигационном меню.
- Добавьте новый сайт: нажмите кнопку «+» в нижнем левом углу для создания новой конфигурации сайта.
- Заполните параметры сайта:
- Имя (Name): введите узнаваемое название, например
My Sculpin Site
. - Домен (Domain): укажите желаемый локальный домен, например
servbay-sculpin.local
. Для домена на.local
ServBay автоматически настроит локальное разрешение и SSL-сертификат (через ServBay User CA). - Тип сайта (Type): выберите
PHP
, так как Sculpin — PHP-приложение. - Версия PHP (PHP Version): выберите нужную версию PHP. ServBay поддерживает несколько версий, рекомендуется использовать совместимую с Sculpin (обычно достаточно современной версии).
- Корень сайта (Document Root): важный момент! Sculpin генерирует статические файлы по умолчанию в папки
output_dev
илиoutput_prod
в директории проекта. Для локальной разработки укажите в качестве корня путь к директории для development-вывода:/Applications/ServBay/www/servbay-sculpin-app/output_dev
- Имя (Name): введите узнаваемое название, например
- Сохраните конфигурацию: после заполнения всех полей нажмите кнопку «Сохранить». ServBay автоматически применит новую конфигурацию к веб-серверу (Caddy или Nginx). Обычно вручную перезапускать сервисы не требуется.
Шаг 4: Сборка сайта Sculpin
После настройки сайта в ServBay, Sculpin должен сгенерировать статические файлы для сайта.
В терминале, убедившись, что вы находитесь в папке проекта /Applications/ServBay/www/servbay-sculpin-app
, выполните команду для установки зависимостей (если шаг 2 был выполнен, этот шаг может быть необязательным, но повторная установка не повредит):
composer install
Затем запустите генерацию сайта командой:
vendor/bin/sculpin generate --watch
vendor/bin/sculpin
— это путь к исполняемому файлу Sculpin, установленному через Composer.generate
— команда для генерации статического сайта: на её основе Sculpin читает содержимое и шаблоны из каталогаsource
, а готовые статические файлы выводятся в конфигурируемую папку (для разработки — вoutput_dev
).--watch
— флаг, указывающий Sculpin следить за изменениями в каталогеsource
. При каждом изменении файлов сайт будет автоматически пересобираться — это удобно для разработки.
После успешного выполнения команды и появления сообщения "Sculpin has generated your site!" или аналогичного, сгенерированные статические файлы будут находиться в каталоге output_dev
.
Шаг 5: Открытие локального сайта
Теперь вы можете открыть сайт через домен, указанный в настройках ServBay.
Откройте браузер и перейдите по адресу, настроенному на 3-м шаге:
https://servbay-sculpin.local
Поскольку корень сайта в ServBay указывает на output_dev
, а команда sculpin generate --watch
работает и следит за изменениями, вы сможете видеть все изменения на сайте в реальном времени по адресу https://servbay-sculpin.local
. ServBay автоматически создает SSL-сертификат для вашего локального сайта — вы сможете работать через защищённое HTTPS-соединение.
Разработка с помощью Sculpin
Вы успешно установили и настроили Sculpin в окружении ServBay и готовы приступить к созданию своего статического сайта. Вот несколько основных советов:
Структура проекта Sculpin
Понимание структуры проекта Sculpin поможет вам в разработке:
servbay-sculpin-app/
├── app/ # Конфигурация приложения и кэш
├── output_dev/ # Каталог для сборки статических файлов (ServBay использует его как корень сайта во время разработки)
├── output_prod/ # Каталог вывода для production-сборки
├── source/ # Исходные файлы сайта (Markdown-контент, Twig-шаблоны, статика)
│ ├── _layouts/ # Файлы шаблонов Twig
│ ├── _posts/ # Markdown-файлы для постов блога
│ ├── assets/ # Статические ресурсы (CSS, JS, изображения и др.)
│ └── index.md # Markdown-файл главной страницы
├── vendor/ # Зависимости Composer
├── sculpin.yml # Главный конфигурационный файл Sculpin
├── composer.json # Конфиг зависимостей Composer
└── ...другие файлы
2
3
4
5
6
7
8
9
10
11
12
13
Основная работа происходит внутри папки source
.
Создание постов в блоге
Чтобы опубликовать запись в блоге на Sculpin, просто создайте новый Markdown-файл в каталоге source/_posts
. Обычно файл называется по формату YYYY-MM-DD-slug.md
.
Например, создайте файл 2024-06-06-my-first-post.md
:
---
title: "Мой первый пост"
date: 2024-06-06
tags: [Руководство, Sculpin, ServBay]
---
# Мой первый пост
Здесь размещается контент моего первого блога Sculpin. Я делюсь своим опытом работы с ServBay и Sculpin.
Вы можете использовать синтаксис Markdown для написания содержимого.
## Подзаголовок
Список:
- Пункт 1
- Пункт 2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
После сохранения файла, если у вас запущена команда sculpin generate --watch
, Sculpin автоматически пересоберёт сайт. Просто обновите страницу по адресу https://servbay-sculpin.local
— ваш новый пост появится на сайте.
Создание новой страницы
Чтобы добавить отдельную страницу (например, "О нас"), создайте Markdown-файл непосредственно в каталоге source
, например, about.md
:
---
title: "О нас"
layout: page.html.twig # используемый layout-шаблон
---
# Руководство по ServBay Sculpin
Эта страница посвящена использованию ServBay и Sculpin для создания статических сайтов.
2
3
4
5
6
7
8
После сохранения Sculpin создаст файл output_dev/about/index.html
(при включённой удобной структуре URL). Откройте в браузере https://servbay-sculpin.local/about/
для просмотра страницы.
Кастомизация стилей и скриптов
Статические ресурсы (CSS, JavaScript) обычно помещаются в папку source/assets
. Вы можете прямо редактировать эти файлы.
Например, чтобы изменить стили сайта, редактируйте файл source/assets/css/style.css
.
При изменении этих файлов Sculpin с флагом --watch
обнаружит изменения и пересоберёт итоговый сайт.
Продакшен-сборка сайта
Когда сайт готов к запуску, выполните production-сборку для дальнейшего деплоя. В production-сборке возможно срабатывание дополнительных оптимизаций, таких как минификация ресурсов.
Соберите сайт для production с помощью команды:
vendor/bin/sculpin generate --env=prod
Все сгенерированные файлы попадут в папку output_prod
. Этот каталог можно залить на любой сервис статического хостинга (GitHub Pages, Netlify, Vercel) либо на собственный веб-сервер.
Если хотите протестировать production-версию локально, измените в ServBay корневую директорию сайта на /Applications/ServBay/www/servbay-sculpin-app/output_prod
, сохраните конфигурацию и откройте нужный домен.
Важные замечания
- Убедитесь, что ServBay запущен и сайт активирован.
- Проверьте, что в терминале выполняется команда
sculpin generate --watch
— она обеспечивает автоматическую пересборку сайта при изменениях. - В сайте ServBay в качестве корня укажите директорию-вывода Sculpin (обычно
output_dev
для разработки). - ServBay автоматически выдает SSL-сертификаты для доменов
.local
, однако возможно потребуется доверить корневому центру ServBay User CA в вашей ОС. См. официальную документацию по деталям.
Часто задаваемые вопросы (FAQ)
Вопрос: Я изменил файл, но сайт не обновился?
Ответ: Удостоверьтесь, что команда vendor/bin/sculpin generate --watch
запущена в папке проекта и не завершилась с ошибкой. Проверьте вывод в терминале на предмет ошибок. Также попробуйте очистить кэш браузера или использовать режим инкогнито.
Вопрос: В браузере по адресу https://servbay-sculpin.local
возникает ошибка SSL?
Ответ: ServBay создает самоподписанный сертификат для доменов .local
. Для корректного HTTPS возможно потребуется добавить ServBay User CA в доверенные центры сертификации вашей системы. Следуйте инструкциям в документации ServBay.
Вопрос: Как изменить версию PHP?
Ответ: В приложении ServBay на вкладке «Пакеты» можно установить и управлять разными версиями PHP. На вкладке «Сайты» отредактируйте нужный сайт, выберите необходимую версию PHP и сохраните настройки.
Вопрос: Какие шаблонизаторы и языки разметки поддерживает Sculpin?
Ответ: Sculpin по умолчанию использует Twig в качестве шаблонизатора и поддерживает Markdown для написания контента.
Заключение
Благодаря интегрированной среде ServBay установка и настройка статического генератора сайтов Sculpin на macOS становится быстрой и простой задачей. ServBay предоставляет предустановленные PHP и Composer, настраиваемый веб-сервер с автогенерацией SSL, что облегчает локальную разработку. Следуя инструкции из данного руководства, вы сможете быстро развернуть тестовую среду для Sculpin и с легкостью создавать и просматривать статические сайты. Комбинируя богатые возможности Sculpin с удобством ServBay, вы сможете сосредоточиться на создании качественного контента, не тратя время на сложную ручную настройку окружения.