Не удалось загрузить файл конфигурации modx
Этот документ охватывает довольно техническую тему, и любителям не рекомендуется пытаться это сделать. Новичкам в командной строке лучше всего доверить это профессиональному системному администратору или их хостинг-компании. Редактирование файлов конфигурации через командную строку может быть опасным, и вы можете разрушить свой сервер!
ModSecurity (aka mod_security или mod_sec)¶
ModSecurity - это брандмауэр веб-приложений с открытым исходным кодом, который работает как серверный модуль Apache. Он реализует исчерпывающий набор правил, реализующих усиление защиты общего назначения, и тем самым помогает исправлять распространенные проблемы безопасности веб-приложений. Он устанавливает внешний уровень безопасности, который повышает безопасность, обнаруживает и предотвращает атаки до того, как они достигнут веб-приложений. Он обычно доступен в системах cPanel как модуль EasyApache. Это хорошо зарекомендовавший себя модуль безопасности, который действительно может помочь защитить ваш сайт от распространенных векторов атак.
Мы подробно обсуждаем ModSecurity здесь, потому что менеджер MODX Revolution выдает много запросов, которые могут противоречить правилам mod_security .
Тихий убийца¶
Менеджер MODX может просто спокойно выйти из строя, если одно из его действий заблокировано mod_security . Знай свой сервер! Проверьте журналы ошибок Apache! На карту поставлено ваше здравомыслие!
Как я узнаю, что у меня установлен ModSecurity?¶
Прежде чем мы обсудим, как заставить ModSecurity и MODX хорошо работать вместе, вам нужно знать, установлено ли у вас это программное обеспечение на самом деле. Простое решение - спросить своего хостинг-провайдера, и, предположительно, они будут знать (если они не знают, какое программное обеспечение у них запущено, вероятно, пора найти другую хостинговую компанию.
Если у вас есть собственный сервер (например, созданный на основе шаблона VPS), вы можете войти на сервер и проверить это самостоятельно.
Проверка на сервере WHM¶
Многие VPS включают административные панели WHM/cPanel. Относительно легко проверить, запускаете ли вы mod_security на сервере WHM.
- Войдите в свой экземпляр WHM (обычно по адресу https://yoursite.com:2087/).
- Найдите раздел "Плагины" на левой панели навигации.
- Если ModSecurity установлен, вы увидите Mod Security в списке ваших плагинов.
Проверка через командную строку¶
Если у вас есть SSH-доступ к вашему серверу, вы можете проверить, какие модули Apache загружает при запуске. Чтобы распечатать, какие модули загружены в Apache, вы можете использовать утилиту apachectl в системах *NIX, например
Или, если ваша команда apachectl отсутствует в вашем текущем $PATH , вам может потребоваться указать полный путь к утилите. Чтобы найти путь, вы можете найти его с помощью команды find:
Затем, когда вы найдете полный путь к утилите, вы можете выполнить команду подробно, например:
Результат будет примерно таким:
Модуль mod_security указан как security2_module
Другой разведчик¶
Если у вас нет утилиты apachectl или вы не можете ее найти, вы можете вручную проверить файлы конфигурации Apache. Его можно настроить по-разному на разных серверах, но в целом Apache настроен на загрузку своего основного файла конфигурации, а затем при необходимости будет сканировать дополнительные каталоги на предмет дополнительных файлов конфигурации.
Лог-файлы¶
После того, как вы убедились, что ModSecurity действительно запущен, вы захотите проверить свои журналы, чтобы увидеть, действительно ли ваши действия в диспетчере MODX вызывают срабатывание сигнализации системы безопасности. Лучше всего это сделать через командную строку: используйте SSH для входа на свой сервер и убедитесь, что у вас есть соответствующий доступ (например, привилегии root) для просмотра этих файлов журнала.
Основной журнал, за которым вы хотите следить, - это журнал ошибок Apache. Точное расположение настраивается в вашем файле конфигурации Apache, но часто оно находится внутри /usr/local/apache/logs/error_log. Хороший способ просмотреть этот файл - использовать утилиту tail. Вы можете отслеживать файл в режиме реального времени, используя флаг -f, например
Держите это окно открытым при навигации по диспетчеру MODX и будьте начеку, если в этом файле появятся какие-либо ошибки. (Нажмите ctrl-C, чтобы закрыть утилиту).
Вы также можете посмотреть содержимое журнала mod_security . Опять же, местоположение можно настроить, но часто оно сохраняется в /usr/local/apache/logs/modsec_audit.log
Пример ошибки¶
Если вы действительно видите, что ошибки регистрируются в журнале ошибок Apache, когда вы пытаетесь выполнить определенное действие в диспетчере MODX, велика вероятность, что ModSecurity просто помешал вам сделать что-то в диспетчере.
Вот пример ошибки из журнала ошибок Apache:
Из этой ошибки нам нужно 3 части информации, чтобы внести конкретное действие в белый список. Обратите внимание на следующие 3 пункта:
Это говорит о том, какое правило сработало, в каком домене оно сработало и из какого места внутри этого домена сработало правило.
Внесение правила для домена в белый список¶
Внесение правила в белый список для определенного домена осуществляется с помощью файла "включаемых". Это требует нескольких шагов, чтобы сделать это безопасно.
Восстановите конфигурацию Apache¶
Если вы используете сервер cPanel, вы можете перестроить файл, выполнив следующую команду:
Цель здесь - убедиться, что ваш существующий файл конфигурации Apache зарезервирован и работает перед тем, как мы попытаемся изменить его.
Отредактируйте файл виртуальных хостов¶
Основываясь на этой директиве VirtualHosts, мы можем обратить внимание на 2 указанных каталога:
Вы также можете установить общие серверные правила в файле:
Добавить правило белого списка¶
Общий пример¶
Общее правило белого списка выглядит так:
Конкретный пример¶
Обратите внимание, что он ссылается на коннектор MODX по его пути и ссылается на правило ModSecurity по его идентификатору.
Остерегайтесь перемещения вашего сайта¶
Если вы переместите свой сайт в новый каталог или каталог ** коннекторов ** в нестандартное место, вам придется отредактировать свои правила! Они применяются к определенному URL-адресу, поэтому, если ваши URL-адреса изменятся, правила придется обновить.
Более широкий пример¶
Может быть неприятно просматривать функциональность MODX по одному экрану администратора за раз, но, похоже, есть некоторые трудности с занесением в белый список целых каталогов. Подумайте о переименовании вашего каталога «коннекторов» (см. Укрепление MODX Revolution).
Перезагрузите Apache¶
После внесения изменений в файлы конфигурации вам необходимо перезапустить Apache, чтобы конфигурации можно было перечитать.
cPanel: перестроить файл Conf¶
Если вы не используете сервер cPanel, пропустите этот шаг и просто перезапустите Apache.
Перезагрузите Apache¶
После внесения изменений перезапустите процесс Apache:
Если в ваших файлах есть ошибки, вы будете предупреждены о них. Это может нервировать, потому что, если Apache не вернется в сеть, ваш сайт будет недоступен!
Статические ресурсы¶
ModSecurity может повлиять на ваши статические ресурсы MODX (или любой PHP-скрипт, который читает файл для загрузки пользователем). Что может случиться, так это то, что если ваш файл слишком большой, загрузка будет преждевременно прервана, и вы получите поврежденный файл. Часто размер загруженного файла составляет всего около 64 КБ, даже если исходный файл может быть значительно больше. Если вы столкнулись с этим, это может быть хорошим намеком на то, что ModSecurity вмешивается. Для этого может не быть записи в журнале (. ), поэтому может быть очень сложно отследить это поведение обратно в ModSecurity!
В WHM вы можете редактировать параметры конфигурации ModSecurity, щелкнув ссылку плагина «Mod Security» (изображенную ранее на этой странице) и нажав кнопку «Изменить конфигурацию».
Детали конфигурации, которые могут повлиять на ваши загрузки, следующие:
- SecRequestBodyAccess
- SecRequestBodyLimit
- SecRequestBodyInMemoryLimit
Простое решение - полностью обойти ModSecurity для таких загрузок:
Другой причиной этого загадочного симптома может быть конфликт между веб-серверами: например, если у вас установлены Apache и NGINX на одном сервере, _ убедитесь, что они оба не используют сжатие gzip_ - результат может быть очень похож на вмешательство ModSecurity! Если NGINX сжимает большой статический ресурс, а затем Apache также пытается его сжать, это не удается, и файл заканчивается обрезанием до 64 КБ.
Если это не удается, значит, ваша установка PDO настроена неправильно.
Распространенные ошибки¶
Вот некоторые распространенные проблемы, которые могут возникнуть во время установки, и способы их решения:
"Я получаю пустой белый экран вместо страницы настроек!"¶
Вы, вероятно, скопировали config.inc.tpl в config.inc.php , что неверно. Сделайте файл config.inc.php пустым, доступным для записи файлом.
Если вы переименовали config.inc.tpl в config.inc.php , переименуйте его обратно в config.inc.tpl и создайте пустой файл с именем config.inc.php , который доступен для записи.
"Я нажал Установить и получил пустой белый экран!"¶
Убедитесь, что в вашей настройке memory_limit в php.ini установлено значение не менее 32M. Для более медленных серверов вам может потребоваться увеличение до 64M.
"Не удается подключиться к базе данных" на странице настроек базы данных¶
Одной из распространенных причин этой проблемы является то, что вы используете нестандартный порт для MySQL. Попробуйте вставить этот синтаксис в поле имени хоста (заменив данные хостом и портом вашего сервера mysql):
Предупреждение: PDO::__construct() [pdo.--construct]: [2002] Argument invalid (trying to connect via unix://) ИЛИ "Checking database:Could not connect to the mysql server."¶
- session_name
- session_cookie_path
- session_cookie_domain
Затем удалите файл core/cache/config.cache.php .
Если, конечно, вы не изменили их специально для какой-то своей цели.
Иногда что-то не загружается, страница вылетает и т.д. (eAccelerator)¶
Вы используете eAccelerator? В некоторых конфигурациях сервера это может вызвать проблемы. Возможно, вам придется отключить его. Вы можете сделать это через ваш php.ini:
или в вашем .htaccess в корневом каталоге modx, если ваш сервер поддерживает серверные директивы php_flag :
Необъяснимые неполадки в Панели управления (не eAccelerator)¶
В некоторых системах, особенно с общим хостингом, могут возникнуть проблемы с Системными настройками compress_js и/или compress_css . Перейдите в Система -> Системные настройки и наберите compress (без кавычек) в поле поиска в правом верхнем углу. Выключите эти две настройки, затем выйдите из Панели управления, удалите все файлы в каталоге core/cache , очистите кеш браузера и файлы cookie и снова войдите в систему.
Если Панель управления испорчена настолько, что вы не можете изменить настройки, см. примечание ниже об изменении двух Системных настроек в таблице modx_system_settings в базе данных с помощью PhpMyAdmin.
Вкладки Ресурсы/Элементы/Файлы не отображаются в дереве¶
Кроме того, неполный вывод страницы может быть вызван данными, сохранёнными в кэше вашего браузера. Старые версии javascript и других файлов, используемые на стороне клиента, могут привести к неправильному отображению дерева ресурсов/элементов/файлов. Это можно проверить, зайдя в Панель управления с помощью браузера, ранее не использовавшегося при этом.
Простое решение: очистить кеш вашего браузера и снова войти в Панель управления.
Более полное решение:
- Раздел меню Управление - Очистить Кэш
- В разделе Управление - Перезагрузить права доступа и затем Завершить все сеансы
- Эти действия приведут к общему сбросу и выходу из Панели управления
- Последний шаг Очистите кеш браузера
Я не могу войти в Панель управления после установки¶
Если вас каждый раз перенаправляет обратно на экран входа в систему, попробуйте добавить эту настройку в файле .htaccess в корне вашей установки MODX:
Не удалось подключиться к серверу базы данных. Проверьте свойства подключения и попробуйте снова. Доступ запрещён¶
Часто на виртуальном хостинге, если вы создаете имя пользователя для вашей базы данных с подчеркиванием (_), это вызывает проблемы. Убедитесь, что имя пользователя вашей базы данных не содержит подчеркивания, и повторите попытку.
Более распространенные проблемы впереди .
Панель управления выводится в виде текста после установки¶
Панель управления MODX загружает сжатые ресурсы CSS и JS. Некоторая конфигурация сервера. См. "Ошибки JS в диспетчере из-за ошибки 4
Панель управления отображается в виде обычного текста, отдельные элементы отсутствуют или выводятся ошибки JavaScript 400¶
Это позволит вам использовать Панель управления без сжатия JS и CSS.
Отсутствуют элементы Панели управления, неопределенные языковые строки или выводятся ошибки JavaScript 500¶
- Убедитесь, что для папки connectors/ установлены права доступа 0755
Все еще остались проблемы?¶
Если у вас по-прежнему возникают проблемы, опубликуйте информацию об ошибке и программном окружении сервера на нашем форуме, и мы попробуем решить вашу проблему как можно скорее.
Разработано, построено и написано со всей любовью в мире от сообщества MODX.
Если это не удается, значит, ваша установка PDO настроена неправильно.
Распространенные ошибки¶
Вот некоторые распространенные проблемы, которые могут возникнуть во время установки, и способы их решения:
"Я получаю пустой белый экран вместо страницы настроек!"¶
Вы, вероятно, скопировали config.inc.tpl в config.inc.php , что неверно. Сделайте файл config.inc.php пустым, доступным для записи файлом.
Если вы переименовали config.inc.tpl в config.inc.php , переименуйте его обратно в config.inc.tpl и создайте пустой файл с именем config.inc.php , который доступен для записи.
"Я нажал Установить и получил пустой белый экран!"¶
Убедитесь, что в вашей настройке memory_limit в php.ini установлено значение не менее 32M. Для более медленных серверов вам может потребоваться увеличение до 64M.
"Не удается подключиться к базе данных" на странице настроек базы данных¶
Одной из распространенных причин этой проблемы является то, что вы используете нестандартный порт для MySQL. Попробуйте вставить этот синтаксис в поле имени хоста (заменив данные хостом и портом вашего сервера mysql):
Предупреждение: PDO::__construct() [pdo.--construct]: [2002] Argument invalid (trying to connect via unix://) ИЛИ "Checking database:Could not connect to the mysql server."¶
- session_name
- session_cookie_path
- session_cookie_domain
Затем удалите файл core/cache/config.cache.php .
Если, конечно, вы не изменили их специально для какой-то своей цели.
Иногда что-то не загружается, страница вылетает и т.д. (eAccelerator)¶
Вы используете eAccelerator? В некоторых конфигурациях сервера это может вызвать проблемы. Возможно, вам придется отключить его. Вы можете сделать это через ваш php.ini:
или в вашем .htaccess в корневом каталоге modx, если ваш сервер поддерживает серверные директивы php_flag :
Необъяснимые неполадки в Панели управления (не eAccelerator)¶
В некоторых системах, особенно с общим хостингом, могут возникнуть проблемы с Системными настройками compress_js и/или compress_css . Перейдите в Система -> Системные настройки и наберите compress (без кавычек) в поле поиска в правом верхнем углу. Выключите эти две настройки, затем выйдите из Панели управления, удалите все файлы в каталоге core/cache , очистите кеш браузера и файлы cookie и снова войдите в систему.
Если Панель управления испорчена настолько, что вы не можете изменить настройки, см. примечание ниже об изменении двух Системных настроек в таблице modx_system_settings в базе данных с помощью PhpMyAdmin.
Вкладки Ресурсы/Элементы/Файлы не отображаются в дереве¶
Кроме того, неполный вывод страницы может быть вызван данными, сохранёнными в кэше вашего браузера. Старые версии javascript и других файлов, используемые на стороне клиента, могут привести к неправильному отображению дерева ресурсов/элементов/файлов. Это можно проверить, зайдя в Панель управления с помощью браузера, ранее не использовавшегося при этом.
Простое решение: очистить кеш вашего браузера и снова войти в Панель управления.
Более полное решение:
- Раздел меню Управление - Очистить Кэш
- В разделе Управление - Перезагрузить права доступа и затем Завершить все сеансы
- Эти действия приведут к общему сбросу и выходу из Панели управления
- Последний шаг Очистите кеш браузера
Я не могу войти в Панель управления после установки¶
Если вас каждый раз перенаправляет обратно на экран входа в систему, попробуйте добавить эту настройку в файле .htaccess в корне вашей установки MODX:
Не удалось подключиться к серверу базы данных. Проверьте свойства подключения и попробуйте снова. Доступ запрещён¶
Часто на виртуальном хостинге, если вы создаете имя пользователя для вашей базы данных с подчеркиванием (_), это вызывает проблемы. Убедитесь, что имя пользователя вашей базы данных не содержит подчеркивания, и повторите попытку.
Более распространенные проблемы впереди .
Панель управления выводится в виде текста после установки¶
Панель управления MODX загружает сжатые ресурсы CSS и JS. Некоторая конфигурация сервера. См. "Ошибки JS в диспетчере из-за ошибки 4
Панель управления отображается в виде обычного текста, отдельные элементы отсутствуют или выводятся ошибки JavaScript 400¶
Это позволит вам использовать Панель управления без сжатия JS и CSS.
Отсутствуют элементы Панели управления, неопределенные языковые строки или выводятся ошибки JavaScript 500¶
- Убедитесь, что для папки connectors/ установлены права доступа 0755
Все еще остались проблемы?¶
Если у вас по-прежнему возникают проблемы, опубликуйте информацию об ошибке и программном окружении сервера на нашем форуме, и мы попробуем решить вашу проблему как можно скорее.
Разработано, построено и написано со всей любовью в мире от сообщества MODX.
7 лет назад… ух, какой древний у Вас сайт. Тогда ищите настройки в файле /manager/includes/config.inc.php.
P.S.: CMS не наша, она — ничья в общем смысле, т.к. распространяется по лицензии GPL.
Владимир, отвечайте сразу под комментарием, иначе комментатор не получает уведомления на мейл.
Я сначала хотел написать, что это была, без сомнения, MODX Evolution… Но время так быстро летит :) Wikipedia подсказала, что 7 лет назад уже появилась также версия Revolution. Так что с небольшим шансом у Вас может быть и MODX Revo. Хотя это вряд ли. В общем, если у Вас есть файл /manager/includes/config.inc.php, то это точно Evolution. Вот какая именно подверсия Evo… Тут я не подскажу, но это и не имеет особого значения для установки на сервер.
Судя по ошибкам на сайте движок MODX Evolution…Надеюсь Хостинг провайдер справится в дальнейшем и с остальным…
Если будут вопросы можете обратиться по контактам в профиле… помогу.
Немного про timeweb.
Хостинг — полный треш и отстрой. А теперь по пунктам.
1. Лимиты на выполнение скриптов и прочего — пиздец.
2. SSH не работает нормально.
Пытался проверить сайты довольно известным скриптом ai-bolit. Поскольку просто в браузере он работать отказался (уже заебись), то пришлось лезть в терминал. Конечно же, нет. Только 5 секунд работы и всё, процесс прерван. Выяснилось, что это ограничения хостинга. Это на ssh-то.
3. Пытался просто поискать вирь в терминале по содержимому файлов.
Что я увидел? Правильно, killed.
4. Ок, решил выкачать сайт и проверить локально. 5 гигов, чего уж там… Сижу и 5 часов уже качаю. Для справки — за это время я с рабочего VPS-сервака 90 гигов скачивал. Так что скорость инета у меня в норме. Что, и тут ограничения?
5. Качать надоело, пытался сделать архив сайта в панели управления. Чтобы скачать уже его. Разумеется не получилось. Прогресс-бар и всё, баиньки.
6. Дебилы в чатике техподдержке просто пишут на мои обращения: «Вам необходимо самостоятельно составить письменное обращение в техническую поддержку из раздела „Служба поддержки“.
Нахрена они нужны и чатик этот, если надо всё равно заявку оформлять?
7. Если заявку всё же оформить, то ничего толком никто не объяснит, будет просто копипаста из раздела „Помощь“. Спс, почитал.
Читайте также: