Mar a nì thu taic PCRE2 airson Apache 2.4

Bu mhath leam an eòlas agam air eadar-theangachadh Apache 2.4 gu PCRE2 a cho-roinn, leis gu bheil eadhon PHP 7 air taic a thoirt don leabharlann PCRE2 airson ùine mhòr, ach chan eil an stòr fosgailte Apache Software Foundation fhathast.
Gu dearbh, is dòcha gu bheil mi a-nis air thoiseach air an sgaoileadh Apache le taic PCRE2, leis gu bheil mi a’ cleachdadh na stòran bhon Apache git, a tha ag innse dhuinn gu bheil taic PCRE2 comasach mu thràth san ath fhoillseachadh, ach dhaibhsan a tha ag iarraidh taic PCRE2 mar-thà ann an Apache 2.4, agus nach eil ag iarraidh feitheamh release mi a 'roinn aon de na dòighean.

Tha an artaigil a’ gabhail ris gu bheil thu a’ cruinneachadh a h-uile bathar-bog riatanach bhon chòd stòr, liosta de bhathar-bog agus dreachan aig àm sgrìobhaidh:

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

Ceum a h-aon: tog agus cuir ri chèile PCRE2

Leig leinn leum air a ’mhòmaid airson na stòran a luchdachadh sìos bho na stòran oifigeil leis gu bheil seo ro fhollaiseach, agus mar sin tha thu air an tasglann a dhì-phapadh, rachaibh chun phasgan leis na stòran PCRE2, agus ruith an àithne a leanas gus taic a thoirt do UTF:

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

Sònraich do shlighe san ro-leasachan mura h-eil thu airson an t-àite àbhaisteach a chleachdadh gus an leabharlann a stàladh:

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

Rud eile, cruinnichidh tu às aonais ro-leasachan.

Tha na h-òrdughan a tha air fhàgail a’ nochdadh gu bheil taic ann airson blocaichean còd PCRE 8-bit, 16-bit agus 32-bit, anns an dreach seo chaidh an co-chruinneachadh a dhèanamh leotha.

Agus gu dearbh, bidh sinn a’ cur ri chèile an rud seo a’ cleachdadh cur an gnìomh òrdughan:

make
make install

Ma tha a h-uile dad gu math agus gun deach an cruinneachadh gun mhearachdan, gluais air adhart chun ath cheum.

Ceum a dhà: ceangail an leabharlann PCRE2 gu APR

Leis gu bheil Apache a’ cur ri chèile stòran a’ cleachdadh APR, feumaidh sinn an leabharlann a thoirt a-steach don APR fhèin, air neo dh’ fhaodadh gum bi mearachdan ann mu ghnìomhan neo-aithnichte ann an stòran Apache, oir bidh sinn a’ cleachdadh gnìomhan PCRE2 ùra.

Fàgaidh sinn an t-àm airson stòran a luchdachadh sìos bho stòran oifigeil leis gu bheil seo ro fhollaiseach, agus mar sin dhì-phac thu an tasglann agus rinn thu rèiteachadh APR:

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

Gu nàdarra, bidh thu a’ comharrachadh do shlighe san ro-leasachan mura h-eil thu airson an t-àite àbhaisteach a chleachdadh airson an leabharlann a stàladh, no mura sònraich thu:

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

Às deidh dhut an rèiteachadh a chrìochnachadh, rachaibh chun eòlaire: /etc/webserver/srcsrv/apr-1.7.0/build

No: /do/slighe/chun an leabharlann/togail

Lorg am faidhle apr_rules.mk san eòlaire seo, agus cuir na loidhnichean aig an deireadh far a bheil:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

A’ ceangal an leabharlainn:

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

Sàbhail agus rach gu eòlaire freumh nan stòran APR: / do / slighe / chun leabharlann.

Nach cuir sinn ri chèile an APR atharraichte againn:

make
make install

Ma tha a h-uile dad gu math agus gun deach an cruinneachadh gun mhearachdan, gluais air adhart chun ath cheum.

