Apache

Win XP SP2 + apache 2.2.3

,

Как заставить работать?

Дата публикации:

middleman, 19.11.2006 - 17:02

Установлена Win sp2, Outpost, KAV 6.0.
Хочтел на локалхост поставить апач для отладки сайтов.
Скачал дистрибутив отсюда
apache.net.ua/httpd/binaries/win32/apache_2.2.3-win32-x86-no_ssl.msi (зеркало с офсайта)
Все установил, настроил на localhost:80
попробовал запустить... получил 90% загрузку проца апачем и вывадивание в лог ошибок кучи сообщений
[warn](OS87)Параметр задан неверно. : winnt_accept: Asynchronous AcceptEx failed.
Нарыл в инете, что от этого можно избавиться добавленем в конфиг строки Win32DisableAcceptEx.
Добавил. апач стал запускаться с сообщением [notice] Disabled use of AcceptEx() WinSock2 API и загрузка проца пришла в норму.
Пробую зайти на
http://localhost,
http://localhost:80,
http://localhost:8080,
http://127.0.0.1,
http://127.0.0.1:80,
http://127.0.0.1:8080.
результат нулевой. При этом 8080 сразу говорит сервер недоступен (что нормально) а при 80 фаервол показывает исходящее соединение от експлорера и входящее для апача, но дальше дело не идет.
Служба встроеного брандмауэра остановлена, Пробовал закрывать аутпост, касперский и другие проги, которые теоритически могли блокировать доступ к сети. Безрезультатно.
Пробовал создавать разрешающие правила как в аутпосте, так и во встроеном бранде... аналогично ноль.
Пробовал устанавливать последний релиз дэнвера.... то-же самое...
Старая версия апача, которая на SP1 работала нормально теперь не работает так-же как и все остальные...
При этом в эксплорере просто идет запрос и его можно закрыть, а опера при попытке входа на локал безнадежно виснет и закрывается только после остановки сервера, отобразив страницу ошибки.

CODE

httpd.conf
------
ServerRoot "C:/webserver/apache"
Listen 127.0.0.1:80
Win32DisableAcceptEx
ServerAdmin  [email protected]
ServerName localhost
DocumentRoot "C:/webserver/apache/htdocs"
ErrorLog logs/error.log
LogLevel warn
DefaultType text/plain


CODE

error.log (последний запуск)
--------
[Sun Nov 19 15:27:39 2006] [notice] Apache/2.2.3 (Win32) configured -- resuming normal operations
[Sun Nov 19 15:27:39 2006] [notice] Server built: Jul 27 2006 16:49:49
[Sun Nov 19 15:27:39 2006] [notice] Parent: Created child process 2740
[Sun Nov 19 15:27:40 2006] [notice] Disabled use of AcceptEx() WinSock2 API
[Sun Nov 19 15:27:40 2006] [notice] Child 2740: Child process is running
[Sun Nov 19 15:27:40 2006] [notice] Child 2740: Acquired the start mutex.
[Sun Nov 19 15:27:40 2006] [notice] Child 2740: Starting 64 worker threads.
[Sun Nov 19 15:27:40 2006] [notice] Child 2740: Listening on port 80.
[Sun Nov 19 15:27:48 2006] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Sun Nov 19 15:27:48 2006] [notice] Child 2740: Exit event signaled. Child process is ending.
[Sun Nov 19 15:27:49 2006] [notice] Child 2740: Released the start mutex
[Sun Nov 19 15:27:49 2006] [notice] Child 2740: Waiting for 64 worker threads to exit.
[Sun Nov 19 15:27:49 2006] [notice] Child 2740: All worker threads have exited.
[Sun Nov 19 15:27:49 2006] [notice] Child 2740: Child process is exiting
[Sun Nov 19 15:27:49 2006] [notice] Parent: Child process exited successfully.


Есть подозрение что косяк явно связан не с сервером, а с самой виндой и ее сервиспаками.
Если кто-то знает как решить проблему - поделитесь опытом.
Единственная просьба... другие серверы не предлагать. Нужен именно апач и на то есть свои причины.

