Otu esi eme nkwado PCRE2 maka Apache 2.4

Ọ ga-amasị m ịkọrọ ahụmịhe m nke ịsụgharị Apache 2.4 na PCRE2, ebe ọ bụ na ọbụna PHP 7 akwadola ọbá akwụkwọ PCRE2 ogologo oge, mana Apache Software Foundation ka na-emepe emepe.
N'ezie, enwere m ike n'ihu ntọhapụ Apache na nkwado PCRE2, ebe m na-eji isi mmalite sitere na Apache git, nke na-agwa anyị na nkwado PCRE2 ga-ekwe omume na ntọhapụ ọzọ, mana maka ndị chọrọ nkwado PCRE2 na. Apache 2.4, na ndị na-achọghị ichere ntọhapụ m na-ekerịta otu n'ime ụzọ ahụ.

Akụkọ ahụ chere na ị na-anakọta sọftụwia niile dị mkpa site na koodu isi mmalite, ndepụta ngwanrọ na ụdị n'oge edere:

PCRE2-10.33
Eprel 1.7.0
APR ruo 1.6.1
Apache httpd 2.4.41

Nzọụkwụ mbụ: wuo ma chịkọta PCRE2

Ka anyị leba anya n'oge nbudata isi mmalite sitere na isi mmalite ebe ọ bụ na nke a doro anya, yabụ na ị bupụla ebe nchekwa ahụ, gaa na folda ya na isi mmalite PCRE2, wee mee iwu na-esonụ iji kwado UTF:

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

Ezipụta ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ iji wụnye ọba akwụkwọ:

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

Ma ọ bụghị ya, ị na-anakọta na-enweghị prefix.

Iwu ndị fọdụrụ na-egosi ntinye nkwado maka 8-bit, 16-bit na 32-bit PCRE code blocks, na ụdị a, a na-eji ha mee mgbakọ ahụ.

Ma n'ezie, anyị na-achịkọta ihe a site na iji usoro mmezu nke iwu:

make
make install

Ọ bụrụ na ihe niile dị mma na nchịkọta na-enweghị njehie, gaa n'ihu na nzọụkwụ ọzọ.

Nzọụkwụ abụọ: jikọọ PCRE2 ọba akwụkwọ na APR

Ebe Apache na-achịkọta isi mmalite site na iji APR, anyị kwesịrị ịgụnye ọbá akwụkwọ na APR n'onwe ya, ma ọ bụghị ya, enwere ike inwe njehie gbasara ọrụ amaghị na isi mmalite Apache, n'ihi na anyị ga-eji ọrụ PCRE2 ọhụrụ.

Ka anyị hapụ oge nbudata isi mmalite sitere na isi mmalite ebe ọ bụ na nke a doro anya, yabụ ị wepụrụ ebe nchekwa ahụ wee rụọ nhazi APR:

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

Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:

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

Mgbe ịmechara nhazi ahụ, gaa na ndekọ: /etc/webserver/srcsrv/apr-1.7.0/build

Ma ọ bụ: /your/ụzọ/gaa n'ọbá akwụkwọ/wuo

Chọta faịlụ apr_rules.mk na ndekọ aha a, ma tinye ahịrị na njedebe ebe:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Jikọọ ọba akwụkwọ:

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

Chekwa ma gaa na ndekọ mgbọrọgwụ nke isi mmalite APR: /your/path/ga n'ọbá akwụkwọ.

Ka anyị chịkọta APR anyị emezigharịrị:

make
make install

Ọ bụrụ na ihe niile dị mma na nchịkọta na-enweghị njehie, gaa n'ihu na nzọụkwụ ọzọ.

Nzọụkwụ atọ: wuo APR-util maka Apache site na isi mmalite

Ị budatala ọbá akwụkwọ a site na isi mmalite, gaa na nchekwa mgbọrọgwụ nke ebe a na-edebe ihe ndekọ na APR-util, wee tinye iwu ndị a n'usoro:

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

Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:

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

Anyị jikọtara APR anyị ebe a:

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

Nzọụkwụ anọ: budata isi mmalite sitere na Apache git iji kwado PCRE2

Ihe dị mkpa: Anyị na-ebudata isi mmalite sitere na mbipụta git kacha ọhụrụ.

Anyị kwesịrị ibudata isi mmalite abụọ dị ka ap_regex.h na util_pcre.c, njikọ dị n'okpuru:
ap_regex.h
util_pcre.c

Ugbu a gaa na akwụkwọ ndekọ aha Apache httpd gị wee wuo Apache site na iji iwu ndị a:

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

Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:

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

Ịnwekwara ike ịkọwapụta iwu ndị ọzọ maka iwulite Apache na ikike gị, m na-ekwu na iwu maka ịme ma ọ bụ gbanyụọ modul na ọba akwụkwọ.

Ọzọ, anyị na-aga Apache httpd akwụkwọ ndekọ aha, enwere m nke a:

/etc/webserver/srcsrv/httpd-2.4.41

Ị ga-aga na ndekọ aha gị, dochie na ndekọ:

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

Faịlụ ap_regex.h, nke anyị budata na Apache git.

Anyị na-agakwa na ndekọ:

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

Anyị na-eji nke anyị budata na Apache git dochie faịlụ util_pcre.c

Ugbu a naanị ihe fọdụrụ bụ ịgbakwunye njikọ PCRE2 na Apache n'onwe ya, ịchọrọ ịchọta faịlụ ap_config_auto.h, ọ dị na ndekọ:

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

N'isi mmalite faịlụ a, tinye ahịrị ndị a:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Ọ dị mma, ugbu a anyị dịla njikere maka ezigbo oge ijikọ Apache httpd na nkwado PCRE2.
Ka anyị gaa na akwụkwọ ndekọ aha Apache httpd anyị wee chịkọta nke a site n'ime usoro iwu ndị a:

make
make install

Ugbu a, ọ bụrụ na ihe niile gara nke ọma na enweghị mmejọ, mgbe ahụ, ị ​​​​ga-agbakọta ma chịkọta Apache httpd na nkwado PCRE2, nke pụtara mgbanwe dị mma na modul Apache na-eji PCRE okwu mgbe niile, otu n'ime ndị a bụ Module rewrite.

N'ikpeazụ, usoro a na-eme ka o kwe omume iji PCRE2 tupu mwepụta gọọmentị sitere na Apache Software Foundation, enwere m olileanya na a ga-ewepụta ụdị nwere nkwado PCRE2 n'oge na-adịghị anya.

Ọzọkwa, n'oge ule nke ọkọlọtọ .htaccess, ọ dịghị njehie mere, ọ bụrụ na onye ọ bụla nwere njehie ọ bụla, dee na nkwupụta.

PS

Enwere m ntakịrị mgbagwoju anya site na ọnọdụ nke iji ụdị abụọ dị iche iche nke PCRE maka nchịkọta m, ekpebiri m idozi ya.

isi: www.habr.com

Tinye a comment