Apache. Документация на русском


Разделы:   1    2    3    4    5      6      7    8    9    10    11    12    13    14    15    16  

Раздел 6. Руководства, учебные пособия и инструкции

Пункты:   49    50    51    52    53      54      55    56  

 <         > 
  RU            EN  

Пункт 54. Пользовательские веб-каталоги

В системах с несколькими пользователями каждому пользователю может быть разрешено иметь веб-сайт в своем домашнем каталоге с помощью директивы UserDir . Посетители URL-адреса http://example.com/~username/ получат содержимое из домашнего каталога пользователя " username ", из подкаталога, указанного в UserDir директиве.

Обратите внимание, что по умолчанию доступ к этим каталогам не разрешен. Вы можете включить доступ при использовании UserDir , раскомментировав строку:

 # Включить conf/extra/httpd-userdir.conf 

в конфигурационном файле по умолчанию conf/apache2.conf и httpd-userdir.conf при необходимости адаптируя файл или включив соответствующие директивы в <Directory> блок в основном конфигурационном файле.

Веб-каталоги для каждого пользователя

Установка пути к файлу с помощью UserDir

Директива UserDir указывает каталог, из которого загружается контент для каждого пользователя. Эта директива может принимать несколько различных форм.

Если задан путь, который не начинается с косой черты, предполагается, что это путь к каталогу относительно домашнего каталога указанного пользователя. Учитывая эту конфигурацию:

 Пользовательский каталог public_html 

URL http://example.com/~rbowen/file.html будет преобразован в путь к файлу /home/rbowen/public_html/file.html

Если указан путь, начинающийся с косой черты, путь к каталогу будет создан с использованием этого пути и указанного имени пользователя. Учитывая эту конфигурацию:

 Каталог пользователя /var/html 

URL http://example.com/~rbowen/file.html будет преобразован в путь к файлу /var/html/rbowen/file.html

Если указан путь, содержащий звездочку (*), используется путь, в котором звездочка заменена именем пользователя. Учитывая эту конфигурацию:

 Каталог пользователя /var/www/*/docs 

URL http://example.com/~rbowen/file.html будет преобразован в путь к файлу /var/www/rbowen/docs/file.html

Также можно задать несколько каталогов или путей к каталогам.

 Пользовательский каталог public_html /var/html 

Для URL http://example.com/~rbowen/file.html Apache будет искать ~rbowen . Если он не будет найден, Apache будет искать rbowen в /var/html . Если он найден, указанный выше URL-адрес будет преобразован в путь к файлу. /var/html/rbowen/file.html

Перенаправление на внешние URL-адреса

Директиву UserDir можно использовать для перенаправления запросов пользовательского каталога на внешние URL-адреса.

 Каталог пользователя http://example.org/users/*/ 

В приведенном выше примере запрос перенаправляется http://example.com/~bob/abc.html на http://example.org/users/bob/abc.html .

Ограничение того, какие пользователи могут использовать эту функцию

Используя синтаксис, показанный в документации UserDir, вы можете ограничить пользователей, которым разрешено использовать эту функцию:

 UserDir отключил root jro fish 

Приведенная выше конфигурация активирует эту функцию для всех пользователей, кроме перечисленных в disabled заявлении. Вы также можете отключить эту функцию для всех, кроме нескольких пользователей, используя следующую конфигурацию:

 UserDir отключен
UserDir включен rbowen krietz 

UserDir Дополнительные примеры см. в документации.

Включение каталога cgi для каждого пользователя

Чтобы дать каждому пользователю свой собственный каталог cgi-bin, вы можете использовать директиву, <Directory> чтобы сделать конкретный подкаталог домашнего каталога пользователя включенным cgi.

 <Каталог "/home/*/public_html/cgi-bin/">
 Опции ExecCGI
 cgi-скрипт SetHandler
</Каталог> 

Затем, если UserDir установлено значение public_html , программа cgi example.cgi может быть загружена из этого каталога как:

http://example.com/~rbowen/cgi-bin/example.cgi

Разрешение пользователям изменять конфигурацию

Если вы хотите, чтобы пользователи могли изменять конфигурацию сервера в своем веб-пространстве, им нужно будет использовать .htaccess файлы для внесения этих изменений. Убедитесь, что вы установили AllowOverride значение, достаточное для директив, которые вы хотите разрешить пользователям изменять. Дополнительные сведения о том, как это работает, см. в руководстве по .htaccess.



 <         > 

Пункты:   49    50    51    52    53      54      55    56  

Рейтинг@Mail.ru