Yadda ake yin PCRE2 goyon bayan Apache 2.4

Ina so in raba gwaninta na fassara Apache 2.4 zuwa PCRE2, tun da ko PHP 7 ya daɗe yana tallafawa ɗakin karatu na PCRE2, amma tushen tushen Apache Software Foundation har yanzu ba ta yi ba.
Tabbas, Ina yiwuwa a yanzu gaba da sakin Apache tare da tallafin PCRE2, tunda ina amfani da tushen daga Apache git, wanda ke gaya mana cewa tallafin PCRE2 ya riga ya yiwu a cikin sakin gaba, amma ga waɗanda suka rigaya suna son tallafin PCRE2 a ciki. Apache 2.4, kuma waɗanda ba sa son jira saki na raba ɗayan hanyoyin.

Labarin yana ɗauka cewa kuna tattara duk mahimman software daga lambar tushe, jerin software da sigogin a lokacin rubutawa:

PCRE2-10.33
Afrilu 1.7.0
APR-mai amfani 1.6.1
Apache httpd 2.4.41

Mataki na daya: ginawa da haɗa PCRE2

Bari mu tsallake lokacin zazzage tushen daga tushe na hukuma tunda wannan a bayyane yake sosai, don haka kun cire kayan tarihin, je zuwa babban fayil tare da tushen PCRE2, kuma gudanar da umarni mai zuwa don tallafawa UTF:

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

Ƙayyade hanyar ku a cikin prefix idan ba ku son amfani da daidaitaccen wurin don shigar da ɗakin karatu:

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

In ba haka ba, kuna tattara ba tare da prefix ba.

Sauran dokokin suna nuna haɗawar tallafi don 8-bit, 16-bit da 32-bit PCRE code blocks, a cikin wannan sigar an yi taron tare da su.

Kuma ba shakka, muna tattara wannan abu ta amfani da aiwatar da umarni na jeri:

make
make install

Idan komai yana da kyau kuma harhadawa ya tafi ba tare da kurakurai ba, matsa zuwa mataki na gaba.

Mataki na biyu: haɗa ɗakin karatu na PCRE2 zuwa APR

Tun da Apache yana tattara tushe ta amfani da APR, muna buƙatar haɗa ɗakin karatu a cikin APR kanta, in ba haka ba za a iya samun kurakurai game da ayyukan da ba a sani ba a cikin tushen Apache, saboda za mu yi amfani da sabbin ayyukan PCRE2.

Bari mu bar lokacin zazzage tushe daga tushe na hukuma tunda wannan a bayyane yake, don haka kun buge kayan tarihin kuma kuyi tsarin APR:

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

A zahiri, kuna nuna hanyar ku a cikin prefix idan ba kwa son amfani da daidaitaccen wurin shigar da ɗakin karatu, ko kuma idan ba ku ƙididdige:

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

Bayan kammala saitin, je zuwa directory: /etc/webserver/srcsrv/apr-1.7.0/build

Ko: /your/hanya/zuwa ɗakin karatu/gina

Nemo fayil ɗin apr_rules.mk a cikin wannan jagorar, kuma ƙara layin a ƙarshen inda:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Haɗa ɗakin karatu:

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

Ajiye kuma je zuwa tushen tushen tushen tushen APR: /your/hanyar/zuwa ɗakin karatu.

Bari mu tattara APR ɗin mu da aka gyara:

make
make install

Idan komai yana da kyau kuma harhadawa ya tafi ba tare da kurakurai ba, matsa zuwa mataki na gaba.

Mataki na uku: gina APR-util don Apache daga tushe

Kun zazzage wannan ɗakin karatu daga tushen, je zuwa tushen babban fayil ɗin bayanan da ba a buɗe ba tare da APR-util, sannan shigar da umarni masu zuwa a jere:

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

A zahiri, kuna nuna hanyar ku a cikin prefix idan ba kwa son amfani da daidaitaccen wurin shigar da ɗakin karatu, ko kuma idan ba ku ƙididdige:

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

Muna kuma haɗa APR ɗin mu anan:

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

Mataki na hudu: zazzage tushe daga Apache git don tallafawa PCRE2

Muhimmi: Muna zazzage tushen daga sabon bugu na git.

Muna buƙatar saukar da tushe guda biyu kamar ap_regex.h da util_pcre.c, hanyoyin haɗin da ke ƙasa:
ap_regex.h
util_pcre.c

Yanzu je zuwa tushen tushen tushen Apache httpd kuma gina Apache tare da umarni masu zuwa:

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

A zahiri, kuna nuna hanyar ku a cikin prefix idan ba kwa son amfani da daidaitaccen wurin shigar da ɗakin karatu, ko kuma idan ba ku ƙididdige:

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

Hakanan zaka iya ƙididdige ƙarin umarni don gina Apache bisa ga ra'ayinka, Ina nufin umarnin kunna ko kashe kayayyaki da ɗakunan karatu.

Na gaba za mu je shafin mu na Apache httpd directory, Ina da wannan:

/etc/webserver/srcsrv/httpd-2.4.41

Kuna zuwa ga kundin adireshi, maye gurbin a cikin kundin adireshi:

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

Fayil ɗin ap_regex.h, wanda muka zazzage shi daga Apache git.

Muna kuma zuwa ga directory:

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

Muna maye gurbin fayil ɗin util_pcre.c tare da wanda muka zazzage daga Apache git

Yanzu abin da ya rage shine ƙara haɗin PCRE2 a cikin Apache kanta, kuna buƙatar nemo fayil ɗin ap_config_auto.h, yana cikin directory:

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

A farkon wannan fayil ɗin, saka layin masu zuwa:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Da kyau, yanzu muna shirye don ainihin lokacin tattara Apache httpd tare da tallafin PCRE2.
Bari mu je shafin mu na Apache httpd directory kuma mu tattara wannan ta hanyar aiwatar da umarni akai-akai:

make
make install

Yanzu, idan komai ya tafi da kyau kuma ba tare da kurakurai ba, to zaku tattara kuma ku tattara Apache httpd tare da tallafin PCRE2, wanda ke nufin ingantaccen canje-canje a cikin samfuran Apache waɗanda ke amfani da maganganun PCRE na yau da kullun, ɗayan waɗannan shine Module sake rubutawa.

A ƙarshe, wannan hanyar tana ba da damar yin amfani da PCRE2 kafin sakin hukuma daga Gidauniyar Software ta Apache, Ina fatan za a fitar da sigar tare da tallafin PCRE2 nan ba da jimawa ba.

Hakanan, yayin gwajin daidaitaccen .htaccess, babu kurakurai da suka faru, idan kowa yana da wasu kurakurai, rubuta a cikin sharhi.

PS

Na ɗan rikice da yanayin amfani da nau'ikan PCRE daban-daban guda biyu don tari na, kuma na yanke shawarar gyara shi.

source: www.habr.com

Add a comment