Структура каталогов Apache
Сервер мы установили и запустили. Теперь рассмотрим каталоги сервера Apache, их содержание и назначение. В папке c:\WebServer\WAMP\Apache24\ находятся следующие каталоги:
bin – Здесь располагается главный исполняемый файл сервера (httpd.exe) и исполняемые файлы.
Cgi-bin – каталог для CGI – программ , написанных на языках Pepl, C, и т. д.
Conf – Пака, где находятся конфигурационный файл сервера (httpd.conf) и другие файлы конфигурации сервера Apache;
error – Каталог для файлов с сообщениями об ошибках.
htdocs – Папка, в которой должны располагаться файлы в форматах HTML и PHP, которую мы перенесли в другое место, она у нас расположена c:\WebServer\home\www\, для удобства и безопасности, ведь на хостинге нет доступа к папкам сервера, в ней у нас будут располагаться все файлы нашего сайта которые будут доступны при наборе в адресной строке Web – браузера http://localhost/, а также другие папки сайта( например, изображения, каскадные таблицы стилей и т. д.).
На данный момент эта папка пустая, создайте любой HTML – документ и сохраните его в каталоге c:\WebServer\home\www\ допустим index.html.
Первая страница сайта
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Первая страница сайта</title>
<style type="text/css">
@media screen and (max-width: 767px) {
body {
max-width: 767px;
height: auto;
}
}
body { /* Стиль для всего документа */
font-size: 12pt; /* Размер шрифта */
font-family: "Verdana", sans-serif; /* Название шрифта */
}
h1 {
color: blue; /* Цвет шрифта */
}
</style>
</head>
<body>
<h1>Первая страница сайта</h1>
</body>
</html>
Первая страница сайта
Теперь при наборе http://localhost/ мы должны увидеть содержимое сохраненного HTML – документа .
iconns – Здесь содержаться ряд изображений, используемых в листингах каталогов;
include – Набор заголовочных файлов, необходимых для разработки дополнительных модулей;
lib – Набор библиотечных файлов, предназначенных для разработки дополнительных модулей;
logs – В этой папке находятся журналы регистрации посещений (access.log) и ошибки (error.log), Позволяющие получить подробную информацию обо всех запросах и ошибках .Открывать этифайлы можно с помощью любого текстового редактора ( Например Notepad++);
modules – Это каталог содержит подключаемые модули .
Файл конфигурации httpd.conf
Файл конфигурации httpd.conf c:\WebServer\WAMP\Apache24\conf\ – Это основной файл конфигурации сервера. Открыть и отредактировать файл можно с помощью любого текстового редактора, например, Блокнота или Notepad ++. После каждого изменения в файле конфигурации необходимо перезагрузить сервер, остановив его и запустив снова. До перезагрузи он будет работать со старыми параметрами.
В файле httpd.conf содержатся директивы влияющие на работу сервера Apache.
# - Этот символ в начале строки указывает, что строка за комментирована.
Разделы файла конфигурации
Директивы могут объединяться в разделы:
Directory и DirectoryMatch – указывают, что директивы применимы к заданному каталогу и всем подкаталогам:
<Directory "C:/WebServer/home/www">
Options -Indexes
</Directory>
DirectoryMatch – позволяет использовать регулярные выражения.
Вот пример как можно запретить доступ к текстовым файлам:
<Files *.txt>
Require all denied
</Files>
ifModule – указывает, что директивы будут задействованы лишь при загрузке указанного модуля:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Limit и LimitExcept. Limit – указывает, что директивы будут использоваться, только когда HTTP – запрос выполнен с помощью одного из указанных методов (GET, POST или HEAD).
Limit Except, наоборот, разрешает доступ для методов, которые не указаны;
<Limit GET POST OPTIONS PROPFIND>
Require all granted
</Limit>
Location и LocationMatch – Указывают , что заключенные в них директивы действуют лишь в случае обращения с указанного интернет — адреса:
<Location /server-status>
SetHandler server-status
Require host localhost
</Location>
VirtualHost – указывает, что директивы применимы только к документам указанного виртуального хоста. Применяеттся, когда сервер обслуживает множество Web – сайтов с разными именами хостов.
<VirtualHost 192.168.0.1:80>
ServerAdmin webmaster@site
DocumentRoot "c:/WebServer/home/www/site"
ServerName site.ru
</VirtualHost>
Файл конфигурации .htaccess Управляем сервером Apache из обычной папки
На виртуальном хостинге не предоставляется доступ к главному файлу конфигурации, так как один сервер может обслуживать множество сайтов, принадлежащим различным людям. В этом случае для конфигурации отдельных каталогов используется файл .haccess. При изменении этого файла нет необходимости перезагружать сервер. Файлы .haccess анализируются при каждом запросе файла из каталога. Мы еще вернемся к этому файлу и более подробно рассмотрим, где лучше разместить и как применять файл .haccess, сейчас идет общее представление о работе сервера Apache.