> For the complete documentation index, see [llms.txt](https://docs.johncms.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.johncms.com/10.0/nachalo-raboty/struktura-failov-papok.md).

# Структура файлов/папок

JohnCMS имеет следующую структуру папок:

* config
* data
* modules
* public
* system
* themes

{% hint style="info" %}
Корнем сайта (document root) является папка **public**. Всё остальное лежит рядом с ней и по HTTP недоступно.
{% endhint %}

### public

Единственная папка, доступная из браузера. В ней лежат точка входа `index.php`, `favicon.ico`, `robots.txt`, генерируемые карты сайта `sitemap*.xml`, а также:

* **assets** — аватары (**avatars**) и смайлы (**emoticons**);
* **install** — веб-инсталлятор (см. ниже);
* **modules** — собранные стили, скрипты и картинки установленных модулей (`public/modules/<алиас>`); папка появляется при установке модуля, который их привёз, и очищается, когда его выключают;
* **themes** — собранные стили, скрипты и картинки шаблонов (`public/themes/<шаблон>/assets`);
* **upload** — файлы модулей: загрузки, прикреплённые файлы форума, библиотека, альбомы, аватары и файлы личных сообщений.

### config

В папке хранятся различные конфигурационные файлы необходимые для работы системы.\
Файл **routes.php** отвечает за настройку адресов страниц.\
Файл **constants.php** содержит константы необходимые для работы системы.\
В подпапке **autoload** хранятся файлы, которые автоматически загружаются системой. Работа с конфигурационными файлами подробно описана здесь: [Конфигурационные файлы](/10.0/obshie-svedeniya/konfiguracionnye-faily-configs.md).

### data

В папке data хранятся различные системные данные, такие как кэш и логи

### modules

Папка modules содержит модули системы: каждый — внутри папки своего вендора (`modules/<вендор>/<модуль>`), а всё, что поставляется вместе с CMS, — в `modules/johncms`.\
Подробно про структуру папки модуля — в разделе [Структура модуля](/10.0/moduli/struktura-modulya.md).

### system

Папка system содержит все системные библиотеки\
В этой папке не рекомендуется ничего менять и добавлять в целях сохранения возможности простого обновления на следующие версии JohnCMS

### themes

Папка themes содержит исходники шаблонов сайта: `src` (исходные стили и скрипты) и `templates` (шаблоны страниц). Собранные стили, скрипты и картинки лежат отдельно — в `public/themes/<шаблон>/assets`, потому что их отдаёт браузеру веб-сервер.

В этой папке расположен шаблон **default** в папке с этим шаблоном **не рекомендуется ничего менять** для сохранения возможности простого обновления на следующие версии JohnCMS\
Для кастомизации шаблона создайте отдельную папку и скопируйте в неё содержимое папки default.\
Более подробно про работу с шаблонами читайте в соответствующем разделе документации
