Например, админка MODX и панель ISPmanager по умолчанию обе имеют одинаковый адрес: имя_домена/manager
Поэтому, чтобы не возникал конфликт доступа применяем директиву Alias.
Директива Alias берет путь /manager/ в URL и заменяет его на путь к файлу или каталогу /var/www/userXXXX/data/www/domain.ru/manager/
поэтому запрос к http://domain.ru/manager/index.php автоматически переводится в /var/www/userXXXX/data/www/domain.ru/manager/index.php
Обратите внимание, для корректного сопоставления префикса URL с префиксом каталога при включении/исключении косой черты в пути URL необходимо также включить/исключить косую черту в пути к файлу
1) Открываем конфиг апача: nano /etc/apache2/apache2.conf.
В секции VirtualHost добавляем alias:
<VirtualHost 5.9.59.109:81 >
ServerName domain.ru
AssignUserID userXXXX userXXXX
AddType application/x-httpd-php-source .phps
php_admin_value open_basedir "/var/www/userXXXX/data:."
...
php_admin_value session.save_path "/var/www/userXXXX/data/mod-tmp"
php_admin_value memory_limit "67108864"
RLimitCPU 10
RLimitMEM 67108864
RLimitNPROC 1
Alias /manager/ /var/www/userXXXX/data/www/domain.ru/manager/
</VirtualHost>
2) В конфиге nginx так же есть настройка, которая адрес /manager резервирует под панель.
Поэтому открываем конфиг nginx: nano /etc/nginx/nginx.conf
В секции server удаляем или комментируем строку
include /usr/local/ispmgr/etc/nginx.
server {
server_name domain.ru www.domain.ru;
listen 5.9.59.109;
disable_symlinks if_not_owner from=$root_path;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|
....
root $root_path;}
location ^~ /webstat/ {
auth_basic "Restricted area";
auth_basic_user_file /var/www/userXXXX/data/etc/
try_files $uri @fallback;
}
limit_conn userXXXX 2;
# include /usr/local/ispmgr/etc/nginx.
set $root_path /var/www/userXXXX/data/www/domain.ru;
}
3) Выполняем restart сереров apache и nginx
4) Проверяем вход в админку MODX по адресу http://domain.ru/manager
Кроме директивы Alias для сопоставления можно использовать регулярные выражения (директива AliasMatch) и целые сценарии (директивы ScriptAlias и ScriptAliasMatch). Подробнее об этом -> тут.
Например, если необходимо сохранить сложную команду под заданным именем для постоянного применения на сервере. Для этого Вам нужно вписать и сохранить значение alias в файле настроек оболочки (в Debian это Bash :/root/.bashrc)
Синтаксис alias:
• Cоздание псевдонима
alias <имя_псевдонима>=“<значение>/<команда> <аргумент>/<путь_к_файлу>”
1) Открываем файл:
~# nano ~/.bashrc
2) Находим свободное место для добавления псеводнима
и добавляем команду
alias n='service nginx restart'

3) Далее сохраним файл. Он будет автоматически загружен при запуске следующего сеанса.
4) Теперь командой n мы перезагружаем nginx
• Для просмотра всех заданных псеводнимов используется команда alias
• Для удобства можно создать отдельный файл - ~/.bash_aliases, в котором будут храниться все псевдонимы. Также это позволит уменьшить риск работы с ~/.bashrc.
Для этого в конец файла ~/.bashrc нужно добавить строки:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Далее создать/открыть файл ~/.bash_aliases и вписать туда все нужные псевдонимы.
• Для отключения какого либо псевдонима без его удаления необходимо перед командой указать "\"
При запуске следующего сеанса мы увидим, что команда больше не определена
CISHost - с нами надежно!