> 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/ustanovka-i-sistemnye-trebovaniya.md).

# Установка и системные требования

### Системные требования

Для корректной работы JohnCMS, на хостинге, который вы используете, должно быть установлено следующее программное обеспечение

* Web сервер Apache или nginx
* PHP 8.2 и выше
* MySQL 5.6.4 и выше
* Для работы с MуSQL должен использоваться встроенный драйвер [MySQL Native Driver (mysqlnd)](https://www.php.net/manual/ru/book.mysqlnd.php)

Для работы системы требуются следующие расширения php:

* imagick или gd
* mbstring
* pdo
* simplexml

### Установка

* Скачиваем архив
* Распаковываем в папку сайта на хостинге (обычно это папка с названием вашего сайта или public\_html)
* **Указываем в настройках сайта корневую директорию (document root)** — это должна быть папка `public` внутри распакованного архива. Например, если архив распакован в `/var/www/mysite`, то корень сайта — `/var/www/mysite/public`
* Убеждаемся, что папки `data`, `public/upload`, `public` и `config/autoload` доступны для записи
* Переходим по адресу **ваш.сайт/install**
* Следуйте инструкциям описанным на странице установки

{% hint style="warning" %}
**Корнем сайта должна быть папка `public`, а не папка с распакованным архивом.** По HTTP доступна только она — так код, настройки и пароли от базы данных недоступны из браузера.

В панели управления хостингом нужное поле обычно называется «Корневая директория сайта» или «Document root». В nginx это директива `root`, в Apache — `DocumentRoot`.
{% endhint %}

{% hint style="info" %}
Если сменить корневую директорию на хостинге нельзя, на **Apache** сработает файл `.htaccess` из корня архива: он перенаправит запросы в `public/` и закроет доступ к коду. На nginx такого запасного варианта нет — там смена корня обязательна.
{% endhint %}

{% hint style="info" %}
Обязательно указывайте существующий e-mail адрес при установке т.к. он будет использоваться для отправки e-mail.
{% endhint %}

{% hint style="danger" %}
**После установки обязательно удалите папку public/install**
{% endhint %}
