Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6.4. Создание virtualHost с разумными ограничениями безопасности РНР

В данном параграфе приведены практические способы настройки 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>

<< Предыдущий параграф Следующий параграф >>
Оглавление