de1ay, 19.11.2006 - 17:12

QUOTE
[Sun Nov 19 15:27:40 2006] [notice] Child 2740: Listening on port 80.

[Sun Nov 19 15:27:48 2006] [notice] Parent: Received shutdown signal -- Shutting down the server.

После прослушивания 80 порта, серв получает команду уходить в оф.. Попоробуй изменить порт, на котором апач крутится, на крайняк смотри конфиги, может что криво поставил...

дымчик, 19.11.2006 - 17:19

Нет, дело похоже именно в неверной настройке сервера, а не в винде...

middleman, 19.11.2006 - 17:42

Команду уходить в оф он получает с клавиатуры как видно по логам через 8 секунд после запуска и начала прослушки порта...
Т.е. запустил, попробовал, что ничего не работает, закрыл.
сам он не закрывается и не вылетает... вроде нормально работает, но страница на локале не открывается.
Пробовал ставить другие номера портов - безрезультатно.
запрос идет, ответа нет.

дымчик, 19.11.2006 - 17:52

В httpd.conf есть настройка директории с документами?
CODE

<Directory "C:/webserver/apache/htdocs/">
  SymLinksifOwnerMatch ExecCGI MultiViews
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

middleman, 19.11.2006 - 18:05

Теперь есть.
Взял конфиг с рабочего сервера из-под win2000.
Добавил в него Win32DisableAcceptEx и переправил пути на свои.
Результат все так-же нулевой.
Теперь конфиг выглядит так:
CODE

ThreadsPerChild 250
MaxRequestsPerChild  0

ServerRoot "C:/webserver/apache"

Listen 127.0.0.1:80

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so

Win32DisableAcceptEx

ServerAdmin  [email protected]

ServerName localhost

DocumentRoot "C:/webserver/apache/htdocs"

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
   Satisfy all
</Directory>

<Directory "C:/webserver/apache/htdocs">
   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
</FilesMatch>

ErrorLog logs/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 logs/access.log common

</IfModule>

<IfModule alias_module>

   ScriptAlias /cgi-bin/ "C:/webserver/apache/cgi-bin/"

</IfModule>

<Directory "C:/webserver/apache/cgi-bin">
   AllowOverride None
   Options None
   Order allow,deny
   Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
   TypesConfig conf/mime.types
   AddType application/x-compress .Z
   AddType application/x-gzip .gz .tgz
</IfModule>

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

дымчик, 19.11.2006 - 18:13

Попробуй в параметре Listen только один порт указать
CODE
Listen 80


И посмотри есть ли у тебя в файле C:\WinDir\System32\drivers\etc\hosts
запись вида
CODE
127.0.0.1  localhost

и в файле C:\WinDir\System32\drivers\etc\networks
запись вида
CODE
loopback   127

middleman, 19.11.2006 - 18:57

Исправил Listen 127.0.0.1:80 на Listen 80

В hosts всего одна запись
127.0.0.1 localhost

В networks аналогично кроме
loopback 127
все закоментировано.

результат нулевой sad.gif.

дымчик, 19.11.2006 - 19:04

Хм... тогда ставь
CODE
LogLevel debug

и error.log в студию smile.gif

middleman, 19.11.2006 - 21:46

CODE

