При использовании CMS MODx на серверах, где установлена панель управления ISPmanager, возникают конфликты с доступом к панели администрирования сайтов на MODx, потому что они используют одну и туже ссылку /manager/. Мы рассмотрим несколько методов разрешения конфликта, путем изменения ссылки ISPmanager-а.

Вариант первый

Изменение адреса панели с использованием внутренних настроек панели. В вашей панели ISPmanager в разделе "Настройки" выберите пункт "Адрес панели". В появившемся окне необходимо изменить значение поля "Панель управления" на необходимую вам ссылку.

file

В новых версиях панели окно может выглядеть по другому

file

Панель самостоятельно отредактирует необходимые файлы и перезапустит веб-сервер. Сразу после того как изменения вступят в силу появится сообщение "Not Found", потому что панель уже находится по новому адресу.

В новых версиях панели может быть необходимо изменить, либо убрать директивы переадресации в настройках nginx. Панель автоматически их не изменяет. О том как это сделать будет написано в конце статьи.

Вариант второй

Прописать в настройках apache, секции VirtualHost вашего проекта на MODx, псевдоним

Alias /manager/ /home/user/data/www/САЙТ/manager/

где /home/user/data/www/САЙТ/manager/ это полный адрес к каталогу manager, вашего сайта на MODx. Если с определением каталога вашего сайта Вы затрудняетесь, его место расположения Вы так же можете определить в секции VirtualHost. На полный путь к каталогу сайта будет указывать директива DocumentRoot.

После изменения настроек необходимо перезагрузить Apache

В новых версиях панели может быть необходимо изменить, либо убрать директивы переадресации в настройках nginx. Панель автоматически их не изменяет. О том как это сделать будет написано в конце статьи.

Вариант третий

Изменить файл /usr/local/ispmgr/etc/ispmgr.inc, который подключается к основному конфигурационному файлу Apache. Тоже самое что и первый вариант, но изменения проводятся вручную. В нем содержится псевдоним Alias, который заставляет веб-сервер по ссылке /manager/ обращаться к панели ISPmanager. Скопируйте этот файл:

cp /usr/local/ispmgr/etc/ispmgr.inc /usr/local/ispmgr/etc/myispmgr.inc

В новом файле /usr/local/ispmgr/etc/myispmgr.inc необходимо изменить строку:

Alias /manager /usr/local/ispmgr/bin/

указав новую ссылку на панель. Например:

Alias /ispmanager /usr/local/ispmgr/bin/

Необходимо будет изменить адрес файла в конфигурациях Apache, так как он еще ничего не знает о новом конфигурационном файле /usr/local/ispmgr/etc/myispmgr.inc Откройте конфигурационный файл Apache в текстовом редакторе (например nano, joe, vi, vim)

nano /etc/apache2/apache2.conf

и измените адрес в строке

Include /usr/local/ispmgr/etc/ispmgr.inc

на

Include /usr/local/ispmgr/etc/myispmgr.inc

Я использую sed для автоматической замены адреса:

sed -i "s/usr\/local\/ispmgr\/etc\/ispmgr.inc/usr\/local\/ispmgr\/etc\/myispmgr.inc/g" /etc/apache2/apache2.conf

После изменения настроек необходимо перезагрузить Apache

Так же может потребоваться перезапуск самой панели командой:

rm -rf /usr/local/ispmgr/var/.xmlcache ; killall -9 ispmgr

nginx

В новых версиях панели добавляется конфигурационный файл

/usr/local/ispmgr/etc/nginx.inc

а так же переадресация для каждого виртуального хоста локации server в конфигурационном файле /etc/nginx/nginx.conf

rewrite ^(/manager/.*)$ https://$host$1 permanent;

Обратите внимание что переадресация создана для ссылки с завершающей косой чертой.

Для файла /usr/local/ispmgr/etc/nginx.inc необходимо изменить локацию

location ^~ /manager

указав необходимую Вам ссылку

Для того что бы убрать переадресацию в nginx с ссылки /manager/, можно закомментировать строку rewrite ^(/manager/.*)$ https://$host$1 permanent; в настройках вашего виртуального хоста в конфигурационном файле /etc/nginx/nginx.conf, либо изменить ссылку в дерективе переадресации на новую ссылку панели. Автоматически это можно сделать следующим образом:

sed -i "s/\^(\/manager\/\.\*)/\^(\/ispmanager\/\.\*)/g" /etc/nginx/nginx.conf

После этого перезапускаем nginx

/etc/init.d/nginx restart

Возможно понадобиться перезапустить ваш браузер.

Примечание

Адрес конфигурационного файла веб-сервера Apache зависит от вашего дистрибутива GNU/Linux.

Для Debian, Ubuntu

/etc/apache2/apache2.conf

Для CentOS

/etc/httpd/conf/httpd.conf

Перезапустить apache можно командой:

apachectl restart

Либо, в зависимости от дистрибутива, командой:

Для Debian, Ubuntu

/etc/init.d/apache2 restart

Для CentOS

/etc/init.d/httpd restart
Обновлено 15 августа 2018 г.