Установка
Templite поддерживает два сценария установки:
- Через Composer — для встраивания в существующий Laravel-проект (для разработчиков).
- Через
install.php— standalone веб-установщик для размещения на хостинге без доступа к консоли.
Composer-установка
Templite — Composer-пакет. Подключается к существующему Laravel 12 приложению.
Требования
- PHP 8.2+
- Laravel 12
- Composer 2
- MySQL 8.0+ или PostgreSQL 14+
Pre-built ассеты
Готовая сборка админки уже включена в пакет и публикуется командой cms:install. Устанавливать Node.js и запускать npm run build для обычной установки не требуется.
Шаги
Установить пакет:
bashcomposer require templite/cmsЗапустить установщик CMS:
bashphp artisan cms:installНа шаге «Создать суперадмина?» установщик интерактивно запросит логин и пароль (минимум 6 символов).
После завершения откройте админку по URL, который выведет команда (по умолчанию
/cms, настраивается черезCMS_ADMIN_URLв.env).
Что делает cms:install
Команда выполняется в один проход и не требует ручных доделок:
- Очищает дефолтные Laravel-маршруты (CMS регистрирует свои через ServiceProvider).
- Публикует конфиг
config/cms.phpи pre-built ассеты админки. - Создаёт служебные директории (
storage/cms/,storage/app/cms/). - Накатывает миграции CMS.
- Интерактивно создаёт суперадмина (модель
Manager). - Создаёт символическую ссылку
public/storageчерезstorage:link. - Прописывает
APP_INSTALLED=trueв.env. - Удаляет
install.phpиз публичной директории, если он там есть.
Опции команды
| Опция | Назначение |
|---|---|
--fresh | Пересоздать все таблицы (migrate:fresh). Уничтожает существующие данные. |
--skip-migrate | Пропустить миграции (например, если БД уже накатана отдельно). |
Сброс пароля менеджера
Если потерян пароль:
php artisan cms:reset-password <login>Команда запросит новый пароль интерактивно. Если оставить ввод пустым — сгенерирует случайный 16-символьный пароль и покажет его один раз.
Подводные камни
Подводные камни
- Templite требует Laravel 12. На более ранних версиях
cms:installупадёт. - Терминология: учётка администратора админки называется менеджер (
Manager). Соответствующая artisan-команда —cms:reset-password, а неuser:*. - Если в проекте уже настроен Laravel Sanctum, проверьте
SANCTUM_STATEFUL_DOMAINSв.env— иначе админка будет получать 401. - Дефолтная Laravel-view
welcome.blade.phpи дефолтные роутыroutes/web.phpбудут перезаписаны установщиком (CMS берёт на себя catch-all маршрутизацию).
install.php (для хостинга)
Standalone-установщик — один PHP-файл без зависимостей. Используется для размещения готового сайта на shared-хостинге.
Что нужно
- Хостинг с PHP 8.2+ и MySQL 8.0+
- Доступ к файловой системе хостинга (FTP, SFTP, файловый менеджер хостинга)
- Созданная база данных с реквизитами
Что скачать
install.php— скрипт-установщикtemplite.zip(или версионированный архив видаtemplite-v2.0.3.zip) — дистрибутив CMS
Установщик сам найдёт архив рядом с собой (берёт самый свежий по дате при нескольких совпадениях).
Шаги
Загрузить
install.phpи архив в публичную директорию хостинга (туда, куда указывает домен — обычноpublic_html/,www/илиhtdocs/).Открыть в браузере:
https://example.com/install.php.Установщик последовательно проведёт через:
- Проверка системных требований (PHP, расширения, права на запись).
- Распаковка архива.
- Подключение к БД (хост, имя, пользователь, пароль).
- Конфигурация сайта (название, URL).
- Создание учётной записи администратора (логин, пароль).
По завершении установщик пытается удалить себя автоматически. Откройте FTP/файловый менеджер и убедитесь, что
install.phpдействительно исчез.Открыть админку по URL из конфигурации сайта (по умолчанию
/cms, настраивается черезCMS_ADMIN_URLв.env).
Безопасность
Обязательно убедитесь, что install.php удалён
install.php предоставляет полный доступ к настройке БД, файлам и учёткам администратора. Оставлять его на production = катастрофа.
Установщик пытается удалить себя автоматически после успешной установки. Если права на запись не позволили это сделать — удалите вручную через FTP или файловый менеджер хостинга.
Повторный запуск установщика на уже инициализированном проекте блокируется проверкой APP_KEY в .env.
Подводные камни
Подводные камни
- Лимит
upload_max_filesizeиpost_max_sizeв PHP должен превышать размер архива (≈ 30-50 MB). - Лимит
max_execution_time— установщик запрашивает 300 секунд черезset_time_limit(300), но если хостинг блокирует — распаковка может прерваться. - Лимит
memory_limit— установщик ставит 256M; на некоторых hosting'ах ниже. - Если установка прервалась — удалите таблицы CMS из БД и
.env(или используйте «Сброс» в установщике, если он на нужном шаге).