Установка сайта поддержки
Займёт пару минут. Базу MySQL/MariaDB создайте заранее в панели хостинга (кодировка utf8mb4) — установщик создаст таблицы, администратора и настройки.
Проверка PHP
- ✓ PHP 8.1 или новее (рекомендуется 8.3) — сейчас 8.3.6
- ✓ Расширение pdo_mysql — база данных
- ✓ Расширение mbstring — русский текст
- ✓ Расширение json — обмен с ботом
- ✓ Расширение openssl — почта по SMTP с шифрованием
- ✓ Расширение fileinfo — проверка загружаемых файлов
- ✓ Расширение dom — очистка HTML из редактора
- ✓ Расширение zip — пакеты документации бота
- ✓ GD с JPEG, PNG и WebP — фото, слайдер, водяной знак
- ✓ GD с FreeType — аккуратный водяной знак (без него — простой шрифт)
- ✓ Запись в папку app — для config.php
- ✓ Запись в папку app/storage — PDF, вложения, служебные файлы
- ✓ Запись в папку uploads — фото страниц и слайдера
- ✓ Запись в папку media — картинки из документации бота
- ✓ Запись в папку assets/brand — логотип с shop.cargoclima.ru
Сейчас можно загрузить файл не больше 2 МБ (upload_max_filesize / post_max_size). Для больших PDF-инструкций поднимите до 110M в настройках PHP.
Проверка веб-сервера
- Служебная папка app/ закрыта из интернета
- Адреса страниц обрабатываются сайтом (mod_rewrite / try_files)
- Папка uploads не отдаёт служебные файлы
Сервер настроен не полностью. На Apache проверьте, что загружены файлы .htaccess и разрешён AllowOverride All. Для nginx добавьте в server { … }:
location / { try_files $uri $uri/ /index.php?$query_string; }
location ^~ /app/ { deny all; return 404; }
location ~* ^/(uploads|media)/.*\.(php|phtml|phar)$ { deny all; }
location ~ /\.(?!well-known) { deny all; }
location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php8.3-fpm.sock; }
client_max_body_size 110m;и перезагрузите nginx.