Назад | Перейти на главную страницу

После установки MapServer 6.2.0 происходит сбой Apache без уведомления.

ЭТОТ ВОПРОС ДОЛЖЕН БЫТЬ ЗАКРЫТ.

Я недавно собрал MapServer 6.2 на машине CentOS 6.3, используя

./configure --with-ogr=/usr/bin/gdal-config --with-gdal=/usr/bin/gdal-config --with-proj=/usr --with-geos=/usr/bin/geos-config --with-postgis=/usr/bin/pg_config --with-php=/usr/include/php --with-wfs --with-wfsclient --with-wmsclient --enable-debug --with-threads --with-wcs --with-sos --with-gd --with-freetype=/usr/bin --with-jpeg --with-cairo --with-curl

во всяком случае, если это интересно.

Таким образом, после этого Apache / 2.2.15 молча не перезапускается, т.е. когда apachectl graceful, он говорит: «httpd не запущен, пытается запуститься». Там есть ничего интересующих вас в Apache errors_log, /var/log/messages, и это странно, потому что до сих пор это всегда работало.

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

[root@R12X0210 cgi-bin]# service httpd status
httpd is stopped
[root@R12X0210 cgi-bin]# ps aux|grep httpd
root      1846  0.0  0.0 103236   864 pts/0    S+   12:11   0:00 grep httpd

Я подозреваю, что это может иметь какое-то отношение к модулю php, который был изменен / добавлен MapServer, но я действительно не знаю ... Я даже не знаю, как правильно отладить это.

РЕДАКТИРОВАТЬ: Хорошо, /var/log/httpd/error_log не обязательно пуст, он скорее показывает эти две вещи после выполнения /sbin/service/httpd start

[Wed Dec 19 17:33:24 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Dec 19 17:33:24 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)

Приводит ли ошибка SSL к остановке механизма запуска? Дело в том, что у нас работает неподписанный сертификат, т.е. мы тестируем доступ по протоколу https, но еще не в рабочем режиме. Абсолютно ничего был изменен в конфигурации SSL Apache до того, как он перестал работать.

РЕДАКТИРОВАТЬ2: А пока я переустановил httpd с yum reinstall httpdэто сделал не решить проблему тоже.

Если PostgreSQL работает на том же компьютере, убедитесь, что он прослушивает 0.0.0.0 или на 127.0.0.1, или на :: в порту 5432. Чтобы проверить это, следующая команда должна что-то вернуть:

sudo netstat -tlnp|egrep ':5432'

Если у вас PostgreSQL работает на другом компьютере, убедитесь, что файл hosts настроен правильно и правильный хост используется в конфигурации PostgreSQL вашего приложения PHP.