Momwe mungapangire chithandizo cha PCRE2 cha Apache 2.4

Ndikufuna kugawana zomwe ndakumana nazo pakumasulira Apache 2.4 ku PCRE2, popeza ngakhale PHP 7 yathandizira laibulale ya PCRE2 kwa nthawi yayitali, koma gwero lotseguka la Apache Software Foundation silitero.
Zachidziwikire, tsopano ndili patsogolo pa kumasulidwa kwa Apache ndi chithandizo cha PCRE2, popeza ndikugwiritsa ntchito magwero a Apache git, omwe amatiuza kuti chithandizo cha PCRE2 ndi chotheka kale pakumasulidwa kotsatira, koma kwa iwo omwe akufuna kale thandizo la PCRE2. Apache 2.4, ndipo omwe safuna kudikirira kumasulidwa ndimagawana njira imodzi.

Nkhaniyi ikuganiza kuti mukusonkhanitsa mapulogalamu onse ofunikira kuchokera ku code code, mndandanda wa mapulogalamu ndi mitundu panthawi yolemba:

PCRE2-10.33
APR 1.7.0
APR-ntchito 1.6.1
Apache httpd 2.4.41

Khwerero 2: Pangani ndikuphatikiza PCREXNUMX

Tiyeni tisiye mphindi yotsitsa magwero kuchokera kumagwero ovomerezeka chifukwa izi ndizodziwikiratu, ndiye kuti mwatulutsa zakale, pitani kufoda ndi magwero a PCRE2, ndikuyendetsa lamulo ili kuti muthandizire UTF:

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

Tchulani njira yanu pachithunzichi ngati simukufuna kugwiritsa ntchito malo okhazikika kuti muyike laibulale:

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

Apo ayi, mumasonkhanitsa popanda prefix.

Malamulo otsalawo akuwonetsa kuphatikizidwa kwa zothandizira za 8-bit, 16-bit ndi 32-bit PCRE code blocks, mu mtundu uwu msonkhano udachitika nawo.

Ndipo, ndithudi, timapanga chinthu ichi pogwiritsa ntchito malamulo otsatizana:

make
make install

Ngati zonse zili bwino ndipo kusonkhanitsa kunapita popanda zolakwika, pitirirani ku sitepe yotsatira.

Khwerero 2: kulumikiza laibulale ya PCREXNUMX ku APR

Popeza Apache amaphatikiza magwero pogwiritsa ntchito APR, tiyenera kuphatikiza laibulale mu APR yokha, apo ayi pangakhale zolakwika pazantchito zosadziwika mu magwero a Apache, chifukwa tikhala tikugwiritsa ntchito PCRE2 zatsopano.

Tisiyiretu mphindi yotsitsa magwero kuchokera kuzinthu zovomerezeka chifukwa izi ndizodziwikiratu, kotero mudatulutsa zakale ndikusintha ma APR:

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

Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:

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

Mukamaliza kasinthidwe, pitani ku chikwatu: /etc/webserver/srcsrv/apr-1.7.0/build

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

Pezani fayilo ya apr_rules.mk mu bukhuli, ndi kuwonjezera mizere kumapeto komwe:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Kulumikiza laibulale:

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

Sungani ndikupita ku chikwatu cha magwero a APR: /your/path/to laibulale.

Tiyeni tipange APR yathu yosinthidwa:

make
make install

Ngati zonse zili bwino ndipo kusonkhanitsa kunapita popanda zolakwika, pitirirani ku sitepe yotsatira.

Khwerero XNUMX: pangani APR-til ya Apache kuchokera kumagwero

Mwatsitsa laibulaleyi kuchokera kochokera, pitani ku chikwatu chazosungidwa zosapakidwa ndi APR-util, ndikulowetsani malamulo otsatirawa motsatizana:

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

Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:

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

Timalumikizanso APR yathu apa:

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

Khwerero 2: Tsitsani magwero kuchokera ku Apache git kuti muthandizire PCREXNUMX

Chofunika: Timatsitsa zoyambira kuchokera ku mtundu waposachedwa wa git.

Tiyenera kutsitsa magawo awiri monga ap_regex.h ndi util_pcre.c, maulalo pansipa:
ap_regex.h
util_pcre.c

Tsopano pitani ku chikwatu chanu cha Apache httpd ndikupanga Apache ndi malamulo awa:

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

Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:

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

Mutha kutchulanso malamulo owonjezera omanga Apache mwakufuna kwanu, ndikutanthauza malamulo oti athe kuletsa kapena kuletsa ma module ndi malaibulale.

Kenako timapita ku chikwatu chathu cha Apache httpd, ndili ndi izi:

/etc/webserver/srcsrv/httpd-2.4.41

Mwachibadwa mumapita ku chikwatu chanu, sinthani m'ndandanda:

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

Fayilo ap_regex.h, yomwe tidatsitsa kuchokera ku Apache git.

Timapitanso ku chikwatu:

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

Timalowetsa fayiloyo util_pcre.c ndi yomwe tidatsitsa kuchokera ku Apache git

Tsopano zomwe zatsala ndikuwonjezera kulumikizana kwa PCRE2 mu Apache yokha, muyenera kupeza fayilo ap_config_auto.h, yomwe ili m'ndandanda:

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

Kumayambiriro kwenikweni kwa fayiloyi, ikani mizere iyi:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Chabwino, tsopano takonzekera mphindi yeniyeni yolemba Apache httpd ndi chithandizo cha PCRE2.
Tiyeni tipite ku chikwatu chathu cha Apache httpd ndikuphatikiza izi potsatira malamulowo:

make
make install

Tsopano, ngati zonse zidayenda bwino komanso popanda zolakwika, ndiye kuti mwasonkhanitsa ndikuphatikiza Apache httpd ndi chithandizo cha PCRE2, zomwe zikutanthauza kusintha kwa ma modules a Apache omwe amagwiritsa ntchito PCRE nthawi zonse, imodzi mwa izi ndikulembanso Module.

Pomaliza, njirayi imapangitsa kuti agwiritse ntchito PCRE2 asanatulutsidwe mwalamulo ku Apache Software Foundation, ndikuyembekeza kuti mtundu womwe uli ndi chithandizo cha PCRE2 udzatulutsidwa posachedwa.

Komanso, panthawi yoyezetsa .htaccess, palibe zolakwika zomwe zinachitika, ngati wina ali ndi zolakwika, lembani mu ndemanga.

PS

Ndinasokonezeka pang'ono ndikugwiritsa ntchito mitundu iwiri yosiyana ya PCRE pamtengo wanga, ndipo ndinaganiza zokonza.

Source: www.habr.com

Kuwonjezera ndemanga