Ключевые слова:web, apache, php, virtual, (найти похожие документы)
From: Maxim Chirkov <mc@tyumen.ru>
Subject: Как создать VirtualHost с разумными ограничениями безопасности PHP
Рабочий пример с комментариями:
<VirtualHost 192.168.1.1:*>
# Email admin'а
ServerAdmin mc@tyumen.ru
# Имя пользователя и группы для выполнения скриптов под suexec
User project
Group project
# Домен виртуального хоста и его алиасы
ServerName project.tyumen.ru
ServerAlias www.project.tyumen.ru
# Куда записывать логи.
CustomLog /usr/local/apache/logs/project_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),
# переход по символическим ссылкам (SymLinksIfOwnerMatch)
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# Определяем индексныее файлы:
DirectoryIndex index.html index.shtml index.htm index.php index.phtml
# Разрешаем использование php4 на сайте и определяем типы фалов интерпретируемых как php:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
php_admin_flag 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
# Тоже самое, но для php3:
# AddType application/x-httpd-php3 .php3
# AddType application/x-httpd-php3 .php
# AddType application/x-httpd-php3 .phtml
# php3_engine on
# php3_expose_php off
# php3_safe_mode on
# php3_track_vars on
# php3_doc_root /home/project/htdocs
# php3_open_basedir /home/project/htdocs
# php3_safe_mode_exec_dir /home/project/bin
# php3_upload_tmp_dir /home/project/tmp
# php3_max_execution_time 10
# php3_upload_max_filesize 1024000
# php3_magic_quotes_runtime on
order allow,deny
Allow from all
# Определяем какие настроки можно переопределять в .htaccess:
AllowOverride FileInfo 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>