Как использовать поставщика Apache с самоскомпилированным Perl и mod_perl? - PullRequest
5 голосов
/ 17 сентября 2008

Я хочу использовать встроенный в Apache Apple или RedHat, но я хочу использовать Perl 5.10 и mod_perl. Какой наименее навязчивый способ сделать это? Я хочу воспользоваться преимуществами бесплатных патчей безопасности для Apache, dav, php и т. Д., Но меня очень волнует, какую версию Perl я использую и что у меня на пути @INC. Я не против собрать свой собственный mod_perl.

Ответы [ 3 ]

5 голосов
/ 17 сентября 2008
  1. Создайте свою версию Perl 5.10, следуя любым специальным инструкциям из документации mod_perl. Скажите Perl configurator для установки в нестандартном месте, например /usr/local/perl/5.10.0

  2. Используйте инструкции для создания разделяемой библиотеки (или динамической, или .so) mod_perl для Apache вашего дистрибутива, но убедитесь, что вы запускаете Makefile.PL, используя вашу версию perl:

    / usr / local / perl / 5.10.0 / bin / perl Makefile.PL APXS = / usr / bin / apxs

  3. Установите и настройте mod_perl как обычно.

Может быть полезно после первого шага изменить свой путь, чтобы случайно не запутаться в том, какую версию Perl вы используете:

export PATH=/usr/local/perl/5.10.0/bin:$PATH
1 голос
/ 17 сентября 2008

Я делал это раньше. Это было не красиво, но это сработало, тем более что Perl продавцов обычно 2-3 года.

Я начал с создания собственного RPM-пакета perl, который устанавливал perl в другое место, например /opt/. Это было довольно просто. В основном я начал с этого, потому что не хотел, чтобы системные утилиты, использующие perl, ломались при обновлении / установке новых модулей. Мне пришлось изменить все мои скрипты, указав #!/opt/bin/perl вверху, и иногда я даже играл с путем, чтобы убедиться, что мой perl появился первым.

Затем я взял RPM с исходным кодом mod_perl и изменил его, чтобы использовать мой /opt/bin/perl вместо /usr/bin/perl. У меня нет доступа к изменениям, которые я сделал, так как это было на другом концерте. Мне потребовалось немного поиграть, чтобы получить это.

Это сработало, но я не волшебник RPM, поэтому проверка зависимостей не сработала так хорошо. Например, я мог удалить свой пользовательский RPM и сломать все. Для меня это не имело большого значения, поэтому я пошел дальше.

Я также смешивал RPM с установками модулей CPAN (я упоминал, что мы создали наше собственное зеркало CPAN с нашим собственным кодом?). Это было немного хрупким тоже. Опять же, у меня не было ресурсов (то есть времени), чтобы выяснить, как согнуть cpan2rpm , чтобы использовать мой perl и не вызывать конфликты RPM.

Если бы у меня было все это снова, я бы сделал пользовательский RPM на 5,10 об / мин и просто заменил системный perl. Затем я использовал бы cpan2rpm для создания RPM-пакетов, необходимых для моего программного обеспечения, и скомпилировал свой собственный mod_perl RPM.

1 голос
/ 17 сентября 2008

Вы захотите взглянуть на mod_so

...