Ahoana ny fomba hanaovana fanohanana PCRE2 ho an'ny Apache 2.4

Te-hizara ny traikefako amin'ny fandikana ny Apache 2.4 amin'ny PCRE2 aho, satria na ny PHP 7 aza dia efa nanohana ny tranomboky PCRE2 hatry ny ela, fa ny Open Source Apache Software Foundation dia mbola tsy manao izany.
Mazava ho azy fa izao aho dia mety mialoha ny famoahana Apache miaraka amin'ny fanohanana PCRE2, satria mampiasa ny loharano avy amin'ny Apache git aho, izay milaza amintsika fa ny fanohanana PCRE2 dia efa azo atao amin'ny famoahana manaraka, fa ho an'ireo izay efa te hanohana ny PCRE2 amin'ny Apache 2.4, ary izay tsy te hiandry famotsorana dia mizara iray amin'ireo fomba aho.

Ny lahatsoratra dia mihevitra fa manangona ny rindrambaiko ilaina rehetra avy amin'ny kaody loharano, lisitry ny rindrambaiko ary ny dikan-teny ianao amin'ny fotoana anoratana:

PCRE2-10.33
Aprily 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41

Dingana voalohany: manangana sy manangona PCRE2

Aleo tsinontsinoavina ny fotoana hisintonana ireo loharano avy amin'ny loharano ofisialy satria miharihary loatra izany, noho izany dia novahanao ny arisiva, mandehana any amin'ny lahatahiry misy loharano PCRE2, ary araho ity baiko manaraka ity hanohanana ny UTF:

./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode

Ampidiro ao amin'ny prefix ny lalanao raha tsy te hampiasa ny toerana mahazatra hametrahana ny tranomboky ianao:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Raha tsy izany dia manangona tsy misy prefix ianao.

Ny baiko sisa dia manondro ny fampidirana ny fanohanana ho an'ny 8-bit, 16-bit ary 32-bit PCRE code blocks, amin'ity dikan-teny ity dia natao niaraka tamin'izy ireo ny fivoriambe.

Ary mazava ho azy, manangona ity zavatra ity izahay amin'ny alΓ lan'ny fanatanterahana ny baiko manaraka:

make
make install

Raha toa ka tsara daholo ny zava-drehetra ary mandeha tsy misy hadisoana ny fanangonana dia miroso amin'ny dingana manaraka.

Dingana faharoa: mampifandray ny tranomboky PCRE2 amin'ny APR

Koa satria manangona loharano mampiasa APR i Apache, dia mila ampidirintsika ao amin'ny APR mihitsy ny tranomboky, raha tsy izany dia mety hisy hadisoana momba ny fiasa tsy fantatra ao amin'ny loharano Apache, satria hampiasa fiasa PCRE2 vaovao isika.

Andeha hofoanana ny fotoana hisintonana loharano avy amin'ny loharanom-baovao ofisialy satria miharihary loatra izany, noho izany dia novahanao ny arisiva ary nanao ny fanitsiana APR:

./configure --prefix=/etc/webserver/apr-170

Mazava ho azy fa manondro ny lalanao amin'ny prefix ianao raha tsy te hampiasa ny toerana mahazatra amin'ny fametrahana ny tranomboky, na raha tsy mamaritra ianao:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Rehefa vita ny fanitsiana dia mandehana any amin'ny lahatahiry: /etc/webserver/srcsrv/apr-1.7.0/build

Na: /your/path/to the library/build

Tadiavo ny rakitra apr_rules.mk ao amin'ity lahatahiry ity, ary ampio ny tsipika eo amin'ny farany izay:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Mampifandray ny tranomboky:

-lpcre2-8 -L/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pcre2/lib

Tehirizo ary mandehana any amin'ny lahatahiry fototry ny loharano APR: /your/path/to the library.

Andao hanangona ny APR novainay:

make
make install

Raha toa ka tsara daholo ny zava-drehetra ary mandeha tsy misy hadisoana ny fanangonana dia miroso amin'ny dingana manaraka.

Dingana fahatelo: manangana APR-util ho an'i Apache avy amin'ny loharano

