Встановлення та налаштування Sulu CMS (Symfony) під ключ

Sulu CMS — не WordPress: що потрібно знати до встановлення

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Встановлення та налаштування Sulu CMS (Symfony) під ключ
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Sulu CMS — не WordPress: що потрібно знати до встановлення

Sulu CMS — потужна система управління контентом на Symfony, але встановлення «з коробки» потребує розуміння його архітектури. Розробникам, звичним до WordPress, доводиться освоювати концепцію Webspace, PHPCR та розділення на admin- і website-маршрути. Наприклад, при першому запуску без правильної ініціалізації PHPCR можна отримати помилку PHPCR\RepositoryException. Ми стикалися з проєктами, де налаштування оточення займало тижні через несумісність версій PHP та відсутність розширень. Наш досвід показує: правильна конфігурація на старті економить до 70% часу на подальшу розробку. У цій статті ми розберемо ключові кроки налаштування Sulu CMS та типові помилки, а також покажемо, як уникнути проблем з продуктивністю.

Які проблеми ми вирішуємо

Типові технічні складнощі при впровадженні Sulu:

  • Несумісність версій PHP та розширень. Sulu 2.x потребує PHP 8.2+ і конкретний набір розширень. Якщо на сервері PHP 8.1 — проєкт не запуститься.
  • Помилки PHPCR та Jackalope. За замовчуванням Sulu використовує Doctrine DBAL для зберігання контенту в реляційній БД. Неправильне налаштування connection або кешу призводить до PHPCR\RepositoryException.
  • Конфігурація Webspace. Якщо не описати структуру сторінок та мов, backoffice не відобразить контент. Потрібно прописати шаблони в config/templates/ та ініціалізувати документи.
  • Продуктивність. Без Redis та черг адміністративна панель може гальмувати, особливо при великій кількості медіафайлів.

Офіційна документація Sulu CMS зазначає: «Sulu requires PHP 8.2 or higher». Щоб уникнути цих проблем, важливо дотримуватися перевірених кроків встановлення.

Як Sulu CMS порівнюється з WordPress?

Аспект WordPress Sulu CMS
Сховище контенту MySQL (єдина БД) MySQL + PHPCR (Jackalope)
Налаштування маршрутів .htaccess YAML + PHPCR
Шаблонізація PHP-теми Twig + конфігурація Webspace
Продуктивність Вбудоване кешування Вимагає Redis, Varnish

WordPress використовує MySQL як єдине сховище контенту, а Sulu розділяє контент на реляційну БД (для метаданих) та PHPCR (для структурованого контенту). Це дає гнучкість, але потребує додаткових налаштувань. Наші інженери налаштовують Sulu в 3-5 разів швидше за середнього сеньйора завдяки готовим конфігураційним шаблонам.

Чому важливе правильне налаштування Webspace?

Webspace — це визначення структури сайту: мова, шаблони, навігація. Якщо конфігурація невірна, backoffice не відобразить сторінки. Типова помилка — відсутність обов'язкових полів у шаблоні. Ми використовуємо перевірені конфігурації, які гарантують коректну роботу.

Як уникнути типових помилок при встановленні Sulu?

Помилки при встановленні часто пов'язані з неправильною ініціалізацією PHPCR. Після створення бази даних та виконання міграцій обов'язково виконайте:

php bin/console sulu:document:initialize php bin/console sulu:phpcr:init 

Ці команди створюють початкову структуру документів. Якщо пропустити цей крок, backoffice не завантажиться. Крім того, перевірте права доступу до папок var/ та public/uploads/. Наш досвід показує, що 80% проблем вирішуються саме коректною ініціалізацією PHPCR.

Як встановити Sulu CMS на сервер?

Системні вимоги

  • PHP 8.2+ з розширеннями intl, gd/imagick, pdo_mysql/pdo_pgsql, xml, zip, curl
  • MySQL 8.0+ / MariaDB 10.6+ / PostgreSQL 14+
  • Composer 2, Node.js 18+

Встановлення та ініціалізація

composer create-project sulu/skeleton my-project cd my-project 

Вкажіть в .env.local параметри підключення: DATABASE_URL=mysql://sulu:[email protected]:3306/sulu_db?serverVersion=8.0.

Виконайте команди:

php bin/console doctrine:database:create php bin/console doctrine:migrations:migrate --no-interaction php bin/console sulu:security:user:create --firstName="Admin" --lastName="Admin" --username=admin [email protected] --locale=uk --role=ROLE_SULU_ADMIN php bin/console sulu:document:initialize php bin/console sulu:phpcr:init 

Конфігурація Nginx

server { listen 443 ssl http2; server_name example.com en.example.com admin.example.com; root /var/www/my-project/public; index index.php; ssl_certificate /etc/ssl/certs/example.com.crt; ssl_certificate_key /etc/ssl/private/example.com.key; client_max_body_size 50M; location / { try_files $uri /index.php$is_args$args; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location /uploads/ { expires 30d; add_header Cache-Control "public, immutable"; } } 

Збірка для продакшну

composer install --no-dev --optimize-autoloader npm ci && npm run build php bin/console cache:warmup --env=prod php bin/console doctrine:migrations:migrate --no-interaction --env=prod php bin/console messenger:consume async --limit=100 

Налаштування кешування з Redis

# config/packages/cache.yaml framework: cache: default_redis_provider: 'redis://127.0.0.1:6379' pools: cache.app: adapter: cache.adapter.redis 
Приклад конфігурації Webspace ```yaml sulu_core: content: structure: default_type: homepage: 'default' page: 'default' paths: app: path: '%kernel.project_dir%/config/templates' type: 'page' ```

Процес роботи та терміни

Етап Опис Термін
Аналітика Обговорення структури, мов, навантаження 1-2 дні
Проєктування Підготовка конфігурації Webspace та PHPCR 1 день
Встановлення та налаштування Виконання технічних кроків на сервері 1-2 дні
Тестування Перевірка backoffice, маршрутів, продуктивності 1 день
Деплой Перенесення на продакшн, кешування, моніторинг 1 день

Базове встановлення з одним Webspace та двома мовами — від 1 дня. Складні проєкти з інтеграціями — до 5 днів.

Що входить в нашу роботу

  • Аудит оточення та встановлення відсутніх компонентів
  • Налаштування Webspace під структуру сайту
  • Конфігурація Nginx та SSL
  • Оптимізація з Redis та чергами
  • Інтеграція з зовнішніми сервісами
  • Навчання команди та документація

Наша команда має 5+ років досвіду в Symfony та Sulu, реалізувала 30+ проєктів. Вартість розраховується індивідуально залежно від складності. Щоб уникнути типових проблем при встановленні Sulu, довірте цю роботу професіоналам. Зв'яжіться з нами для консультації та точної оцінки проєкту.

Зв'яжіться з нами

Отримайте консультацію протягом 24 годин. Ми допоможемо налаштувати Sulu CMS правильно та швидко. Замовте послугу прямо зараз.