Maitiro ekuita PCRE2 rutsigiro rweApache 2.4

Ndinoda kugovera ruzivo rwangu rwekushandura Apache 2.4 kuPCRE2, sezvo kunyange PHP 7 yakatsigira PCRE2 raibhurari kwenguva yakareba, asi iyo yakavhurika sosi Apache Software Foundation haisati.
Ehe, ini ndave kumberi kwekuburitswa kweApache nePCRE2 rutsigiro, sezvo ndiri kushandisa masosi kubva kuApache git, iyo inotiudza kuti PCRE2 rutsigiro rwatove kuitika mukuburitswa kunotevera, asi kune avo vanotoda PCRE2 rutsigiro mukati. Apache 2.4, uye vasingade kumirira kuburitswa ndinogovera imwe yenzira.

Chinyorwa chinofungidzira kuti uri kuunganidza ese anodiwa software kubva kusource code, runyorwa rwesoftware uye shanduro panguva yekunyora:

PCRE2-10.33
Kubvumbi 1.7.0
APR-kushandisa 1.6.1
Apache httpd 2.4.41

Nhanho yekutanga: kuvaka uye unganidza PCRE2

Ngatisvetuke nguva yekudhawunirodha masosi kubva kune zviri pamutemo masosi sezvo izvi zviri pachena, saka wakaburitsa dura, enda kufolda ine PCRE2 masosi, uye mhanyisa unotevera kuraira kutsigira UTF:

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

Rondedzera nzira yako mune prefix kana iwe usingade kushandisa yakajairwa nzvimbo yekuisa raibhurari:

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

Zvikasadaro, unounganidza pasina prefix.

Mirairo yasara inoratidza kuisirwa kwezvitsigiro zve8-bit, 16-bit uye 32-bit PCRE kodhi mabhuroko, mushanduro iyi gungano rakaitwa navo.

Uye zvechokwadi, isu tinonyora chinhu ichi tichishandisa sequential execution yemirairo:

make
make install

Kana zvese zvakanaka uye kuunganidzwa kwakaenda pasina zvikanganiso, enda kune rinotevera nhanho.

Nhanho yechipiri: batanidza PCRE2 raibhurari kune APR

Sezvo Apache inounganidza masosi ichishandisa APR, isu tinofanirwa kuisa raibhurari muAPR pachayo, zvikasadaro panogona kunge paine zvikanganiso pamusoro pezvisingazivikanwe mabasa muApache masosi, nekuti tichange tichishandisa PCRE2 mabasa matsva.

Ngatisiyei nguva yekudhawunirodha masosi kubva kune zviri pamutemo masosi sezvo izvi zviri pachena, saka iwe wakaburitsa dura ukaita iyo APR gadziriso:

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

Nomuzvarirwo, iwe unoratidza nzira yako mune prefix kana iwe usingade kushandisa yakajairwa nzvimbo yekuisa raibhurari, kana iwe ukasataura:

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

Mushure mekupedza kugadzirisa, enda kune dhairekitori: /etc/webserver/srcsrv/apr-1.7.0/build

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

Tsvaga iyo apr_rules.mk faira mune ino dhairekitori, uye wedzera mitsara kumagumo uko:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Kubatanidza raibhurari:

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

Sevha uye enda kumudzi wedhairekitori yeAPR masosi: /yako/nzira/kuraibhurari.

Ngatinyorei APR yedu yakagadziridzwa:

make
make install

Kana zvese zvakanaka uye kuunganidzwa kwakaenda pasina zvikanganiso, enda kune rinotevera nhanho.

Nhanho yechitatu: kuvaka APR-util yeApache kubva kune zvinyorwa

Iwe wakadhawunirodha raibhurari iyi kubva kunobva, enda kumudzi dhairekitori isina kurongedzerwa archive ine APR-util, uye isa inotevera mirairo zvakateerana:

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

Nomuzvarirwo, iwe unoratidza nzira yako mune prefix kana iwe usingade kushandisa yakajairwa nzvimbo yekuisa raibhurari, kana iwe ukasataura:

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

Isu tinobatanidzawo APR yedu pano:

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

Nhanho yechina: dhawunirodha masosi kubva kuApache git kutsigira PCRE2

Zvakakosha: Isu tinodhawunirodha masosi kubva kune yazvino edition yegit.

Isu tinofanirwa kudhawunirodha maviri masosi akadai ap_regex.h uye util_pcre.c, zvinongedzo pazasi:
ap_regex.h
util_pcre.c

Zvino enda kune yako Apache httpd source directory uye uvake Apache nemirairo inotevera:

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

Nomuzvarirwo, iwe unoratidza nzira yako mune prefix kana iwe usingade kushandisa yakajairwa nzvimbo yekuisa raibhurari, kana iwe ukasataura:

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

Iwe unogona zvakare kutsanangura yakawedzera mirairo yekuvaka Apache pakufunga kwako, ndinoreva mirairo yekugonesa kana kudzima mamodule nemaraibhurari.

Tevere tinoenda kune yedu Apache httpd source dhairekitori, ndine izvi:

/etc/webserver/srcsrv/httpd-2.4.41

Iwe unongoenda kune yako dhairekitori, tsiva mune dhairekitori:

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

Iyo faira ap_regex.h, yatakadhawunirodha kubva kuApache git.

Isu tinoenda zvakare kune dhairekitori:

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

Isu tinotsiva iyo faira util_pcre.c neiyo yatakadhawunirodha kubva kuApache git

Zvino chasara kuwedzera PCRE2 yekubatanidza muApache pachayo, unofanirwa kutsvaga iyo faira ap_config_auto.h, iri mudhairekitori:

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

Pakutanga kwefaira iri, isa mitsara inotevera:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Zvakanaka, ikozvino tagadzirira iyo chaiyo nguva yekunyora Apache httpd nePCRE2 rutsigiro.
Ngatiendei kune yedu Apache httpd source dhairekitori uye tinyore izvi nekuita sequentially kuita mirairo:

make
make install

Zvino, kana zvese zvikafamba zvakanaka uye pasina zvikanganiso, ipapo unenge waunganidza uye wakanyora Apache httpd nePCRE2 rutsigiro, zvinoreva shanduko yakanaka mumaApache modules anoshandisa PCRE nguva dzose kutaura, imwe yeiyi Module rewrite.

Mukupedzisa, iyi nzira inoita kuti zvikwanise kushandisa PCRE2 isati yaburitswa zviri pamutemo kubva kuApache Software Foundation, ndinovimba kuti shanduro ine PCRE2 rutsigiro ichaburitswa munguva pfupi.

Uyewo, panguva yekuedzwa kweyero .htaccess, hapana zvikanganiso zvakaitika, kana pane ane zvikanganiso, nyora mumashoko.

PS

Ndakanga ndakavhiringidzika zvishoma nemamiriro ekushandisa shanduro mbiri dzakasiyana dzePCRE kune stack yangu, uye ndakasarudza kuigadzirisa.

Source: www.habr.com

Voeg