Вторая секция:
'Main' server configuration - Конфигурация 'главного' сервера.
Директивы в этой секции устанавливают значения, используемые 'главным' сервером, отвечающим на любые запросы, которые не обрабатываются виртуальными хостами. Значения этих директив также устанавливают значения по умолчанию для всех контейнеров
<VirtualHost>, которые могут быть определены дальше в этом файле.
Все эти директивы могут выступать внутри контейнеров
<VirtualHost>. В таком случае значения таких директив внутри контейнеров
<VirtualHost>, будут для этих хостов главнее значений, заданных в описываемой секции при конфигурации 'главного' сервера.
Port 80 - указывает номер порта, который будет прослушивать выделенный сервер. Значение по умолчанию:
80. В случае использования firewall он должен быть сконфигурирован до того, как Apache будет прослушивать определенный порт. Другие запускаемые httpd-серверы могут также вмешиваться в работу этого порта. Если Вы столкнулись с какими-то проблемами, то отключите firewall, средства безопасности и другие сервисы. Если Вы работаете под Windows NT, то можете для диагностики возникающих проблем использовать команду
NETSTAT -a .
ServerAdmin lkm@yazta.yaroslavl.ru - здесь задается e-mail адрес администратора сервера, который будет выводится на страницах, сгенерированных серверными скриптами в случае появления какой-либо ошибки в его работе.
ServerName mysqlserver.yzta - здесь можно задать имя Вашего сервера. Но помните, что Вы не можете только объявить имя сервера, и оно будет работать. Имя, которое Вы здесь определяете, должно быть действующим доменным именем для Вашего хоста. Если же Ваш хост не имеет зарегистрированного доменного имени, то значение этого параметра можно задать любое, но работать в качестве Вашего домена оно не будет.
DocumentRoot "C:/www" - здесь задается полный путь к корневому каталогу сервера на Вашем компьютере. Корневой каталог сервера - это каталог, в который помещаются все документы и каталоги, хранящиеся на сервере. Он может быть расположен в любом месте на Вашем жестком диске, но стоит избегать помещения его во всякие системные папки типа Windows или Program Files. Лучше всего разместить его в корневом каталоге диска С и назвать www (хотя название, конечно, может быть и иным).
Каждая директория, к которой Apache имеет доступ должна быть сконфигурирована на предмет того, какие сервисы и свойства возможны и/или невозможны для этой директории, а также для ее поддиректорий.
Допустимость тех или иных сервисов и свойств для директорий определяют специальные параметры, помещаемые внутри контейнеров
<Directory /> и
</Directory>.
Следующие параметры, находящиеся внутри контейнера
<Directory /> определяют очень ограниченные разрешения для всех директорий Apache по умолчанию:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Далее для конкретных директорий Apache можно с помощью все тех же контейнеров
<Directory /> и
</Directory> установить свои специфические разрешения на выполнение тех или иных функций.
Следующий блок параметров устанавливает такие разрешения для директории, определенной ранее в параметре
DocumentRoot:
<Directory "C:/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Подробное описание параметров, применяющихся внутри контейнеров
<Directory /> и
</Directory> в скором времени появится на этом сайте.
Приведенные выше значения параметров из блока
<Directory /> появляются в файле
httpd.conf при установке сервера Apache, но при желании их можно вручную отредактировать, присвоить им другие значения.
Следующий далее параметр
UserDir устанавливает директорию, которая будет являться корневой для всех пользователей этого сервера. Или иными словами:
UserDir устанавливает директорию, являющуюся "домашним каталогом" пользователей сервера, в который пользователи смогут помещать свои файлы. Обычно в эту директорию помещают файлы, относящиеся к созданным на сервере виртуальным хостам.
В данном случае
UserDir определен внутри контейнера
<IfModule >, описание которого скоро появится на нашем сайте.
<IfModule mod_userdir.c>
UserDir "C:/home/"
</IfModule>
Для каталога пользователей, заданного директивой
UserDir, можно определить параметры доступа к нему при помощи уже знакомых нам контейнеров
<Directory />. В следующем примере использования
<Directory /> пользовательские директории ограничены правами доступа "Только на чтение". Этот пример по умолчанию закомментирован в файле
httpd.conf:
#
<Directory "C:/Program Files/Apache Group/Apache/users">
#
AllowOverride FileInfo AuthConfig Limit
#
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#
<Limit GET POST OPTIONS PROPFIND>
#
Order allow,deny
#
Allow from all
#
</Limit>
#
<LimitExcept GET POST OPTIONS PROPFIND>
#
Order deny,allow
#
Deny from all
#
</LimitExcept>
#
</Directory>
Параметр
DirectoryIndex определяет, файлы с какими названиями будут автоматически загружаться сервером в браузер пользователя при вызове той или иной его директории, если при этом нет указания на конкретный файл. Как и параметр
UserDir,
DirectoryIndex размещается внутри контейнера
<IfModule >.
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.phtml index.phtm
</IfModule>
В принципе, в параметре
DirectoryIndex можно указывать любые возможные имена файлов, но чаще всего туда помещаются имена, приведенные в вышеуказанном примере.
AccessFileName .htaccess - здесь указывается название файла, который сервер будет искать в каждой своей директории, чтобы получить информацию о контроле за доступом в эту директорию.
Приводимые далее строки предотвращают просмотр файла
.htaccess со стороны web-клиентов сервера. С тех пор, как файл
.htaccess стал часто содержать информацию об авторизации, доступ к нему закрывается по соображениям безопасности. Если Вы хотите разрешить клиентам просматривать содержимое файла
.htaccess, то Вам нужно закомментировать следующие строки в файле
httpd.conf:
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Здесь следует отметить, что в строке
<Files ~ "^\.ht"> фигурирует не все имя файла, заданного параметром
AccessFileName, а только лишь его первые две буквы. Это позволяет предотвратить доступ пользователей ко всем файлам директории, начинающимся с символов .ht . Поэтому в таком случае Вы можете использовать имя
.htpasswd для файлов с паролями - и посетители сервера не будут иметь доступа к этим файлам, также как и к файлам
.htaccess .