Domanda

Voglio usare Apache integrato di Apple o RedHat ma voglio usare Perl 5.10 e mod_perl.Qual è il modo meno invasivo per ottenere questo risultato?Desidero il vantaggio delle patch di sicurezza gratuite per Apache, dav, php, ecc. del fornitore, ma mi interessa molto quale versione di Perl utilizzo e cosa c'è nel mio percorso @INC.Non mi dispiace compilare il mio mod_perl.

È stato utile?

Soluzione

  1. Costruisci la tua versione di Perl 5.10 seguendo eventuali istruzioni speciali dalla documentazione mod_perl.Di' al configuratore Perl di installarsi in una posizione non standard, come /usr/local/perl/5.10.0

  2. Usa le istruzioni per creare una libreria condivisa (o dinamica, o .so) mod_perl contro Apache della tua distribuzione, ma assicurati di eseguire Makefile.PL usando tuo versione di perl:

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

  3. Installa e configura mod_perl come al solito.

Potrebbe essere utile, dopo il primo passaggio, modificare il percorso in modo da non confondersi accidentalmente su quale versione di Perl si sta utilizzando:

export PATH=/usr/local/perl/5.10.0/bin:$PATH

Altri suggerimenti

Ti consigliamo di esaminare mod_so

L'ho già fatto prima.Non era carino, ma ha funzionato, soprattutto perché i perl dei venditori hanno solitamente 2-3 anni.

Ho iniziato creando il mio RPM Perl che installava Perl in una posizione diversa, ad esempio /opt/.Questo è stato piuttosto semplice.Ho iniziato principalmente con questo perché non volevo che le utilità di sistema che utilizzavano Perl si interrompessero quando aggiornavo/installavo nuovi moduli.Ho dovuto modificare tutti i miei script per specificare #!/opt/bin/perl in alto e talvolta ho anche giocato con il percorso per assicurarmi che il mio perl venisse prima.

Successivamente, ho preso un RPM sorgente mod_perl e l'ho modificato per utilizzare my /opt/bin/perl invece di /usr/bin/perl.Non ho accesso alle modifiche che ho apportato, poiché era in un concerto diverso.Mi ci è voluto un po' di tempo per ottenerlo.

Ha funzionato, ma non sono un mago RPM, quindi il controllo delle dipendenze non ha funzionato così bene.Ad esempio, potrei disinstallare il mio RPM personalizzato e rompere tutto.Non è stato un grosso problema per me, quindi sono andato avanti.

Stavo anche mescolando RPM con installazioni CPAN di moduli (ho già detto che abbiamo creato il nostro mirror CPAN personalizzato con il nostro codice?).Anche questo era un po' fragile.Ancora una volta, non avevo le risorse (cioè il tempo) per capire come piegarmi cpan2rpm per usare il mio Perl e non causare conflitti RPM.

Se dovessi rifare tutto, creerei un RPM perl 5.10 personalizzato e sostituirei semplicemente il perl di sistema.Allora userei cpan2rpm per creare i pacchetti RPM di cui avevo bisogno per il mio software e compilare il mio RPM mod_perl.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top