Веб сервер Apache

Когда Вы хотите перейти на какой нибудь сайт, Вы набираете адрес этого сайта в адресной строке. Браузер посылает запрос к серверу и ждет от него ответа на выдачу сайта. Web-сервер – это та программа, которая этот запрос принимает и обрабатывает, отправляя Вам запрошенный сайт.

Самым популярным web-сервером в интернете является web-сервер Apache. Существует множество различных версий этого сервера, созданных под разные задачи. Наша компания для предоставления услуг хостинга использует Apache, умеющий работать с русскими кодировками.

Как можно управлять Apache?

Управление Apache осуществляется путем добавления в файл .htaccess специальных директив. По сути дела, инструкций, говорящих web-серверу как поступать в той или иной ситуации. Файл .htaccess – это обычный текстовый файл, который можно либо создать непосредственно на сервере, используя, к примеру, файловый менеджер панели управления хостингом, либо создать у себя на компьютере и закачать на сервер по протоколу FTP.

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

Обычно используется один файл .htaccess для всего сайта. В данном случае он размещается в директорию public_html и действует на корневой каталог сайта и все его подкаталоги.

Какие директивы можно использовать?

На нашем хостинге можно использовать все директивы Apache, применимые к файлу .htaccess.

Как можно поставить пароль на директорию?

Для того, чтобы при обращении к защищенной директории web-сервер Apache спрашивал пароль, нужно в эту директорию поместить файл .htaccess, в котором прописать следующие директивы:

  • AuthName ProtectedZone Вместо ProtectedZone можно написать все, что угодно. Это название защищенной области, оно будет показываться в браузере при запросе пароля, являясь по сути дела подсказкой пользователю. Если Вы хотите использовать русские буквы или же более одного слова, необходимо использовать кавычки. Пример: AuthName «Введите пароль для входа»
  • AuthType Basic Это метод шифрования пароля. Практически всегда используется именно данный вид шифрования. Пример: AuthType Basic
  • AuthUserFile /полный_путь_к_файлу/.htpasswd Это путь к файлу, в котором будут храниться логины и пароли. Он может иметь практически любое имя и располагаться в любом каталоге, главное, чтобы web-сервер мог его прочитать, что требует установки соответствующих прав доступа к этому файлу (на нашем сервере – 644). Однако, традиционно такие файлы называют .htpasswd. Пример: AuthUserFile /home/test/www/site1/public_html/.htpasswd
  • require valid-user Эта строка говорит о том, что доступ в защищенную директорию будет разрешен всем пользователям, чьи логины и пароли есть в файле .htpasswd. Если нужно дать доступ конкретным пользователям, то тогда указывается require user логины_пользователей_через_пробел. Пример: require user vasya kolya petya Пример: require valid-user
Как редактировать файл .htpasswd?

Файл паролей .htpasswd – это обычный текстовой файл. Каждый пользователь описан в нем одной строкой вида логин:шифрованый_пароль. Для шифрования паролей используется специальная программа htpasswd. Обратите внимание, в файл нельзя просто вручную записать пароль, пароль обязательно должен быть зашифрован программой htpasswd.

Если файл .htpasswd еще не существует, программа htpasswd должна быть запущена с ключом -c:
htpasswd -c /полный_путь_к_файлу/.htpasswd логин_пользователя
Пример: htpasswd -c /home/login/domains/site1/public_html/.htpasswd vasya

При этом программа htpasswd создаст файл .htpasswd, запросит пароль для пользователя и создаст запись о пользователе с указанными логином и паролем в этом файле. При добавлении следующих пользователей и изменении паролей уже существующих программа вызывается подобным же образом, но без указания ключа -c. Для удаления пользователя достаточно открыть файл .htpasswd обычным текстовым редактором и удалить строчку с его логином и паролем.

Для удобства наших клиентов поставить пароль на любую папку вашего сайта можно непосредственно через веб интерфейс файлового менеджера панели управления хостингом DirectAdmin. Для этого достаточно напротив нужной папки нажать кнопку Protect и назначить пароль.

Где я могу получить дополнительную информацию?

Для получения дополнительной информации о настройках файла .htaccess и о web-сервере Apache в целом Вы можете воспользоваться официальным сайтом данного программного продукта – Apache.org. На сайте дана подробная справочная информация и приведены примеры работы с данным web-сервером.