В данном параграфе приведены практические способы настройки virtualHost в сервере Apache. Создание наиболее безопасного сервера, настроенного на работу с РНР, является целью создателя сервера, поэтому мы решили включить этот практический материал в нашу книгу.
<VirtualHost 192.168.1.1:*>
# электронный адрес системного администратора
ServerAdmin test@your.domain.name.by
# имя пользователя и группы для выполнения скриптов под suexec
User project
Group project
# домен виртуального хоста и его алиасы
ServerName project.tyumen.ru
ServerAlias www.project.tyumen.ru
# куда записывать логи
CustomLog /usr/local/apache/logs/proj ect_access combined
ErrorLog /usr/local/apache/logs/project_error_log
# описание директории с HTML-файлами
<Directory "/home/project/htdocs">
# HTML, выдаваемые пользователю при ошибках доступа ErrorDocument 404 /missing.html # файл не найден
ErrorDocument 403 /access.html # ошибка авторизации
# разрешаем SSI без возможности запуска локальных программ IncludesNoExec),
# показ файлов в директории без index.html (Indexes),
# переход по символическим ссылкам (SymLinks If OwnerMatch)
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# определяем индексные файлы:
DirectoryIndex index.html index.shtml index.htm index.php index.phtml
# разрешаем использование PHP 4 на сайте и определяем типы фалов, интерпретируемых как РНР:
AddType application/x-httpd-php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
engine on php _admin_flag expose_ php off
#настройки безопасности и определение рабочих директорий: php _admin_flag safe_mode on
php _admin_flag track_vars on
php _admin_value doc_root /home/project/htdocs
php _admin_value open_basedir /home/project/htdocs
php _admin_value safe_mode_exec_dir /home/project/bin
php _admin_value upload_tmp_dir /home/project/tmp
php _admin_value max_execution_time 10
php _admin_value upload_max_filesize 1024000
php _admin_flag magic_quotes_runtime on
order allow, deny
Allow from all
# определяем какие настройки можно переопределять в .htaccess:
AllowOverride Filelnfo AuthConfig Limit.
</Directory>
# корень дерева HTML-документов
DocumentRoot /home/project/htdocs
# разрешаем и описываем cgi-bin:
<Directory "/home/project/cgi-bin">
Options ExecCGI
</Directory>
ScriptAlias /cgi-bin/ "/home/project/cgi-bin/"
# определяем кодировку документов на сервере и кодировку, выдаваемую пользователям по умолчанию:
CharsetSourceEnc koi8-r
CharsetDefault koi8-r
CharsetSelectionOrder Portnumber
</VirtualHost>