Система управления задачами IPI.MANAGER™ PRO
Служба поддержки Вопрос-ответ Документация О разработчиках

Настройка Lighttpd для работы с IPI.Manager PRO

Веб-сервер

Для взаимодействия с HTTP-сервером IPI.Manager использует протокол FastCGI. Поддержка FastCGI в lighttpd встроена внутрь, если только специально не отключена при компиляции.

Пример конфигурации LigHTTPd:

server.modules += ("mod_fastcgi")

$HTTP["host"] == "example.com" {
    var.base_dir = "MY_PROFILE"

    server.document-root = var.base_dir + "/share/htdocs"
    $HTTP["url"] !~ "/(media|uploads)" {
        fastcgi.server = (
            "/" => (
                (
                    "bin-path" => var.base_dir + "/libexec/ipimanager.fcgi",
                    "socket" => var.base_dir + "/libexec/ipimanager.fcgi.sock",
                    "max-procs" => 1,
                    "check-local" => "disable"
                )
            )
        )
    }
}

Здесь MY_PROFILE — полный путь к каталогу с профилем IPI.Manager, созданному с помощью ipi-admin init, например, /home/webmaster/ipi_profile.

Если в профиле отсутствует каталог libexec, необходимо обновить профиль, выполнив команду ipi-admin upgrade.

Если посмотреть в содержимое файла ipimanager.fcgi, то будет видно что он просто запускает команду ipi-admin с параметром runfcgi. Ещё дополнительно поддерживаются следующие параметры к команде runfcgi:

  • --library=LIBRARY
    • библиотека fastcgi которую использовать для общения с сервером по протоколу fastcgi. Вариантов два - fcgi и flup. Fcgi - это написанная нами на Си очень быстрая, flup - вариант проще, реализованный на языке python (и несколько медленнее). Тем не менее flup более стандартизирована, поэтому для экспериментов с другими серверами лучше временно переключать на неё, отредактировав файл ipimanager.fcgi (например, ipi-admin runfcgi --library=flup).
    --threads=THREADS
    • кол-во потоков для ожидания соединений. По умолчанию 16, советуем не трогать =)
    --forks=FORKS
    • вместо потоков порождать отдельные процессы. По умолчанию 0, так же советуем не трогать.
    --help
    • показать этот хелп на англ языке.

Установка прав доступа к файлам

Все файлы профиля IPI.Manager должны быть доступны для чтения пользователю, от имени которого запущен веб-сервер (в зависимости от ОС и дистрибутива это может быть apache, www, www-data и т. п.). Подкаталог share/htdocs/uploads должен быть доступен веб-серверу для записи. Права доступа на него можно установить, например, так:

chown -R www:www share/htdocs/uploads/
chmod -R u+w share/htdocs/uploads/

Дополнительно сервер должен иметь возможность создать сокет в папке PROFILE_DIR/libexec (ipimanager.fcgi.sock, впрочем, в настройке конфига lighttpd можно сокет расположить и в другом месте). Другими словами, для конфигурации в примере выше каталог PROFILE_DIR/libexec должен иметь права 0775 и пользователь lighttpd должен быть в той же группе что и группа каталога libexec.

Конфиденциальность Правовые ограничения Лицензия Контактная информация © 1998-2012 Компания IPI    Компания IPI_Tech