Mokhoa oa ho etsa tšehetso ea PCRE2 bakeng sa Apache 2.4

Ke kopa ho arolelana phihlelo ea ka ea ho fetolela Apache 2.4 ho PCRE2, kaha esita le PHP 7 e tšehetse laebrari ea PCRE2 ka nako e telele, empa mohloli o bulehileng oa Apache Software Foundation o ntse o sa e sebelise.
Ha e le hantle, hona joale mohlomong ke ka pele ho ho lokolloa ha Apache ka tšehetso ea PCRE2, kaha ke sebelisa mehloli e tsoang ho Apache git, e re bolellang hore tšehetso ea PCRE2 e se e khoneha tokollong e latelang, empa bakeng sa ba seng ba batla tšehetso ea PCRE2 ho. Apache 2.4, le ba sa batleng ho ema ho lokolloa ke arolelana e 'ngoe ea litsela.

Sengoloa se nka hore u bokella software eohle e hlokahalang ho tsoa ho khoutu ea mohloli, lethathamo la software le liphetolelo ka nako ea ho ngola:

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

Mohato oa pele: haha ​​le ho bokella PCRE2

Ha re tlōle nako ea ho khoasolla mehloli ho tsoa mehloling ea molao kaha sena se hlakile haholo, kahoo u notlollotse polokelo ea litaba, ea ho foldareng ka mehloli ea PCRE2, 'me u tsamaise taelo e latelang ho tšehetsa UTF:

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

Hlalosa tsela ea hau ho sehlohlolong haeba u sa batle ho sebelisa sebaka se tloaelehileng ho kenya laeborari:

--prefix=/ваш/путь/до библиотеки

Ho seng joalo, u bokella ntle le sehlomathiso.

Litaelo tse setseng li bonts'a ho kenyelletsoa ha litšehetso bakeng sa li-block tsa 8-bit, 16-bit le 32-bit PCRE, phetolelong ena kopano e entsoe le bona.

Mme ehlile, re bokella ntho ena re sebelisa tatellano ea litaelo:

make
make install

Haeba ntho e 'ngoe le e' ngoe e le hantle 'me pokello e tsamaile ntle le liphoso, fetela mohatong o latelang.

Mohato oa bobeli: hokela laeborari ea PCRE2 ho APR

Kaha Apache e bokella mehloli e sebelisa APR, re hloka ho kenyelletsa laebrari ho APR ka boeona, ho seng joalo ho ka 'na ha e-ba le liphoso mabapi le mesebetsi e sa tsejoeng mehloling ea Apache, hobane re tla sebelisa mesebetsi e mecha ea PCRE2.

Ha re tloheleng nako ea ho khoasolla mehloli ho tsoa mehloling ea semmuso kaha sena se hlakile haholo, kahoo o ile oa notlolla polokelong ea litaba mme oa etsa tlhophiso ea APR:

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

Ka tlhaho, u bonts'a tsela ea hau ho sehlohlolong haeba u sa batle ho sebelisa sebaka se tloaelehileng ho kenya laeborari, kapa haeba u sa hlakise:

--prefix=/ваш/путь/до библиотеки

Ka mor'a hore u phethe tlhophiso, e-ea bukeng: /etc/webserver/srcsrv/apr-1.7.0/build

Kapa: /your/path/to library/build

Fumana faele ea apr_rules.mk bukeng ena, 'me u kenye mela qetellong moo:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Ho hokela laeborari:

-lpcre2-8 -L/ваш/путь/до библиотеки pcre2/lib

Boloka 'me u ee bukeng ea motso ea mehloli ea APR: /your/path/ho laeborari.

Ha re bokelle APR ea rona e fetotsoeng:

make
make install

Haeba ntho e 'ngoe le e' ngoe e le hantle 'me pokello e tsamaile ntle le liphoso, fetela mohatong o latelang.

Mohato oa boraro: haha ​​​​APR-util bakeng sa Apache ho tsoa mehloling

