вторник, 22 февраля 2011 г.

Проблема с запуском apache2 на solaris 10

После установки apache2 на solaris 10, если использовать стандартную конфигурацию появляется критическая ошибка:
[Tue Feb 22 10:41:56 2011] [alert] (22)Invalid argument: setgid: unable to set group i
d to Group 4294967295

Если внимательно почитать комментарии в конфигурационном файле можно найти и причину этого
# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
# when the value of (unsigned)Group is above 60000;
# don't use Group #-1 on these systems!

Что в буквальном переводе означает
Некоторые типы ядер операционных систем не поддерживают системные вызовы setgid(Group) или semctl(IPC_SET) в случае, если значение параметра Group более 60000. Не используйте директиву Group #-1 на этих ОС

Таким образом причина ошибки связана с несовместимостью системного вызова на solaris.

Для исправление этой ошибки необходимо вручную создать группу/пользователя под которым будет выполняться apache2.

Например так:
useradd -s /bin/true apache2user
groupadd apache2group
usermod -g apache2group apache2user

Теперь соответственно изменяем директивы в httpd.conf на
User apache2user
Group apache2group

Одно замечание - необходимо поменять хозяени папок apache2 на нашего пользователя apache2user:

chown -R $PATH_TO_APACHE apache2user
chgrp -R $PATH_TO_APACHE apache2group

Комментариев нет: