Программное окружение, используемое для примеров настоящего руководства:
apt-cache
policy apache2
);apt-cache policy
avreg-common
).В другом программном окружении (Ubuntu или AVReg других версий) могут быть незначительные отличия от текста.
По умолчанию, сразу после установки веб-интерфейс AVReg доступен по адресу (URL):
http://hostNameOrIpAddress/avreg/
Если вас это устраивает и префикс /avreg
не «режет
глаз», то делать ничего не нужно и, зачастую, это самое правильное
ваше решение )
Но если вам кажется некрасивым доступ по ip-адресу или лишним
префикс /avreg
(возможно AVReg - единственный
веб-интерфейс данного сервера), то данное руководство сделано для
вас.
Итак, задача избавится от префикса /avreg
в
URL-path и
обеспечить чтобы запросы вида
http://hostNameOrIpAddress/
сразу адресовали веб-интерфейс AVReg.
Существует три основных способа размещения ресурсов на веб-сервере:
Самым «профессиональным» является Virtual HOST, т.к. позволяет не только полностью избавиться от префиксов пути, но и максимально полно разделить конфигурации веб-ресурсов на конкретном веб-сервере.
Ниже приводим 3 различных варианта настройки веб-сервера Apache2 для размещения веб-интерфейса AVReg с описанием преимуществ и недостатков каждой конфигурации.
В этом варианте в URL-е используется FQDN сервера, например,
http://avreg.host.name
За(+) и против(-):
Настройками используемого сервера в вашей сети DNS-сервера или локальными настройками HOSTS(5) обеспечьте доменное имя сервера, которое будет использоваться в URL при доступе к веб-интерфейсу AVReg.
В простейшем случае, для этого руководства мы воспользовались HOSTS(5), просто добавив строку в файл /etc/hosts
192.168.54.61 avreg.host.name avreg
Примечание: для правильного изменения единственного хост-имени сервера читайте это руководство https://www.cyberciti.biz/faq/how-to-change-hostname-on-debian-10-linux/
Итак, хост-имя или ServerName (в контексте настроек Apache2) для настоящего руководства «avreg.host.name». Копируя и применяя тексты примеров ниже, замените это хост-имя на то, которое будете использоваться вы.
Отключите дефолтную Alias-based конфигурацию AVReg для Apache2.
sudo a2disconf avreg
Cоздайте Virtual Host конфигурацию Apache2 для веб-интерфейса AVReg создав в редакторе новый конфиг-файл «003-avreg-vhost.conf»:
sudoedit /etc/apache2/sites-available/003-avreg-vhost.conf
и поместив туда следующее содержимое:
<VirtualHost *:80> ServerName avreg.host.name ServerAdmin avreg@avreg.net DocumentRoot /usr/share/avreg-site ErrorLog ${APACHE_LOG_DIR}/error-avreg.log CustomLog ${APACHE_LOG_DIR}/access-avreg.log combined Include conf-available/avreg.conf </VirtualHost>
Выаполните рекомендации раздела »Настройки AVReg» для удаления префикса пути
/avreg
.
Подключите конфигурацию виртуального сервера с хост-именем «avreg.host.name» и перегрузите apache2:
sudo a2ensite 003-avreg-vhost sudo systemctl reload apache2
Проверьте новую конфигурацию открыв в браузере URL http://avreg.host.name
Этот вариант очень прост, URL
http://hostNameOrIpAddress/
автоматически перенаправляется на адрес
http://hostNameOrIpAddress/avreg/
За(+) и против(-):
Для его реализации варианта настроек воспользуйтесь директивой RedirectMatch модуля mod_alias.
Первым делом, активируйте Apache модуль «mod_alias»:
sudo a2enmod alias
Далее, откройте в текстовом редакторе конфигурационный файл Apache2
sudoedit /etc/apache2/sites-available/000-default.conf
и добавьте строки, помеченные символом »+»:
diff -U3 /etc/apache2/sites-available/000-default.conf.orig /etc/apache2/sites-available/000-default.conf
--- /etc/apache2/sites-available/000-default.conf.orig 2016-09-28 10:26:20.876000000 +0300 +++ /etc/apache2/sites-available/000-default.conf 2016-09-28 10:38:55.184000000 +0300 @@ -10,7 +10,6 @@ ServerAdmin webmaster@localhost DocumentRoot /var/www/html + RedirectMatch ^/$ /avreg/ # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg.
После изменения файлов нужно перезагрузить процесс веб-сервера Apache (см. ниже, в конце статьи).
За(+) и против(-):
Потреубется изменить содержимое трёх файлов:
/etc/apache2/sites-available/000-default.conf
-
изменить значение параметра DocumentRoot
;/etc/avreg/site-apache2-user.conf
-
изменить алиас /avreg/media
;/etc/avreg/avreg.conf
- для приложения
avreg-site (веб-интерфейс AVReg) очистить значение
параметра prefix.Ниже представлены различия (в формате diff -U), наглядно поясняющие какие строки удалять (помечены знаком минус) а какие строки добавлять (помечены знаком плюс).
Откройте в текстовом редакторе файл 000-default.conf:
sudoedit /etc/apache2/sites-available/000-default.conf
и замените в нём строку помеченную символом »-» на строку помеченную символом »+»:
diff -U2 /etc/apache2/sites-available/000-default.conf.orig /etc/apache2/sites-available/000-default.conf
--- /etc/apache2/sites-available/000-default.conf.orig 2016-09-28 10:26:20.876000000 +0300 +++ /etc/apache2/sites-available/000-default.conf 2016-09-28 10:55:49.864000000 +0300 @@ -10,5 +10,5 @@ ServerAdmin webmaster@localhost - DocumentRoot /var/www/html + DocumentRoot /usr/share/avreg-site # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
Необходимые изменения в остальных 2 файлах см. в разделе ниже.
Примечание. Более точно, размещённые в каталоге
/etc/avreg/
.
Откройте в текстовом редакторе:
sudoedit /etc/avreg/site-apache2-user.conf
и удалите не нужный более псевдоним (alias)
/avreg
.
Для этого, найдите строки:
Alias '/avreg/media' '/var/spool/avreg' Alias '/avreg' '/usr/share/avreg-site'
и замените на эти 2 строки (вторая строка просто комментируется)
Alias '/media' '/var/spool/avreg' # Alias '/avreg' '/usr/share/avreg-site'
Далее, откройте в текстовом редакторе:
sudoedit /etc/avreg/avreg.conf
найдите в нём группу настроек веб-интерфейса
«avreg-site
» и добавьте параметр «prefix» с пустым
значением.
Должно получиться примерно так:
/etc/avreg/avreg.conf
... avreg-site { ... prefix = '' ... } ...
После изменения конфигурационных файлов нужно сообщить об этом веб-серверу Apache посредством выполнения любой команды (предполагается что демон apache2 уже работает):
sudo apache2ctl -k restart
или
sudo service apache2 restart