U khoasollotse laebrari ena mohloling, e-ea ho foldareng ea motso ea polokelo e sa pakiloeng ka APR-util, 'me u kenye litaelo tse latelang ka tatellano:

./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/путь/до библиотеки apr
make
make install

Ka tlhaho, u bonts'a tsela ea hau ho sehlohlolong haeba u sa batle ho sebelisa sebaka se tloaelehileng ho kenya laeborari, kapa haeba u sa hlakise:

--prefix=/ваш/путь/до библиотеки

Re boetse re hokahanya APR ea rona mona:

--with-apr=/ваш/путь/до библиотеки apr

Mohato oa bone: khoasolla mehloli ho tsoa ho Apache git ho tšehetsa PCRE2

Bohlokoa: Re khoasolla mehloli ho tsoa khatisong ea morao-rao ea git.

Re hloka ho khoasolla mehloli e 'meli e kang ap_regex.h le util_pcre.c, lihokelo tse ka tlase:
ap_regex.h
util_pcre.c

Joale e-ea bukeng ea hau ea mohloli oa Apache httpd 'me u hahe Apache ka litaelo tse latelang:

./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/путь/до библиотеки apr --with-apr-util=/ваш/путь/до библиотеки apr-util --with-pcre=/ваш/путь/до библиотеки pcre2/bin/pcre2-config

Ka tlhaho, u bonts'a tsela ea hau ho sehlohlolong haeba u sa batle ho sebelisa sebaka se tloaelehileng ho kenya laeborari, kapa haeba u sa hlakise:

--prefix=/ваш/путь/до Apache httpd

U ka boela ua bolela litaelo tse eketsehileng bakeng sa ho haha ​​​​Apache ka boikhethelo ba hau, ke bolela litaelo tsa ho nolofalletsa kapa ho tima li-module le lilaebrari.

Ka mor'a moo re ea mohloling oa mohloli oa Apache httpd, ke na le sena:

/etc/webserver/srcsrv/httpd-2.4.41

Ka tlhaho u ea bukeng ea hau, u nke sebaka sa buka:

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

Faele ap_regex.h, eo re e jarollotseng ho Apache git.

Re boetse re ea ho directory:

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

Re khutlisa faele util_pcre.c ka eo re e jarollotseng ho Apache git

Hona joale se setseng ke ho kenyelletsa khokahanyo ea PCRE2 ho Apache ka boeona, o hloka ho fumana faele ap_config_auto.h, e fumaneha bukeng:

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

Qalong ea faele ena, kenya mela e latelang:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Joale, joale re se re itokiselitse nako ea 'nete ea ho bokella Apache httpd ka tšehetso ea PCRE2.
Ha re ee bukeng ea rona ea mohloli oa Apache httpd 'me re hlophise sena ka ho phethahatsa litaelo ka tatellano:

make
make install

Hona joale, haeba ntho e 'ngoe le e' ngoe e tsamaile hantle ntle le liphoso, joale u tla be u bokane le ho bokella Apache httpd ka tšehetso ea PCRE2, e bolelang liphetoho tse ntle ho li-module tsa Apache tse sebelisang lipolelo tse tloaelehileng tsa PCRE, e 'ngoe ea tsona ke Module rewrite.

Qetellong, mokhoa ona o etsa hore ho khonehe ho sebelisa PCRE2 pele ho lokolloa ka molao ho tswa ho Apache Software Foundation, ke tšepa hore phetolelo e nang le tšehetso ea PCRE2 e tla lokolloa haufinyane.

Hape, nakong ea teko ea maemo a tloaelehileng a .htaccess, ha ho na liphoso tse ileng tsa etsahala, haeba leha e le mang a e-na le liphoso, ngola litlhalosong.

PES

Ke ne ke ferekanngoa hanyenyane ke boemo ba ho sebelisa mefuta e 'meli e fapaneng ea PCRE bakeng sa stack ea ka,' me ke ile ka etsa qeto ea ho e lokisa.

Source: www.habr.com

Eketsa ka tlhaloso