URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93241
[ Назад ]

Исходное сообщение
"Apache + PHP. Не работает виртуальный сервер."

Отправлено aks , 06-Апр-12 18:27 
FreeBSD 9.0, Apache 2.2, PHP 5.

ВиртуалХост:

<VirtualHost *:80>
    ServerName pma.mydomain.com
    DocumentRoot /usr/local/www/phpMyAdmin
    ErrorLog /var/log/pma.hlo.com-error_log
    CustomLog /var/log/pma.hlo.com-access_log common
<Directory /usr/local/www/phpMyAdmin>
    Options none
    AllowOverride Limit
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 .mydomain.com
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName ok.mydomain.com
    DocumentRoot /usr/local/www/apache22/data/ok
</VirtualHost>

Второй, который является простеньким хтмл для теста, работает без проблем. А при заходе на первый выдается стандартная апачевская "it works!". В еррорлоге только одна строка:

[error] [client ] client denied by server configuration: /usr/local/www/phpMyAdmin/

Вообще, подобная проблема здесь уже обсуждалась - http://www.opennet.me/openforum/vsluhforumID8/7469.html. Но там автора закидали какашками и тему так и не закрыли. Остановились на том, что у него беда с загрузкой модуля, но у меня с этим вроде как нет проблем. В любом случае по тем же вопросам:

pollux#apachectl -M | grep php
Syntax OK
php5_module (shared)
suphp_module (shared)

pollux#ls -la /usr/local/libexec/apache22/libphp5.so
-rwxr-xr-x  1 root  wheel  10445984 27 мар 16:16 /usr/local/libexec/apache22/libphp5.so

Может разберемся и закроем тему?


Содержание

Сообщения в этом обсуждении
"Apache + PHP. Не работает виртуальный сервер."
Отправлено PavelR , 06-Апр-12 18:32 
> FreeBSD 9.0, Apache 2.2, PHP 5.
> ВиртуалХост:

И что? где остальные части конфига? Если вы в них уверены на 100% то зачем вы вообще пришли на форум? Телепатически угадывать - нах надо.


> Второй, который является простеньким хтмл для теста, работает без проблем. А при
> заходе на первый выдается стандартная апачевская "it works!". В еррорлоге только
> одна строка:
> [error] [client ] client denied by server configuration: /usr/local/www/phpMyAdmin/

Такой строки в логе быть не может. Приводите полную строку, или разбирайтесь сами.
Телепатически угадывать, какие буквы "потерялись" - вы уже знаете - нах надо.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 06-Апр-12 19:00 
> И что? где остальные части конфига? Если вы в них уверены на
> 100% то зачем вы вообще пришли на форум? Телепатически угадывать -
> нах надо.

это весь конфиг httpd-vhosts.conf. Если нужен httpd.conf, то пжалста:

ServerRoot "/usr/local"

#Listen 12.34.56.78:80
Listen 80

# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
LoadModule file_cache_module libexec/apache22/mod_file_cache.so
LoadModule cache_module libexec/apache22/mod_cache.so
LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
LoadModule dumpio_module libexec/apache22/mod_dumpio.so
LoadModule reqtimeout_module libexec/apache22/mod_reqtimeout.so
LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule asis_module libexec/apache22/mod_asis.so
LoadModule info_module libexec/apache22/mod_info.so
LoadModule cgi_module libexec/apache22/mod_cgi.so
LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so
LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache22/mod_negotiation.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule imagemap_module libexec/apache22/mod_imagemap.so
LoadModule actions_module libexec/apache22/mod_actions.so
LoadModule speling_module libexec/apache22/mod_speling.so
LoadModule userdir_module libexec/apache22/mod_userdir.so
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
LoadModule php5_module        libexec/apache22/libphp5.so
LoadModule suphp_module       libexec/apache22/mod_suphp.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#
User www
Group www

</IfModule>
</IfModule>

# 'Main' server configuration
ServerAdmin admin@hlo.ru

#ServerName www.example.com:80
ServerName 127.0.0.1

DocumentRoot "/usr/local/www/apache22/data"

<Directory />
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/www/apache22/data">
    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny
    Allow from all

</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "/var/log/httpd-error.log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

  LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "/var/log/httpd-access.log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"

</IfModule>

<IfModule cgid_module>
</IfModule>

<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig etc/apache22/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

</IfModule>

# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

>> Второй, который является простеньким хтмл для теста, работает без проблем. А при
>> заходе на первый выдается стандартная апачевская "it works!". В еррорлоге только
>> одна строка:
>> [error] [client ] client denied by server configuration: /usr/local/www/phpMyAdmin/
> Такой строки в логе быть не может. Приводите полную строку, или разбирайтесь
> сами.
> Телепатически угадывать, какие буквы "потерялись" - вы уже знаете - нах надо.

строка полностью:

[Fri Apr 06 17:20:27 2012] [error] [client 37.46.63.34] client denied by server configuration: /usr/local/www/phpMyAdmin/
[Fri Apr 06 18:14:50 2012] [error] [client 84.187.19.24] client denied by server configuration: /usr/local/www/phpMyAdmin/
[Fri Apr 06 18:56:53 2012] [error] [client 176.32.178.162] client denied by server configuration: /usr/local/www/phpMyAdmin/
[Fri Apr 06 18:57:37 2012] [error] [client 37.46.63.34] client denied by server configuration: /usr/local/www/phpMyAdmin/
[Fri Apr 06 18:57:38 2012] [error] [client 37.46.63.34] client denied by server configuration: /usr/local/www/phpMyAdmin/

37-й - это мой. На котром вообще это все и стоит. 176-й это другой мой. С него говорит "ошибка 403". 84-й - не знаю кто.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено PavelR , 07-Апр-12 08:03 

> строка полностью:
> [Fri Apr 06 18:57:38 2012] [error] [client 37.46.63.34] client denied by server
> configuration: /usr/local/www/phpMyAdmin/
> 37-й - это мой.

И как, нет мыслей догадаться про сопоставление IP 37.46.63.34 и

> Allow from 127.0.0.1 .mydomain.com

?


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 10:47 
>> строка полностью:
>> [Fri Apr 06 18:57:38 2012] [error] [client 37.46.63.34] client denied by server
>> configuration: /usr/local/www/phpMyAdmin/
>> 37-й - это мой.
> И как, нет мыслей догадаться про сопоставление IP 37.46.63.34 и
>> Allow from 127.0.0.1 .mydomain.com
> ?