Ceum a trì: tog APR-util airson Apache bho stòran

Tha thu air an leabharlann seo a luchdachadh sìos bhon stòr, rach gu pasgan freumh an tasglann gun phacaid le APR-util, agus cuir a-steach na h-òrdughan a leanas ann an òrdugh:

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

Gu nàdarra, bidh thu a’ comharrachadh do shlighe san ro-leasachan mura h-eil thu airson an t-àite àbhaisteach a chleachdadh airson an leabharlann a stàladh, no mura sònraich thu:

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

Bidh sinn cuideachd a’ ceangal an APR againn an seo:

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

Ceum a ceithir: luchdaich sìos stòran bho Apache git gus taic a thoirt do PCRE2

Cudromach: Bidh sinn a 'luchdachadh sìos na stòran bhon deasachadh as ùire den git.

Feumaidh sinn dà thùs a luchdachadh sìos mar ap_regex.h agus util_pcre.c, ceanglaichean gu h-ìosal:
ap_regex.h
util_pcre.c

A-nis rachaibh chun eòlaire stòr Apache httpd agad agus tog Apache leis na h-òrdughan a leanas:

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

Gu nàdarra, bidh thu a’ comharrachadh do shlighe san ro-leasachan mura h-eil thu airson an t-àite àbhaisteach a chleachdadh airson an leabharlann a stàladh, no mura sònraich thu:

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

Faodaidh tu cuideachd òrdughan a bharrachd a shònrachadh airson Apache a thogail a rèir do thoil fhèin, tha mi a’ ciallachadh na h-òrdughan airson modalan agus leabharlannan a chomasachadh no a dhì-chomasachadh.

An uairsin thèid sinn chun eòlaire stòr Apache httpd againn, tha seo agam:

/etc/webserver/srcsrv/httpd-2.4.41

Bidh thu gu nàdarrach a’ dol don eòlaire agad, cuir an àite san eòlaire:

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

Am faidhle ap_regex.h, a luchdaich sinn sìos bhon Apache git.

Bidh sinn cuideachd a’ dol dhan eòlaire:

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

Bidh sinn a 'cur an àite an fhaidhle util_pcre.c leis an fhear a luchdaich sinn sìos bhon Apache git

A-nis chan eil air fhàgail ach an ceangal PCRE2 a chuir ann an Apache fhèin, feumaidh tu am faidhle a lorg ap_config_auto.h, tha e suidhichte san eòlaire:

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

Aig toiseach an fhaidhle seo, cuir a-steach na loidhnichean a leanas:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Uill, a-nis tha sinn deiseil airson an fhìor mhionaid de Apache httpd a chuir ri chèile le taic PCRE2.
Rachamaid chun an eòlaire stòr Apache httpd againn agus cuir ri chèile seo le bhith a’ cur an gnìomh nan òrdughan:

make
make install

A-nis, ma chaidh a h-uile càil gu math agus às aonais mhearachdan, bidh thu air Apache httpd a chruinneachadh agus a chuir ri chèile le taic PCRE2, a tha a ’ciallachadh atharrachaidhean adhartach ann am modalan Apache a bhios a’ cleachdadh abairtean cunbhalach PCRE, is e aon dhiubh sin Modal ath-sgrìobhadh.

Gu crìch, tha an dòigh seo ga dhèanamh comasach PCRE2 a chleachdadh mus tèid a leigeil ma sgaoil bho Apache Software Foundation, tha mi an dòchas gun tèid dreach le taic PCRE2 fhoillseachadh a dh’ aithghearr.

Cuideachd, rè deuchainn àbhaisteach .htaccess, cha do thachair mearachdan sam bith, ma tha mearachdan sam bith aig duine, sgrìobh na beachdan.

PS

Bha mi rud beag troimh-chèile leis an t-suidheachadh a bhith a’ cleachdadh dà dhreach eadar-dhealaichte de PCRE airson mo chruach, agus chuir mi romham a chàradh.

Source: www.habr.com

Cuir beachd ann