Ungayenza kanjani i-PCRE2 ukwesekwa kwe-Apache 2.4

Ngingathanda ukwabelana ngolwazi lwami lokuhumusha i-Apache 2.4 kuya ku-PCRE2, njengoba ngisho ne-PHP 7 iye yasekela umtapo wezincwadi we-PCRE2 isikhathi eside, kodwa umthombo ovulekile we-Apache Software Foundation namanje awusekeli.
Vele, manje cishe ngingaphambi kokukhululwa kwe-Apache ngokusekelwa kwe-PCRE2, njengoba ngisebenzisa imithombo evela ku-Apache git, esitshela ukuthi ukusekelwa kwe-PCRE2 sekuvele kungenzeka ekukhululweni okulandelayo, kodwa kulabo abafuna ukusekelwa kwe-PCRE2 I-Apache 2.4, futhi abangafuni ukulinda ukukhululwa ngihlanganyela enye yezindlela.

I-athikili ithatha ukuthi uqoqa yonke isoftware edingekayo kusuka kukhodi yomthombo, uhlu lwesoftware nezinguqulo ngesikhathi sokubhala:

PCRE2-10.33
Ephreli 1.7.0
I-APR-ukusetshenziswa 1.6.1
I-Apache httpd 2.4.41

Isinyathelo sokuqala: yakha futhi uhlanganise i-PCRE2

Ake seqe isikhathi sokulanda imithombo emithonjeni esemthethweni njengoba lokhu kusobala kakhulu, ngakho-ke usukhiphe ingobo yomlando, uye kufolda enemithombo ye-PCRE2, bese uqhuba umyalo olandelayo ukuze usekele i-UTF:

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

Cacisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile ukufaka umtapo wolwazi:

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

Uma kungenjalo, uqoqa ngaphandle kwesiqalo.

Imiyalo esele ikhombisa ukufakwa kwezisekelo zamabhulokhi ekhodi engu-8-bit, 16-bit kanye ne-32-bit PCRE, kule nguqulo umhlangano wenziwa ngawo.

Futhi-ke, sihlanganisa le nto sisebenzisa ukulandelana kokulandelana kwemiyalo:

make
make install

Uma konke kuhamba kahle futhi ukuhlanganiswa kuhambe ngaphandle kwamaphutha, dlulela esinyathelweni esilandelayo.

Isinyathelo sesibili: xhuma umtapo wezincwadi we-PCRE2 ku-APR

Njengoba i-Apache ihlanganisa imithombo isebenzisa i-APR, sidinga ukufaka umtapo wezincwadi ku-APR ngokwayo, ngaphandle kwalokho kungase kube namaphutha mayelana nemisebenzi engaziwa emithonjeni ye-Apache, ngoba sizobe sisebenzisa imisebenzi emisha ye-PCRE2.

Masishiye isikhathi sokulanda imithombo emithonjeni esemthethweni njengoba lokhu kubonakala kakhulu, ngakho-ke ukhiphe ingobo yomlando futhi wenza ukucushwa kwe-APR:

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

Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:

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

Ngemva kokuqeda ukucushwa, iya kunkomba: /etc/webserver/srcsrv/apr-1.7.0/build

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

Thola ifayela elithi apr_rules.mk kulolu hlu lwemibhalo, bese wengeza imigqa ekugcineni lapho:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Ixhuma ilabhulali:

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

Londoloza futhi uye kumkhombandlela wezimpande wemithombo ye-APR: /yakho/indlela/emtatsheni wezincwadi.

Masihlanganise i-APR yethu eshintshiwe:

make
make install

Uma konke kuhamba kahle futhi ukuhlanganiswa kuhambe ngaphandle kwamaphutha, dlulela esinyathelweni esilandelayo.

Isinyathelo sesithathu: yakha i-APR-util ye-Apache kusuka emithonjeni

Ulande lo mtapo emthonjeni, hamba kufolda yempande yengobo yomlando engapakishiwe nge-APR-util, bese ufaka imiyalo elandelayo ngokulandelana:

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

Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:

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

Futhi sixhuma i-APR yethu lapha:

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

Isinyathelo sesine: landa imithombo evela ku-Apache git ukuze usekele i-PCRE2

Okubalulekile: Silanda imithombo kusukela kunguqulo yakamuva ye-git.

Sidinga ukulanda imithombo emibili efana ne-ap_regex.h kanye ne-util_pcre.c, izixhumanisi ezingezansi:
ap_regex.h
util_pcre.c

Manje hamba kumkhombandlela wakho womthombo we-Apache httpd futhi wakhe i-Apache ngemiyalo elandelayo:

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

Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:

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

Ungaphinda ucacise imiyalo eyengeziwe yokwakha i-Apache ngokubona kwakho, ngisho imiyalo yokuvula noma ukukhubaza amamojula nemitapo yolwazi.

Okulandelayo siya kumkhombandlela wethu womthombo we-Apache httpd, nginalokhu:

/etc/webserver/srcsrv/httpd-2.4.41

Ngokwemvelo uya kuhla lwemibhalo yakho, buyisela ohlwini lwemibhalo:

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

Ifayela elithi ap_regex.h, esililande ku-Apache git.

Futhi siya kuhla lwemibhalo:

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

Sishintsha ifayela elithi util_pcre.c ngaleli esililande ku-Apache git

Manje okusele nje ukwengeza uxhumano lwe-PCRE2 ku-Apache ngokwayo, udinga ukuthola ifayela ap_config_auto.h, litholakala kuhlu lwemibhalo:

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

Ekuqaleni kwaleli fayela, faka imigqa elandelayo:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Hhayi-ke, manje sesilungele umzuzu wangempela wokuhlanganisa i-Apache httpd ngokusekelwa kwe-PCRE2.
Ake siye kumkhombandlela wethu womthombo we-Apache httpd futhi sihlanganise lokhu ngokukhipha imiyalo ngokulandelana:

make
make install

Manje, uma konke kuhambe kahle futhi ngaphandle kwamaphutha, lapho-ke uzobe usuhlanganise futhi wahlanganisa i-Apache httpd ngokusekelwa kwe-PCRE2, okusho izinguquko ezinhle kumamojula we-Apache asebenzisa izinkulumo ezivamile ze-PCRE, enye yazo i-Module bhala kabusha.

Sengiphetha, le ndlela yenza kube nokwenzeka ukusebenzisa i-PCRE2 ngaphambi kokukhululwa okusemthethweni kwe-Apache Software Foundation, ngithemba ukuthi inguqulo enokusekelwa kwe-PCRE2 izokhishwa maduze.

Futhi, ngesikhathi sokuhlolwa kwe-.htaccess evamile, awekho amaphutha enzeke, uma kukhona amaphutha, bhala kumazwana.

PS

Ngidideke kancane isimo sokusebenzisa izinguqulo ezimbili ezihlukene ze-PCRE kusitaki sami, futhi nganquma ukusilungisa.

Source: www.habr.com

Engeza amazwana