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

Лучшие практики по распространению модулей Apache

Я студент и нахожусь на стажировке. Я разрабатывал модуль Apache, который будет доступен для загрузки и использования клиентами моей компании.

Я закончил модуль сейчас. Теперь я хочу знать, каковы лучшие практики в отношении развертывания модуля.

Должен ли я предоставлять двоичные файлы модуля или исходные файлы? Что я могу предположить о технической компетентности веб-мастеров, которые обычно обслуживают серверы?

Исходные файлы, безусловно. Apache - это сервер с открытым исходным кодом; люди, которые его используют, привыкли иметь доступ к исходному коду сервера и модулям для изучения поведения и обнаружения ошибок, и они, вероятно, будут меньше доверять закрытому исходному коду.

Что конкретно вам интересно, что касается технической компетенции? Веб-мастер сервера Apache, вероятно, знаком со стандартным способом установки модулей для своей операционной системы, но, конечно, это зависит от операционной системы. Например, во многих системах Linux (например, Ubuntu, Fedora) программы (такие как Apache и некоторые из его наиболее популярных модулей) устанавливаются из файлов RPM или DEB, которые немного похожи на установщики Windows: они содержат предварительно скомпилированные версии программы. Если вы хотите распространять среди людей, которые используют такие системы, у вас есть возможность создать файл RPM или DEB из вашего модуля, а затем администраторы этих систем могут загрузить ваш файл и установить его (почти) так же, как они установить другие пакеты. Для этого им не нужны были бы заголовки разработки Apache. Если вы не создали файл RPM или DEB (или что-то еще), у людей все равно будет возможность запустить стандартный ./configure; make; make install процесс (или любой другой процесс, который вы используете для компиляции вашего модуля из исходного кода), но тогда им потребуются заголовки для Apache (которые они могли бы установить через свой менеджер пакетов, так же, как они установили сам Apache).

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

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