Можно сделать проще:

<VirtualHost *:80>
    ServerName pma.mydomain.com
    DocumentRoot /usr/local/www/phpMyAdmin
    ErrorLog /var/log/pma.hlo.com-error_log
    CustomLog /var/log/pma.hlo.com-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerName ok.mydomain.com
    DocumentRoot /usr/local/www/apache22/data/ok
</VirtualHost>

Конфиги одинаковые. Но история та же: второй работает, первый нет. Значит дело не в виртуал хостах.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено MoHaX , 09-Апр-12 16:20 
>> И что? где остальные части конфига? Если вы в них уверены на
>> 100% то зачем вы вообще пришли на форум? Телепатически угадывать -
>> нах надо.
> это весь конфиг httpd-vhosts.conf. Если нужен httpd.conf, то пжалста:
> ServerRoot "/usr/local"
> <Directory />
>     AllowOverride None
>     Order deny,allow
>     Deny from all
> </Directory>

Вот из этого в httpd.conf удали Deny from all.  


"Apache + PHP. Не работает виртуальный сервер."
Отправлено PavelR , 06-Апр-12 18:34 
> <VirtualHost *:80>
>     ServerName pma.mydomain.com
>     DocumentRoot /usr/local/www/phpMyAdmin
>     ErrorLog /var/log/pma.hlo.com-error_log
>     CustomLog /var/log/pma.hlo.com-access_log common
>     <Directory /usr/local/www/phpMyAdmin>
>         Options none

          DirectoryIndex index.php

>     AllowOverride Limit
>     Order Deny,Allow
>     Deny from all
>     Allow from 127.0.0.1 .mydomain.com
>     </Directory>
> </VirtualHost>


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 06-Апр-12 19:07 
>[оверквотинг удален]
>>     CustomLog /var/log/pma.hlo.com-access_log common
>>     <Directory /usr/local/www/phpMyAdmin>
>>         Options none
>           DirectoryIndex index.php
>>     AllowOverride Limit
>>     Order Deny,Allow
>>     Deny from all
>>     Allow from 127.0.0.1 .mydomain.com
>>     </Directory>
>> </VirtualHost>

Не помогает. Грабли где-то не тут.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено lavr , 06-Апр-12 22:18 
>[оверквотинг удален]
>>>     <Directory /usr/local/www/phpMyAdmin>
>>>         Options none
>>           DirectoryIndex index.php
>>>     AllowOverride Limit
>>>     Order Deny,Allow
>>>     Deny from all
>>>     Allow from 127.0.0.1 .mydomain.com
>>>     </Directory>
>>> </VirtualHost>
> Не помогает. Грабли где-то не тут.

грабли скорей всего в Allow/Deny, если конечно virtual hosts правильно настроен


"Apache + PHP. Не работает виртуальный сервер."
Отправлено Аноним , 07-Апр-12 07:04 
Во первых возникает вопрос зачем нужна директива: <Directory>, описывающая DocumentRoot?
Я не вижу ни одного NameVirtualHost, они есть вообще?

Я бы, для начала, начал так:

<Directory  /usr/local/www/*>
        Options +Includes
        AllowOverride FileInfo AuthConfig Limit Indexes Options
        Order allow,deny
        Allow from all
</Directory>

NameVirtualHost _YOUR_IP_:80
<VirtualHost _YOUR_IP_:80>
    ServerName pma.mydomain.com
    ServerAlias www.pma.mydomain.com
    ServerAdmin support@pma.mydomain.com
    DocumentRoot /usr/local/www/phpMyAdmin
    ErrorLog /var/log/pma.hlo.com-error_log
    CustomLog /var/log/pma.hlo.com-access_log common
    php_admin_value open_basedir "/usr/local/www/phpMyAdmin:."
    AddType application/x-httpd-php .php  .php3 .php4 .phtml
</VirtualHost>

Ну и приводи всё: и httpd.conf, и все include-ы.
Покажи: httpd -V


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 11:03 

> Ну и приводи всё: и httpd.conf, и все include-ы.
> Покажи: httpd -V

pollux#httpd -V
Server version: Apache/2.2.22 (FreeBSD)
Server built:   Mar 27 2012 15:30:38
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types"
-D SERVER_CONFIG_FILE="etc/apache22/httpd.conf"

У меня другой вопрос возник - а может быть дело в правах на каталог DocumentRoot?


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 11:06 
> Во первых возникает вопрос зачем нужна директива: <Directory>, описывающая DocumentRoot?

Я с <Directory> уже игрался. Мое мнение, что в виртуалхостах если и есть мелкие косяки, то основная причина не в них.

> Ну и приводи всё: и httpd.conf, и все include-ы.

httpd.conf я выше выкладывал. Из инклюдов я лазил только в ВХостс. И поключен только он.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено Аноним , 09-Апр-12 15:31 
>> Во первых возникает вопрос зачем нужна директива: <Directory>, описывающая DocumentRoot?
> Я с <Directory> уже игрался. Мое мнение, что в виртуалхостах если и
> есть мелкие косяки, то основная причина не в них.

Вы сделайте, так как вам говорят, если хотите решить проблему. И покажите:
ls -al /usr/local/www/phpMyAdmin/



"Apache + PHP. Не работает виртуальный сервер."
Отправлено михалыч , 07-Апр-12 10:40 
Зачем?
Зачем огород городить с виртуалхостами?
Если только для админки чих-пыха, то можно проще.

В конце файла httpd.conf должна быть строка
(в дефолтном конфиге точно есть)
Include etc/apache22/Includes/*.conf

В /usr/local/etc/apache22/Includes/ кладем файл phpmyadmin.conf

cat phpmyadmin.conf

Alias /phpmyadmin "/usr/local/www/phpMyAdmin/"

<Directory "/usr/local/www/phpMyAdmin/">
    Options none
    AllowOverride Limit AuthConfig
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1/32
    Allow from 37.46.63.34/32
</Directory>

ну и /usr/local/etc/rc.d/apache22 reload


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 11:31 
> Зачем?
> Зачем огород городить с виртуалхостами?
> Если только для админки чих-пыха, то можно проще.

Ну, планируется понавесить несколько вэбморд, поэтому с виртуалхостами проще. В любом случае я и по вашему совету поробовал - разницы нет. В логах
одни и те же ошибки:

[Mon Apr 09 10:41:04 2012] [error] [client 37.46.63.34] client denied by server configuration: /usr/local/www/phpMyAdmin/
[Mon Apr 09 11:10:18 2012] [error] [client 37.46.63.34] Directory index forbidden by Options directive: /usr/local/www/phpMyAdmin/



"Apache + PHP. Не работает виртуальный сервер."
Отправлено PavelR , 09-Апр-12 11:55 
>> Зачем?
>> Зачем огород городить с виртуалхостами?
>> Если только для админки чих-пыха, то можно проще.
> Ну, планируется понавесить несколько вэбморд, поэтому с виртуалхостами проще. В любом случае
> я и по вашему совету поробовал - разницы нет. В логах
> одни и те же ошибки:
> [Mon Apr 09 10:41:04 2012] [error] [client 37.46.63.34] client denied by server
> configuration: /usr/local/www/phpMyAdmin/
> [Mon Apr 09 11:10:18 2012] [error] [client 37.46.63.34] Directory index forbidden by
> Options directive: /usr/local/www/phpMyAdmin/

$%я, я уже давно в сообщениях выше написал:

     DirectoryIndex index.php


Оно присутствует ?


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 14:39 
>[оверквотинг удален]
>> Ну, планируется понавесить несколько вэбморд, поэтому с виртуалхостами проще. В любом случае
>> я и по вашему совету поробовал - разницы нет. В логах
>> одни и те же ошибки:
>> [Mon Apr 09 10:41:04 2012] [error] [client 37.46.63.34] client denied by server
>> configuration: /usr/local/www/phpMyAdmin/
>> [Mon Apr 09 11:10:18 2012] [error] [client 37.46.63.34] Directory index forbidden by
>> Options directive: /usr/local/www/phpMyAdmin/
> $%я, я уже давно в сообщениях выше написал:
>      DirectoryIndex index.php
> Оно присутствует ?

Так, подожди. Давай по порядку. Где оно должно присутсвовать?
В теле <Directory>? Пробовал и с ним и без него - разницы нет.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено михалыч , 09-Апр-12 18:18 
С индексом вас правильно на мысль наводят.
Только вы, ну никак не хотите "наводиться" ((
Вот вам "почти" дефолтный конфиг апача,
найдите, как говорится, десять отличий от вашего,
обратите внимание на то, что касается php в конфиге.

Итак, берем англо-русский словарик в руки и ...

#
# Это главный конфигурационный файл сервера Apache,
# содержащий директивы, управляющие работой сервера.
# За более подробной информацией об этих директивах,
# обращайтесь по адресу <URL:http://httpd.apache.org/docs-2.2/>
# В частности, см. <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# для обсуждения каждой директивы конфигурации.
#
# Не стоит читать эти директивы без понимания их роли. Они приведены здесь
# лишь в качестве примера одного из возможных вариантов. В случае сомнений
# обращайтесь к онлайновой документации. Считайте, что вас предупредили.
#
# Файлы конфигурации программы и регистрации событий (конфиги и логи):
# Если имена файлов, определенных вами для управления сервером, начинаются
# с символа "/" (или "диск:\" для Win32), сервер будет использовать явно
# указанный в этом имени полный путь. Если же имена НЕ начинаются с "/", то
# для определения пути будет использовано значение директивы ServerRoot - так,
# "logs/foo.log" при значении ServerRoot равном "/usr/local/apache" будет
# интерпретироваться сервером как "/usr/local/apache/logs/foo.log".

#
# ServerRoot: вершина дерева каталогов, в которых содержатся файлы
# конфигурации, регистрации и отслеживания ошибок.
#
# Не добавляйте слэш в конце строки. Если вы указываете ServerRoot на
# не-локальном диске, убедитесь, что директива LockFile указывает на
# локальный диск. Если вы хотите, чтобы общий ServerRoot был для нескольких
# httpd даемонов, вам необходимо изменить по крайней мере LockFile и PidFile.
#
ServerRoot "/usr/local"

#
# Listen: Позволяет привязать Apache к конкретным адресам IP и/или портам,
# помимо(sic) дефолтных. См. также директиву <VirtualHost>.
#
# Следует поменять это на конкретные адреса IP (как показано ниже), чтобы
# Apache не "прилипал" ко всем привязанным адресам (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80

#
# Поддержка динамических, разделяемых объектов (DSO, Dynamic Shared Object)
#
# Для того, чтобы использовать модули, созданные как DSO, следует поместить
# здесь соответствующие строки с директивой "LoadModule", чтобы команды этого
# модуля были доступны ДО обращения к ним. Статически скомпилированные модули
# (выявляемые по команде "httpd -l") в этом не нуждаются.
#
# Пример:
# LoadModule foo_module modules/mod_foo.so
#
###########################################################
# далее здесь идут ваши модули

LoadModule php5_module          libexec/apache22/libphp5.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#
# Если вы хотите, чтобы httpd выполнялся от имени другого пользователя или
# группы, вы должны запустить изначально httpd от root и он будет переключаться
# на другого пользователя.
#
# User/Group: (Пользователь/Группа:) название (или #номер) пользователя/группы
# для запуска httpd. Как правило, рекомендуется создать специального
# пользователя и группу для работы httpd, как и для большинства системных служб.
#
User www
Group www

</IfModule>
</IfModule>

# 'Основная' конфигурация сервера
#
# Директивы этого раздела устанавливают значения, используемые "главным
# сервером", который отвечает на запросы, не обрабатываемые виртуальными
# хостами. Эти значения также задают дефолты для любых последующих
# контейнеров <VirtualHost> в этом файле.
#
# Любые из этих директив могут быть включены в контейнер <VirtualHost>; в таком
# случае дефолтные установки будут переопределены для этого виртуального хоста.
#

#
# ServerAdmin: Ваш адрес, по которому следует направлять сообщения
# о проблемах с сервером. Этот адрес появится на некоторых сгенерированных
# сервером страницах, таких, как сообщения об ошибках.
# Пример: admin@your-domain.com
#
ServerAdmin you@example.com

#
# Директива ServerName задает имя и порт, которыми сервер представляется.
# Это часто может быть определено автоматически, но рекомендуется явно
# задавать эти параметры, во избежание проблем при запуске.
#
# Если ваш хост не имеет зарегистрированного имени DNS,
# введите его IP-адрес здесь.
#
#ServerName www.example.com:80

#
# DocumentRoot: Директория, из которой будут выдаваться ваши документы.
# По умолчанию, все запросы обслуживаются из этой директории, но могут
# быть использованы символические линки (пересылки) и алиасы (псевдонимы)
# для указания других мест.
#
DocumentRoot "/usr/local/www/apache22/data"

#
# Каждая доступная для Apache директория может быть сконфигурирована
# в отношении действий и сервисов, которые разрешены и/или запрещены
# в этой директории (и ее суб-директориях).
#
# Для начала, мы определяем "дефолт", как весьма ограниченный набор разрешений.
#
<Directory />
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

#
# Заметьте, что в дальнейшем вы должны явно разрешать конкретные
# действия так, что если что-то не работает так, как вы ожидаете,
# убедитесь, что вы явно разрешили это ниже.
#

#
# Здесь должна быть указана директория, которую вы установили как DocumentRoot.
#
<Directory "/usr/local/www/apache22/data">
    #
    # Опции могут иметь значения "None", "All",
    # или любую комбинацию из:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Заметьте, что опция "MultiViews" должна быть ЯВНО указана - т.к.
    # "Options All" ее НЕ включает.
    #
    # Директива Options является и сложной и важной. Для дополнительной
    # информации смотрите http://httpd.apache.org/docs/2.2/mod/core.html#options
    #
    Options Indexes FollowSymLinks MultiViews Includes

    #
    # определяет какие директивы могут быть использованы в файлах .htaccess.
    # Она может принимать значения "All", "None", или любую комбинацию из:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Эти директивы определяют, кто может получать материал с этого сервера.
    #
    Order allow,deny
    Allow from all

</Directory>

#
# DirectoryIndex: Имя файла, выдаваемого Apache в ответ на запрос директории.
#
<IfModule dir_module>
    <IfModule php5_module>
        DirectoryIndex index.php index.html
    </IfModule>
    <IfModule !php5_module>
        DirectoryIndex index.html
    </IfModule>
</IfModule>

#
# Следующие строки запрещают просмотр файлов ".htaccess" и ".htpasswd"
# со стороны Web-клиентов.
#
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

#
# ErrorLog: Расположение error-файла. Если вы не задаете директиву ErrorLog
# внутри контейнера какого-либо <VirtualHost>, его сообщения об ошибках
# будут записаны здесь. Если же вы определите error-файл для какого-либо
# <VirtualHost>, то его сообщения об ошибках будут записываться там, а не здесь.
#
ErrorLog "/var/log/apache22/error.log"

#
# LogLevel: Определение характера ошибок, которые записываются в error.log.
# Возможные значения в порядке убывания количества сообщений:
# debug, info, notice, warn, error, crit, alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # Следующие директивы определяют псевдонимы некоторых форматов,
    # которые используются в директиве CustomLog (см. ниже).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # Расположение и формат файла регистрации (лога). Если вы не определяете
    # никаких лог-файлов внутри контейнера <VirtualHost>, сведения будут
    # записываться здесь. Если же вы определяете отдельный лог-файл для
    # виртуального хоста, доступ будет отслеживаться там, но не здесь.
    #
    #CustomLog "/var/log/apache22/access.log" common

    #
    # Если вы предпочитаете иметь один лог-файл с информацией о доступе, агенте
    # и ссылках комбинированный формат лог-файла (Combined Logfile Format), вы
    # можете использовать следующую директиву.
    #
    CustomLog "/var/log/apache22/access.log" combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: Перенаправление: позволяет сообщить клиенту о документах, ранее
    # существовавших в именном пространстве сервера, но теперь не существующих.
    # Она позволяет сообщить клиенту новый адрес перемещенного документа.
    # Пример:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Алиасы (Псевдонимы): Можно добавлять любое количество алиасов
    # (без ограничений). Формат: Alias псевдоним действительное_имя
    # Пример:
    # Alias /webpath /full/filesystem/path
    #
    # Обратите внимание, что если вы включаете завершающий слэш в "псевдоним",
    # то сервер потребует его присутствия и в URL. Если "псевдоним"
    # закначивается на слеш, действительное_имя также должно заканчиваться на
    # слеш, а если в "псевдониме" он (слеш) опущен, то и в действительном_имени
    # он, то есть слеш, также  должен быть опущен.
    # Вам, возможно, также необходимо будет указать раздел <Directory>, чтобы
    # разрешить доступ к указанному пути файловой системы.

    #
    # ScriptAlias: Указывает директории, которые содержат серверные скрипты.
    # Свойства ScriptAlias-ов в основном такие же, как и у простых Alias-ов,
    # кроме того, что при запросе, документы в каталоге "действительное_имя"
    # считаются приложениями и выполняются на сервере, а не отправляются
    # клиенту. К директиве ScriptAlias применяются те же правила в отношении
    # завершающего "/", что и к Alias.
    #
    ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"

</IfModule>

<IfModule cgid_module>
    #
    # ScriptSock: На потоковых серверах, назначить путь к сокету UNIX,
    # который используется для связи с демоном CGI из mod_cgid.
    #
    #Scriptsock /var/run/cgisock
</IfModule>

#
# "/usr/local/www/apache22/cgi-bin" должен быть изменён на существующую
# в вашей конфигурации директорию CGI в ScriptAliased.
#
<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride All
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

#
# Директива DefaultType  - это дефолтный MIME-тип, используемый сервером
# для документов, тип которых не определяем по иным признакам, таким, как
# расширение имени файла. Если ваш сервер содержит в основном текстовые или
# HTML-документы, "text/plain" является подходящим значением. Если большая
# часть представляет собой бинарные файлы, такие, как программы или
# изображения, возможно использование "application/octet-stream", чтобы
# предотвратить попытки браузеров показывать содержимое двоичных файлов
# как текст.
#
DefaultType text/plain

<IfModule mime_module>
    #
    # Директива TypesConfig описывает расположение файла mime.types
    # (или его эквивалента).
    #
    TypesConfig etc/apache22/mime.types

    #
    # AddType позволяет добавить или переопределить MIME-типы из
    # указанной директивы TypesConfig для определенных типов файлов.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding позволяет некоторым браузерам на лету распаковывать информацию.
    # Замечание: не все браузеры поддерживают это.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # Если AddEncoding директивы выше закомментированны, то вам, вероятно,
    # следует определить те расширения, чтобы указать типы носителей:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    # Если добавлен модуль php5
    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    </IfModule>

    #
    # AddHandler позволяет связать определенные расширения имён файлов
    # с обработчиками (handlers), вне зависимости от типа файла.
    # Обработчики могут быть либо встроены в сервер, либо добавлены
    # директивой Action (см. ниже).
    #
    # Для использования скриптов CGI вне директорий типа ScriptAliased:
    # (Кроме того, вам придется добавить "ExecCGI" к директиве "Options")
    #
    #AddHandler cgi-script .cgi

    # Для типов карт (динамически определяемых ресурсов):
    #AddHandler type-map var

    #
    # Фильтры позволяют обработать содержание до отправки клиенту.
    #
    # Для обработки .shtml файлов на предмет вставок, производимых сервером
    # (server-side includes SSI):
    # (Кроме того, вам придется добавить "Includes" к директиве "Options")
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Модуль "mod_mime_magic" позволяет серверу использовать различные приемы для
# определения типа файла по его содержанию. Директива MIMEMagicFile указывает
# этому модулю месторасположение (файла с описаниями) этих приемов.
#
#MIMEMagicFile etc/apache22/magic

#
# Настраиваемые ответы на ошибки бывают трёх видов:
# 1) обычный текст 2) локальные перенаправления 3) внешние перенаправления
#
# Вот некоторые примеры:
#ErrorDocument 500 "Сервер сделал бу-бу."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP и EnableSendfile: Это используется для доставки файлов
# в системах, которые поддерживают маппинг памяти или системный вызов
# отправки файла. Это обычно увеличивает производительность сервера,
# но должно быть выключено при обслуживании с монтированными сетевыми
# файловыми системами или должна быть поддержка этих функций,
# в противном случае это будет поломанно в вашей системе.
#
#EnableMMAP off
#EnableSendfile off

# Справочная конфигурации
#
# Конфигурационные файлы из директороии etc/apache22/extra/ могут быть включены,
# чтобы добавить дополнительные функции или изменить настройки по умолчанию на
# сервере, или вы можете просто скопировать их содержимое здесь и изменять по
# мере необходимости.

# Server-pool management (MPM specific) - Управление серверными пулами
#Include etc/apache22/extra/httpd-mpm.conf

# Multi-language error messages - Многоязыковые сообщения об ошибках
Include etc/apache22/extra/httpd-multilang-errordoc.conf

# Fancy directory listings - Модные листинги директорий
#Include etc/apache22/extra/httpd-autoindex.conf

# Language settings - Языковые настройки
Include etc/apache22/extra/httpd-languages.conf

# User home directories - Домашние директории пользователей
#Include etc/apache22/extra/httpd-userdir.conf

# Real-time info on requests and configuration - Запрос и получение
# информация и настроек конфигурации в режиме реального времени
#Include etc/apache22/extra/httpd-info.conf

# Virtual hosts - Виртуальные хосты
Include etc/apache22/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual -
# Локальный доступ к руководству HTTP-сервера Apache
#Include etc/apache22/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
#Include etc/apache22/extra/httpd-dav.conf

# Various default settings - Различные настройки по умолчанию
Include etc/apache22/extra/httpd-default.conf

# Secure (SSL/TLS) connections - Защищенные (SSL/TLS) соединения
Include etc/apache22/extra/httpd-ssl.conf
#
# Примечание:   Следующие строки должны присутствовать для поддержки старта
#               без SSL на платформах с не эквивалентными устройствами
#               /dev/random, но статически скомпилированным mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Include etc/apache22/Includes/*.conf

Тупо копипастить не надо.
У меня логи пишутся в отдельную директорию. В apache22
Если будете копировать, не забудьте её создать ))


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 10-Апр-12 18:46 
> С индексом вас правильно на мысль наводят.
> Только вы, ну никак не хотите "наводиться" ((
> Вот вам "почти" дефолтный конфиг апача,
> найдите, как говорится, десять отличий от вашего,
> обратите внимание на то, что касается php в конфиге.
> Итак, берем англо-русский словарик в руки и ...
> Тупо копипастить не надо.
> У меня логи пишутся в отдельную директорию. В apache22
> Если будете копировать, не забудьте её создать ))

Ну я копипастить, конечно, не стал. )) Понял я, где нужно было модули описать. Но после корректировки своего конфига ничего не изменилось. Ошибку нашел в другом месте (как обычно, в самом дурацком) - у меня каталог phpMyAdmin лежал тут - /usr/local/www/phpMyAdmin. А в httpd.conf дефолтно указано:

DocumentRoot /usr/local/www/apache22/data

Пока я не переложил каталог туда, у меня и возникала ошибка. Интересно на апаче1.3 не было такой жесткой привязки.

Для успокоения души вернул свой конфиг апачевский (где не было прописано указание на index.php) и попробовал с ним зайти - не, не обманешь. )) Апач увидел только подкинутый мной index.html.

Ладно, с этим разобрался. Всем спасибо. Михалычу в особенности.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено михалыч , 11-Апр-12 07:03 
Очень хорошо, что разобрались.
Насколько я понимаю, phpmyadmin устанавливали из портов.
И он по дефолту должен находиться в /usr/local/www
Перекладывать его "куда-то там" не рекомендуется.
Потому как если вы захотите его удалить(обновить) командами
cd /usr/ports/databases/phpmyadmin
make deinstall
вас ждёт облом ))
Лучше сделать так как и советует апач в таком случае,
я приводил вариант с Include etc/apache22/Includes/*.conf
Иначе представьте себе ситуацию, всё, что по дефолту "лезет"
в /usr/local/www вам придётся "перекидывать" в "куда-то там"
А это, согласитесь, уже как-то.. стрёмно ))

"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 11-Апр-12 11:23 
>[оверквотинг удален]
> Перекладывать его "куда-то там" не рекомендуется.
> Потому как если вы захотите его удалить(обновить) командами
> cd /usr/ports/databases/phpmyadmin
> make deinstall
> вас ждёт облом ))
> Лучше сделать так как и советует апач в таком случае,
> я приводил вариант с Include etc/apache22/Includes/*.conf
> Иначе представьте себе ситуацию, всё, что по дефолту "лезет"
> в /usr/local/www вам придётся "перекидывать" в "куда-то там"
> А это, согласитесь, уже как-то.. стрёмно ))

Нее, я его из архива распаковал с сайта пхпмайадмин.ру. Посчитал, что из портов ставить - как-то извращенно, если есть способ проще ))


"Apache + PHP. Не работает виртуальный сервер."
Отправлено Аноним , 11-Апр-12 11:37 
> Нее, я его из архива распаковал с сайта пхпмайадмин.ру. Посчитал, что из
> портов ставить - как-то извращенно, если есть способ проще ))

А обновлять и следить за багфиксами тоже будете ручками?


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 11-Апр-12 13:21 
>> Нее, я его из архива распаковал с сайта пхпмайадмин.ру. Посчитал, что из
>> портов ставить - как-то извращенно, если есть способ проще ))
> А обновлять и следить за багфиксами тоже будете ручками?

Обновлять и следить за багфиксами не планирую. Можно сказать, он нужен только для одно раза.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено Аноним , 11-Апр-12 14:52 
>>> Нее, я его из архива распаковал с сайта пхпмайадмин.ру. Посчитал, что из
>>> портов ставить - как-то извращенно, если есть способ проще ))
>> А обновлять и следить за багфиксами тоже будете ручками?
> Обновлять и следить за багфиксами не планирую. Можно сказать, он нужен только
> для одно раза.

Для одного раза можно было и не городить virtualhost.
"Можно сказать" и "завтра удалю" - разные вещи, если жить будет хотя бы месяц, то уже стоит задумываться об обновлениях и отслеживании найденных багов.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 11-Апр-12 18:21 
>>>> Нее, я его из архива распаковал с сайта пхпмайадмин.ру. Посчитал, что из
>>>> портов ставить - как-то извращенно, если есть способ проще ))
>>> А обновлять и следить за багфиксами тоже будете ручками?
>> Обновлять и следить за багфиксами не планирую. Можно сказать, он нужен только
>> для одно раза.
> Для одного раза можно было и не городить virtualhost.
> "Можно сказать" и "завтра удалю" - разные вещи, если жить будет хотя
> бы месяц, то уже стоит задумываться об обновлениях и отслеживании найденных
> багов.

Вируалхост, как я где-то выше писал, нужен для других целей - вебморд будет несколько.


"Apache + PHP. Не работает виртуальный сервер."
Отправлено aks , 09-Апр-12 17:54 
Вот. Добрался до старой машины. Здесь FreeBSD 6.2, PHP5, Apache 1.3

Принцип тот же и все работает.

httpd.conf:

# ServerType is either inetd, or standalone.  Inetd mode is only supported on
# Unix platforms.
#
ServerType standalone

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#

ServerRoot "/usr/local"


#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
PidFile /var/run/httpd.pid

#
# ScoreBoardFile: File used to store internal server process information.
# Not all architectures require this.  But if yours does (you'll know because
# this file will be  created when you run Apache) then you *must* ensure that
# no two invocations of Apache share the same scoreboard file.
#
ScoreBoardFile /var/run/httpd.scoreboard

#
# In the standard configuration, the server will process httpd.conf (this
# file, specified by the -f command line option), srm.conf, and access.conf
# in that order.  The latter two files are now distributed empty, as it is
# recommended that all directives be kept in a single file for simplicity.  
# The commented-out values below are the built-in defaults.  You can have the
# server ignore these files altogether by using "/dev/null" (for Unix) or
# "nul" (for Win32) for the arguments to the directives.
#
#ResourceConfig /usr/local/etc/apache/srm.conf
#AccessConfig /usr/local/etc/apache/access.conf

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 5
MaxSpareServers 10

StartServers 5

MaxClients 150

MaxRequestsPerChild 0

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
#Listen 3000
#Listen 12.34.56.78:80

#
# BindAddress: You can support virtual hosts with this option. This directive
# is used to tell the server which IP address to listen to. It can either
# contain "*", an IP address, or a fully qualified Internet domain name.
# See also the <VirtualHost> and Listen directives.
#
#BindAddress *

#
# Example:
# LoadModule foo_module libexec/mod_foo.so
LoadModule mmap_static_module libexec/apache/mod_mmap_static.so
LoadModule vhost_alias_module libexec/apache/mod_vhost_alias.so
LoadModule env_module         libexec/apache/mod_env.so
LoadModule config_log_module  libexec/apache/mod_log_config.so
LoadModule mime_magic_module  libexec/apache/mod_mime_magic.so
LoadModule mime_module        libexec/apache/mod_mime.so
LoadModule negotiation_module libexec/apache/mod_negotiation.so
LoadModule status_module      libexec/apache/mod_status.so
LoadModule info_module        libexec/apache/mod_info.so
LoadModule includes_module    libexec/apache/mod_include.so
LoadModule autoindex_module   libexec/apache/mod_autoindex.so
LoadModule dir_module         libexec/apache/mod_dir.so
LoadModule cgi_module         libexec/apache/mod_cgi.so
LoadModule asis_module        libexec/apache/mod_asis.so
LoadModule imap_module        libexec/apache/mod_imap.so
LoadModule action_module      libexec/apache/mod_actions.so
LoadModule speling_module     libexec/apache/mod_speling.so
LoadModule userdir_module     libexec/apache/mod_userdir.so
LoadModule alias_module       libexec/apache/mod_alias.so
LoadModule rewrite_module     libexec/apache/mod_rewrite.so
LoadModule access_module      libexec/apache/mod_access.so
LoadModule auth_module        libexec/apache/mod_auth.so
LoadModule anon_auth_module   libexec/apache/mod_auth_anon.so
LoadModule db_auth_module     libexec/apache/mod_auth_db.so
LoadModule digest_module      libexec/apache/mod_digest.so
LoadModule proxy_module       libexec/apache/libproxy.so
LoadModule cern_meta_module   libexec/apache/mod_cern_meta.so
LoadModule expires_module     libexec/apache/mod_expires.so
LoadModule headers_module     libexec/apache/mod_headers.so
LoadModule usertrack_module   libexec/apache/mod_usertrack.so
LoadModule log_forensic_module libexec/apache/mod_log_forensic.so
LoadModule unique_id_module   libexec/apache/mod_unique_id.so
LoadModule setenvif_module    libexec/apache/mod_setenvif.so
LoadModule php5_module        libexec/apache/libphp5.so
LoadModule perl_module        libexec/apache/libperl.so

#  Reconstruction of the complete module list from all available modules
#  (static and shared ones) to achieve correct module execution order.
#  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
ClearModuleList
AddModule mod_mmap_static.c
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_log_forensic.c
AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_php5.c
AddModule mod_perl.c

#
# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
#ExtendedStatus On

Port 80

User www
Group www

ServerAdmin admin@mydomain.ru

# ServerName allows you to set a host name which is sent back to clients for
# your server if it's different than the one the program would get (i.e., use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name you
# define here must be a valid DNS name for your host. If you don't understand
# this, ask your network administrator.
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address (e.g., http://123.45.67.89/)
# anyway, and this will make redirections work in a sensible way.
#
# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
# machine always knows itself by this address. If you use Apache strictly for
# local testing and development, you may use 127.0.0.1 as the server name.
#
#ServerName www.example.com

DocumentRoot "/usr/local/www/data"

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/usr/local/www/data">

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny
    Allow from all
</Directory>

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>


<IfModule mod_dir.c>
    <IfModule mod_php3.c>
        <IfModule mod_php4.c>
            DirectoryIndex index.php index.php3 index.html
        </IfModule>
        <IfModule !mod_php4.c>
            DirectoryIndex index.php3 index.html
        </IfModule>
    </IfModule>
    <IfModule !mod_php3.c>
        <IfModule mod_php4.c>
            DirectoryIndex index.php index.html
        </IfModule>
        <IfModule !mod_php4.c>
            DirectoryIndex index.html
        </IfModule>
    </IfModule>
</IfModule>

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
#
# AccessFileName: The name of the file to look for in each directory
# for access control information.
#
AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

UseCanonicalName On

#
# TypesConfig describes where the mime.types file (or equivalent) is
# to be found.
#
<IfModule mod_mime.c>
    TypesConfig /usr/local/etc/apache/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile /usr/local/etc/apache/magic
</IfModule>

HostnameLookups Off

ErrorLog /var/log/httpd-error.log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#
#CustomLog /var/log/httpd-access.log common

#
# If you would like to have agent and referer logfiles, uncomment the
# following directives.
#
#CustomLog /var/log/httpd-referer.log referer
#CustomLog /var/log/httpd-agent.log agent

#
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
CustomLog /var/log/httpd-access.log combined

ServerSignature On


<IfModule mod_alias.c>

    #
    # Note that if you include a trailing / on fakename then the server will
    # require it to be present in the URL.  So "/icons" isn't aliased in this
    # example, only "/icons/".  If the fakename is slash-terminated, then the
    # realname must also be slash terminated, and if the fakename omits the
    # trailing slash, the realname must also omit it.
    #
    Alias /icons/ "/usr/local/www/icons/"

    <Directory "/usr/local/www/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    # This Alias will project the on-line documentation tree under /manual/
    # even if you change the DocumentRoot. Comment it if you don't want to
    # provide access to the on-line documentation.
    #
    Alias /manual/ "/usr/local/share/doc/apache/"

    <Directory "/usr/local/share/doc/apache">
        Options Indexes FollowSymlinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    #
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the realname directory are treated as applications and
    # run by the server when requested rather than as documents sent to the client.
    # The same rules about trailing "/" apply to ScriptAlias directives as to
    # Alias.
    #
    ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"

    #
    # "/usr/local/www/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "/usr/local/www/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

</IfModule>
# End of aliases.

#
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect old-URI new-URL
#

#
# Directives controlling the display of server-generated directory listings.
#
<IfModule mod_autoindex.c>

    #
    # FancyIndexing is whether you want fancy directory indexing or standard
    #
    IndexOptions FancyIndexing

    #
    # AddIcon* directives tell the server which icon to show for different
    # files or filename extensions.  These are only displayed for
    # FancyIndexed directories.
    #
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*

    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core

    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^

    #
    # DefaultIcon is which icon to show for files which do not have an icon
    # explicitly set.
    #
    DefaultIcon /icons/unknown.gif

    #
    # AddDescription allows you to place a short description after a file in
    # server-generated indexes.  These are only displayed for FancyIndexed
    # directories.
    # Format: AddDescription "description" filename
    #
    #AddDescription "GZIP compressed document" .gz
    #AddDescription "tar archive" .tar
    #AddDescription "GZIP compressed tar archive" .tgz

    #
    # ReadmeName is the name of the README file the server will look for by
    # default, and append to directory listings.
    #
    # HeaderName is the name of a file which should be prepended to
    # directory indexes.
    #
    ReadmeName README.html
    HeaderName HEADER.html

    #
    # IndexIgnore is a set of filenames which directory indexing should ignore
    # and not include in the listing.  Shell-style wildcarding is permitted.
    #
    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>
# End of indexing directives.

#
# Document types.
#
<IfModule mod_mime.c>

    #
    # AddLanguage allows you to specify the language of a document. You can
    # then use content negotiation to give a browser a file in a language
    # it can understand.  
    #
    # Note 1: The suffix does not have to be the same as the language
    # keyword --- those with documents in Polish (whose net-standard
    # language code is pl) may wish to use "AddLanguage pl .po" to
    # avoid the ambiguity with the common suffix for perl scripts.
    #
    # Note 2: The example entries below illustrate that in quite
    # some cases the two character 'Language' abbreviation is not
    # identical to the two character 'Country' code for its country,
    # E.g. 'Danmark/dk' versus 'Danish/da'.
    #
    # Note 3: In the case of 'ltz' we violate the RFC by using a three char
    # specifier. But there is 'work in progress' to fix this and get
    # the reference data for rfc1766 cleaned up.
    #
    # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
    # French (fr) - German (de) - Greek-Modern (el)
    # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
    # Portugese (pt) - Luxembourgeois* (ltz)
    # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs)
    # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
    # Russian (ru)
    #
    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .ee
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage he .he
    AddCharset ISO-8859-8 .iso8859-8
    AddLanguage it .it
    AddLanguage ja .ja
    AddCharset ISO-2022-JP .jis
    AddLanguage kr .kr
    AddCharset ISO-2022-KR .iso-kr
    AddLanguage nn .nn
    AddLanguage no .no
    AddLanguage pl .po
    AddCharset ISO-8859-2 .iso-pl
    AddLanguage pt .pt
    AddLanguage pt-br .pt-br
    AddLanguage ltz .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .sv
    AddLanguage cs .cz .cs
    AddLanguage ru .ru
    AddLanguage zh-TW .zh-tw
    AddCharset Big5         .Big5    .big5
    AddCharset WINDOWS-1251 .cp-1251
    AddCharset CP866        .cp866
    AddCharset ISO-8859-5   .iso-ru
    AddCharset KOI8-R       .koi8-r
    AddCharset UCS-2        .ucs2
    AddCharset UCS-4        .ucs4
    AddCharset UTF-8        .utf8

    # LanguagePriority allows you to give precedence to some languages
    # in case of a tie during content negotiation.
    #
    # Just list the languages in decreasing order of preference. We have
    # more or less alphabetized them here. You probably want to change this.
    #
    <IfModule mod_negotiation.c>
        LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
    </IfModule>

    <IfModule mod_php3.c>
    AddType application/x-httpd-php3 .php3
    AddType application/x-httpd-php3-source .php3s
    </IfModule>
    <IfModule mod_php4.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    </IfModule>

    #
    # AddType allows you to tweak mime.types without actually editing it, or to
    # make certain files to be certain types.
    #
    AddType application/x-tar .tgz

    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    # Despite the name similarity, the following Add* directives have nothing
    # to do with the FancyIndexing customization directives above.
    #
    AddEncoding x-compress .Z
    AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    #AddType application/x-compress .Z
    #AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers",
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action command (see below)
    #
    # If you want to use server side includes, or CGI outside
    # ScriptAliased directories, uncomment the following lines.
    #
    # To use CGI scripts:
    #
    #AddHandler cgi-script .cgi

    #
    # To use server-parsed HTML files
    #
    #AddType text/html .shtml
    #AddHandler server-parsed .shtml

    #
    # Uncomment the following line to enable Apache's send-asis HTTP file
    # feature
    #
    #AddHandler send-as-is asis

    #
    # If you wish to use server-parsed imagemap files, use
    #
    #AddHandler imap-file map

    #
    # To enable type maps, you might want to use
    #
    #AddHandler type-map var

</IfModule>
# End of document types.

#
# Action lets you define media types that will execute a script whenever
# a matching file is called. This eliminates the need for repeated URL
# pathnames for oft-used CGI file processors.
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location
#

#
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
#
#MetaDir .web

#
# MetaSuffix: specifies the file name suffix for the file containing the
# meta information.
#
#MetaSuffix .meta

#
# Customizable error response (Apache style)
#  these come in three flavors
#
#    1) plain text
#ErrorDocument 500 "The server made a boo boo.
#  n.b.  the single leading (") marks it as text, it does not get output
#
#    2) local redirects
#ErrorDocument 404 /missing.html
#  to redirect to local URL /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
#  N.B.: You can redirect to a script or a document using server-side-includes.
#
#    3) external redirects
#ErrorDocument 402 http://www.example.com/subscription_info.html
#  N.B.: Many of the environment variables associated with the original
#  request will *not* be available to such a script.

#
# Customize behaviour based on the browser
#
<IfModule mod_setenvif.c>

    #
    # The following directives modify normal HTTP response behavior.
    # The first directive disables keepalive for Netscape 2.x and browsers that
    # spoof it. There are known problems with these browser implementations.
    # The second directive is for Microsoft Internet Explorer 4.0b2
    # which has a broken HTTP/1.1 implementation and does not properly
    # support keepalive when it is used on 301 or 302 (redirect) responses.
    #
    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

    #
    # The following directive disables HTTP/1.1 responses to browsers which
    # are in violation of the HTTP/1.0 spec by not being able to grok a
    # basic 1.1 response.
    #
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>
# End of browser customization directives

#
# Allow server status reports, with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

#
# Allow remote server configuration reports, with the URL of
# http://servername/server-info (requires that mod_info.c be loaded).
# Change the ".example.com" to match your domain to enable.
#
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

#
# There have been reports of people trying to abuse an old bug from pre-1.1
# days.  This bug involved a CGI script distributed as a part of Apache.
# By uncommenting these lines you can redirect these attacks to a logging
# script on phf.apache.org.  Or, you can record them yourself, using the script
# support/phf_abuse_log.cgi.
#
#<Location /cgi-bin/phf*>
#    Deny from all
#    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>

### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at <URL:http://www.apache.org/docs/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

<VirtualHost *:80>
ServerName proxy.mydomain.ru
DocumentRoot /usr/local/www/data/proxy
ErrorLog /var/log/httpd/proxy-error.log
CustomLog /var/log/httpd/proxy-custom.log combined
</VirtualHost>

<VirtualHost *:80>
ServerName ok.mydomain.ru
DocumentRoot /usr/local/www/data/ok
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /usr/local/www/phpBB3
ServerName forum.mydomain.ru
ServerAlias www.forum.mydomain.ru
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php /cgi-bin/php-cgi
DirectoryIndex index.php index.php3 index.html
ErrorLog /var/log/httpd/forum-hl-error.log
CustomLog /var/log/httpd/forum-hl-custom.log combined
AccessFileName .htaccess
<Files ~ ^.ht>
Order allow,deny
Deny from all
</Files>
</VirtualHost>

<VirtualHost *:80>
ServerName phpmy.mydomain.ru
DocumentRoot /usr/local/www/phpMyAdmin
</VirtualHost>

Вот тот тот же httpd -V:

router# httpd -V
Server version: Apache/1.3.39 (Unix)
Server built:   Sep 24 2008 10:47:43
Server's Module Magic Number: 19990320:18
Server compiled with....
-D HAVE_MMAP
-D USE_MMAP_SCOREBOARD
-D USE_MMAP_FILES
-D HAVE_FLOCK_SERIALIZED_ACCEPT
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D DYNAMIC_MODULE_LIMIT=64
-D HARD_SERVER_LIMIT=512
-D SO_ACCEPTFILTER
-D ACCEPT_FILTER_NAME="httpready"
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/sbin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard"
-D DEFAULT_LOCKFILE="/var/run/httpd.lock"
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log"
-D TYPES_CONFIG_FILE="etc/apache/mime.types"
-D SERVER_CONFIG_FILE="etc/apache/httpd.conf"
-D ACCESS_CONFIG_FILE="etc/apache/access.conf"
-D RESOURCE_CONFIG_FILE="etc/apache/srm.conf"

В чем может быть разница? Куда копнуть?