[Sun Nov 19 20:43:20 2006] [notice] Apache/2.2.3 (Win32) configured -- resuming normal operations
[Sun Nov 19 20:43:20 2006] [notice] Server built: Jul 27 2006 16:49:49
[Sun Nov 19 20:43:20 2006] [notice] Parent: Created child process 3160
[Sun Nov 19 20:43:20 2006] [debug] mpm_winnt.c(481): Parent: Sent the scoreboard to the child
[Sun Nov 19 20:43:21 2006] [notice] Disabled use of AcceptEx() WinSock2 API
[Sun Nov 19 20:43:21 2006] [notice] Child 3160: Child process is running
[Sun Nov 19 20:43:21 2006] [info] Parent: Duplicating socket 168 and sending it to child process 3160
[Sun Nov 19 20:43:21 2006] [debug] mpm_winnt.c(402): Child 3160: Retrieved our scoreboard from the parent.
[Sun Nov 19 20:43:21 2006] [debug] mpm_winnt.c(599): Parent: Sent 1 listeners to child 3160
[Sun Nov 19 20:43:21 2006] [debug] mpm_winnt.c(558): Child 3160: retrieved 1 listeners from parent
[Sun Nov 19 20:43:21 2006] [notice] Child 3160: Acquired the start mutex.
[Sun Nov 19 20:43:21 2006] [notice] Child 3160: Starting 250 worker threads.
[Sun Nov 19 20:43:21 2006] [notice] Child 3160: Listening on port 80.

//Здесь я пробовал зайти на локал... никаких следов это не оставило//

[Sun Nov 19 20:44:19 2006] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Sun Nov 19 20:44:19 2006] [notice] Child 3160: Exit event signaled. Child process is ending.
[Sun Nov 19 20:44:20 2006] [notice] Child 3160: Released the start mutex
[Sun Nov 19 20:44:20 2006] [notice] Child 3160: Waiting for 250 worker threads to exit.
[Sun Nov 19 20:44:20 2006] [notice] Child 3160: All worker threads have exited.
[Sun Nov 19 20:44:20 2006] [notice] Child 3160: Child process is exiting
[Sun Nov 19 20:44:20 2006] [notice] Parent: Child process exited successfully.
[Sun Nov 19 20:44:20 2006] [info] removed PID file C:/webserver/apache/logs/httpd.pid (pid=2800)

yah, 19.11.2006 - 21:59

Мда... А если попробовать перейти с Апача 2.2.3 на 2.0.*?

middleman, 19.11.2006 - 22:26

Бесполезно. даже с 1.х та-же история.

А вот теперь самое интересное....
я тут установил на виртуальную машину свою старую XP SP1, потом скопировал на ее диск С: папку webserver, закоментировал строку Win32DisableAcceptEx.
Запустил апач и стал ждать стопроцентной загрузки проца...
через несколько секунд понял что ее не будет...
потом открыл в експлорере локал и увидел соответствующую страницу....
Делаем вывод... сервак настроен правильно и работает нормально.... надо искать косяк в винде или брандмауэрах и сетевых службах разных, которых в SP2 на порядок больше чем в первом паке.
Да вот только где именно искать?

дымчик, 20.11.2006 - 1:14

Хм... ну это вообще странно...
Так, а на пинги localhost отвечает?

middleman, 20.11.2006 - 1:54

CODE

C:\>ping 127.0.0.1

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128

Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек

Вроде все так и должно выглядеть....

middleman, 20.11.2006 - 23:55

Проблему решил.
Может быть несколько радикально, но другого выхода на сколько я понял нет вообще.
Я снес SP2 И поставил обратно SP1, а на него огромную кучу разных заплаток. Теперь получился по защите PreSP3, а по работоспособности SP1. Сервер работает нормально.

Спасибо всем, кто пытался хоть чем-то помочь.

Тему можно закрыть.

scorpion-ds, 21.11.2006 - 11:30

У меня на работе стоит Apache 2.2.3 под Windows XP SP 2 и описанных тобою проблем не возникало, но похожее случалось раньше (не помню какая винда была и Apache) когда была установлена и запущена служба IIS. она тоже обычно висит на 80 порту и потому мешает запуску Apache посмотри. Посмотри в службах, запущена ли она, если запущена, то выключи ее, а лучше вообще удали ее.

middleman, 21.11.2006 - 14:08

Служба IIS была отключена и запрещена к запуску, апач на 8080 порту ни на 1576 не работал аналогично.
так что тут дело не в этой службе... скорее всего какой-то глюк и Win API имено в моей сборке SP2.

Kusucha, 6.04.2008 - 21:17

Поставил бы DENWER и точка.


версия для печати -> Полная версия

SoftoRooM © 2004-2024