Как добавить персонализированную дерикторию в Apache, например, для PhpMyAdmin?

Как добавить персонализированную дерикторию в , например, для PhpMyAdmin?
How to add custom directory e.g. for phpmyadmin?

Все знают как в Apache настраиваются виртуальные хосты для сайтов, но как быть не с доменом а директорией? Как в Apache добавить определённую директорию в качестве виртуального хоста, что бы, например по запросу «http://255.255.255.255/phpmyadmin/» отдавалось содержимое директории «/media/my//PhpMyAdmin» ? Т.е. если нет желания вешать, например, тот же PhpMyAdmin на определённый виртуальный хост, а просто хочется получать к нему доступ набрав адрес сервера и запросив определённую директорию.

Если устанавливаете PhpMyAdmin из репозитория, то к нему в комплекте идёт конфиг файл для найстройки веб-сервера Apache. Его можно найти по запросу «phpmyadmin apache config». А как быть если всё делаете вручную?

На самом деле всё просто. Решается такая ситуация директивой модуля mod_ для Apache. Обычно этот очень нужный модуль идёт в комплекте с веб-сервером Apache и уже подключен к нему. Найти подробную информацию по модулю и этой директиве можно по запросу « directive apache».

В общем хватит ходить вокруг да около. Тут всё просто и это дело одной мнуты. Просто надо настроить необходимую директорию при помощи секции ядра Directory и добавить алиас (адрес) на эту директорию директивой alias модуля mod_alias. Может понадобится модуль mod_dir (есть в комплекте).

Как всё это настроить описываю ниже с комментариями. Пишем всё это либо в главном файле настроек Apache, что не рекомендуется, либо в любом из файлов (сущесвующих или новосозданном) виртуальных хостов, которые подключаются к гланому файлу настроек директивой Include.

# Выставляем настройки web-сервера для определённой директории
<Directory "/home/web_server/sites/phpMyAdmin">
AllowOverride All
Options +FollowSymlinks -Indexes

<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>

# New directive needed in Apache 2.4.3:
Require all granted

# Разрешить доступ к директории всем
Order allow,deny
Allow from all

# Разрешить доступ к директории только с указанных IP-адресов
Order Deny,Allow
Deny from all
Allow from 255.255.255.255
</Directory>

<IfModule mod_alias.c>
# Главное! Направляем определённый URL-алиас на конкретную директорию на сервере
Alias /phpmyadmin/ "/home/web_server/sites/phpMyAdmin/"
</IfModule>

В результате PhpMyAdmin будет по следующему URL:
http://255.255.255.255/phpmyadmin/
или так если Apache находится, например, на другом сетевом порте:
http://255.255.255.255:8080/phpmyadmin/
Где 255.255.255.255 — IP-адрес сервера, 8080 — номер сетевого порта, phpmyadmin — алиас заданный первым параметром в директиве Alias.

Все необходимые данные замените под себя. Презапуститет Apache и всё.

Ссылки

  • https://httpd.apache.org/docs/current/mod/mod_alias.html
  • https://httpd.apache.org/docs/current/mod/mod_dir.html
  • http://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_lamp/phpmyadmin
  • https://wiki.archlinux.org/index.php/PhpMyAdmin_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
  • http://askubuntu.com/questions/92069/how-to-add-custom-directory-e-g-phpmyadmin
  • https://wiki.archlinux.org/index.php/PhpMyAdmin_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
Поделиться!
Tags: , , , , , , , ,

49.69MB | MySQL:52 | 0,296sec