Встановлення та налаштування Craft CMS
Craft CMS встановлюється через Composer. Вимоги: PHP 8.2+, MySQL 8.0+ або PostgreSQL 13+, розширення PHP: imagick/gd, intl, fileinfo, mbstring.
Встановлення
composer create-project craftcms/craft my-project
cd my-project
php craft setup
# Відповідаємо на питання: хост БД, назва, користувач, пароль
# Створює .env та запускає міграції
Структура проекту
my-project/
├── config/
│ ├── app.php # параметри додатка
│ ├── db.php # база даних
│ ├── general.php # основні параметри
│ └── routes.php # кастомні маршрути
├── modules/ # кастомні модулі Yii2
├── templates/ # Twig-шаблони
│ ├── _layouts/
│ ├── _components/
│ └── index.twig
├── web/ # document root
│ └── index.php
└── .env
Основна конфігурація
// config/general.php
return [
'*' => [
'cpTrigger' => 'manage', // замість стандартного /admin
'defaultWeekStartDay' => 1, // Понеділок
'omitScriptNameInUrls' => true,
'useEmailAsUsername' => true,
'translationDebugOutput' => false,
'maxRevisions' => 10,
],
'production' => [
'allowAdminChanges' => false, // заборона змін схеми в проді
'allowUpdates' => false,
'backupOnUpdate' => false,
'devMode' => false,
],
'dev' => [
'devMode' => true,
'allowAdminChanges' => true,
],
];
Змінні середовища (.env)
CRAFT_ENVIRONMENT=dev
CRAFT_APP_ID=CraftCMS--my-project
CRAFT_SECURITY_KEY=generated-secure-key
DB_DRIVER=mysql
DB_SERVER=127.0.0.1
DB_PORT=3306
DB_DATABASE=craftcms_dev
DB_USER=craftcms
DB_PASSWORD=password
DB_SCHEMA=public
DB_TABLE_PREFIX=
PRIMARY_SITE_URL=http://localhost:8080
ASSET_BASE_URL=https://cdn.mysite.com
Налаштування Vite для ассетів
composer require nystudio107/craft-vite
// vite.config.ts
import { defineConfig } from 'vite';
import ViteRestart from 'vite-plugin-restart';
import { craftCmsViteConfig } from '@nystudio107/vite';
export default defineConfig({
...craftCmsViteConfig,
build: { manifest: true, outDir: './web/dist' },
server: { port: 3000, strictPort: true },
});
{# У layout #}
{{ craft.vite.script('src/js/app.ts') }}
{{ craft.vite.stylesheet('src/css/app.pcss') }}
Project Config
Craft зберігає конфігурацію структури (секції, поля, entry types) у YAML-файлах у config/project/. Це дозволяє керувати структурою через Git:
php craft project-config/apply # застосувати конфіг з Git
php craft project-config/diff # подивитися розхідність
У проді allowAdminChanges: false — зміни тільки через деплой, не через UI.
Встановлення та базове налаштування Craft CMS займає 4–8 годин.