Nalainao avy amin'ny loharano ity tranomboky ity, mandehana any amin'ny lahatahiry fakan'ny arisiva tsy voafono miaraka amin'ny APR-util, ary ampidiro manaraka ireto baiko manaraka ireto:

./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr
make
make install

Mazava ho azy fa manondro ny lalanao amin'ny prefix ianao raha tsy te hampiasa ny toerana mahazatra amin'ny fametrahana ny tranomboky, na raha tsy mamaritra ianao:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Ampifandraisinay eto koa ny APR:

--with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr

Dingana efatra: misintona loharano avy amin'ny Apache git hanohanana PCRE2

Zava-dehibe: Misintona ireo loharano avy amin'ny andiany farany amin'ny git izahay.

Mila maka loharano roa toy ny ap_regex.h sy util_pcre.c isika, rohy eto ambany:
ap_regex.h
util_pcre.c

Mankanesa any amin'ny lahatahiry loharano Apache httpd anao ary manangana Apache miaraka amin'ireto baiko manaraka ireto:

./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr --with-apr-util=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr-util --with-pcre=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pcre2/bin/pcre2-config

Mazava ho azy fa manondro ny lalanao amin'ny prefix ianao raha tsy te hampiasa ny toerana mahazatra amin'ny fametrahana ny tranomboky, na raha tsy mamaritra ianao:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Apache httpd

Azonao atao ihany koa ny mamaritra ny baiko fanampiny amin'ny fananganana Apache amin'ny fahamendrehanao, ny tiako holazaina dia ny baiko amin'ny fampandehanana na fanafoanana ny maody sy ny tranomboky.

Avy eo dia mandeha any amin'ny lahatahiry loharano Apache httpd izahay, manana ity aho:

/etc/webserver/srcsrv/httpd-2.4.41

Mandeha ho azy any amin'ny lahatahiry ianao, soloy ao amin'ny lahatahiry:

/etc/webserver/srcsrv/httpd-2.4.41/include

Ny rakitra ap_regex.h, izay alainay avy amin'ny Apache git.

Mandeha any amin'ny lahatahiry ihany koa izahay:

/etc/webserver/srcsrv/httpd-2.4.41/server

Soloinay ilay rakitra util_pcre.c izay nalainay tao amin'ny Apache git

Ny hany sisa tavela dia ny manampy ny PCRE2 connexion ao amin'ny Apache, mila mitady ny rakitra ap_config_auto.h ianao, ao amin'ny lahatahiry:

/etc/webserver/srcsrv/httpd-2.4.41/include

Eo am-piandohan'ity rakitra ity, ampidiro ireto andalana manaraka ireto:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Eny, vonona amin'ny fotoana tena izy amin'ny fanangonana Apache httpd miaraka amin'ny fanohanan'ny PCRE2 izahay.
Andao ho any amin'ny lahatahiry loharano Apache httpd ary manangona izany amin'ny alΓ lan'ny fanatanterahana ny baiko manaraka:

make
make install

Ankehitriny, raha mandeha tsara ny zava-drehetra ary tsy misy hadisoana, dia ho nanangona sy nanangona Apache httpd ianao miaraka amin'ny fanohanana PCRE2, izay midika fa fiovana tsara amin'ny maodely Apache izay mampiasa fitenenana mahazatra PCRE, iray amin'ireo ny Module rewrite.

Ho fehin-kevitra, ity fomba ity dia ahafahana mampiasa PCRE2 alohan'ny famoahana ny Apache Software Foundation, manantena aho fa havoaka tsy ho ela ny dikan-teny misy fanohanana PCRE2.

Ary koa, nandritra ny fitsapana ny .htaccess mahazatra, tsy nisy lesoka, raha misy manana lesoka, soraty ao amin'ny fanehoan-kevitra.

Sal

Somary sahiran-tsaina aho tamin'ny toe-javatra nampiasa dikan-PCRE roa samihafa ho an'ny stack, ary nanapa-kevitra ny hanamboatra izany aho.

Source: www.habr.com

Add a comment