كيف يمكنني استخدام بائع Apache مع لغة Perl وmod_perl ذاتية التجميع؟

StackOverflow https://stackoverflow.com/questions/79493

  •  09-06-2019
  •  | 
  •  

سؤال

أرغب في استخدام Apache المدمج في Apple أو RedHat ولكني أريد استخدام Perl 5.10 وmod_perl.ما هي الطريقة الأقل تدخلاً لتحقيق ذلك؟أريد ميزة التصحيح الأمني ​​المجاني لـ Apache، وdav، وphp، وما إلى ذلك، ولكنني أهتم كثيرًا بإصدار Perl الذي أستخدمه وما هو موجود في مسار @INC الخاص بي.لا أمانع في تجميع mod_perl الخاص بي.

هل كانت مفيدة؟

المحلول

  1. أنشئ إصدارك من Perl 5.10 باتباع أي تعليمات خاصة من وثائق mod_perl.أخبر مكون Perl بالتثبيت في مكان غير قياسي، مثل /usr/local/Perl/5.10.0

  2. استخدم الإرشادات لإنشاء مكتبة مشتركة (أو ديناميكية، أو .so) mod_perl مقابل Apache الخاص بالتوزيع، ولكن تأكد من تشغيل Makefile.PL باستخدام لك نسخة بيرل:

    /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

نصائح أخرى

سوف ترغب في النظر في mod_so

لقد فعلت هذا من قبل.لم يكن الأمر جميلًا، لكنه نجح، خاصة وأن عمر بائع Perl عادة ما يكون من 2 إلى 3 سنوات.

لقد بدأت بإنشاء Perl RPM الخاص بي والذي قام بتثبيت Perl في موقع مختلف، مثل /opt/.كان هذا جميلًا ومباشرًا.لقد بدأت بهذا في الغالب لأنني لم أرغب في تعطل أدوات النظام المساعدة التي تستخدم لغة Perl عند ترقية/تثبيت وحدات جديدة.اضطررت إلى تعديل جميع البرامج النصية الخاصة بي لتحديدها #!/opt/bin/perl في الأعلى وأحيانًا كنت أتلاعب بالمسار للتأكد من أن لغة Perl الخاصة بي تأتي أولاً.

بعد ذلك، حصلت على مصدر mod_Perl RPM وقمت بتعديله لاستخدام ملفي /opt/bin/perl بدلاً من /usr/bin/perl.لا أستطيع الوصول إلى التغييرات التي أجريتها، لأنها كانت في حفلة مختلفة.استغرق الأمر مني بعض اللعب للحصول عليه.

لقد نجح الأمر، لكنني لست معالج RPM، لذا لم يعمل التحقق من التبعية بشكل جيد.على سبيل المثال، يمكنني إلغاء تثبيت RPM المخصص الخاص بي وتعطيل كل شيء.لم يكن الأمر بالأمر الكبير بالنسبة لي، لذلك انتقلت.

كنت أقوم أيضًا بخلط RPM مع عمليات تثبيت CPAN للوحدات النمطية (هل ذكرت أننا قمنا ببناء مرآة CPAN المخصصة الخاصة بنا باستخدام الكود الخاص بنا؟).كان هذا هشًا بعض الشيء أيضًا.مرة أخرى، لم يكن لدي الموارد (أي الوقت) لمعرفة كيفية الانحناء cpan2rpm لاستخدام Perl الخاص بي وعدم التسبب في تعارضات RPM.

إذا كان علي أن أفعل كل شيء مرة أخرى، فسأقوم بإنشاء معدل 5.10 Perl RPM مخصص واستبدل نظام Perl فقط.ثم أود أن تستخدم cpan2rpm لإنشاء حزم RPM التي أحتاجها لبرنامجي وتجميع mod_perl RPM الخاص بي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top