Cara nggawe dhukungan PCRE2 kanggo Apache 2.4

Aku pengin nuduhake pengalaman nerjemahake Apache 2.4 menyang PCRE2, amarga malah PHP 7 wis ndhukung perpustakaan PCRE2 kanggo dangu, nanging Open Source Apache Software Foundation isih ora.
Mesthi wae, saiki aku bakal luwih dhisik tinimbang rilis Apache kanthi dhukungan PCRE2, amarga aku nggunakake sumber saka git Apache, sing ngandhani yen dhukungan PCRE2 wis bisa ditindakake ing rilis sabanjure, nanging kanggo wong-wong sing wis pengin dhukungan PCRE2 ing Apache 2.4, lan sing ora pengin ngenteni release aku nuduhake salah siji cara.

Artikel kasebut nganggep yen sampeyan ngumpulake kabeh piranti lunak sing dibutuhake saka kode sumber, dhaptar piranti lunak lan versi nalika nulis:

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

Langkah siji: mbangun lan ngumpulake PCRE2

Ayo nglewati wayahe ndownload sumber saka sumber resmi amarga iki jelas banget, mula sampeyan wis mbukak arsip, pindhah menyang folder kanthi sumber PCRE2, lan jalanake perintah ing ngisor iki kanggo ndhukung UTF:

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

Nemtokake path sampeyan ing awalan yen sampeyan ora pengin nggunakake lokasi standar kanggo nginstal perpustakaan:

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

Yen ora, sampeyan ngumpulake tanpa ater-ater.

Printah isih nuduhake Gawan ndhukung kanggo 8-dicokot, 16-dicokot lan 32-dicokot pamblokiran kode PCRE, ing versi iki DΓ©wan wis dileksanakake karo wong-wong mau.

Lan mesthi, kita ngumpulake perkara iki nggunakake eksekusi perintah sing berurutan:

make
make install

Yen kabeh apik lan kompilasi ora ana kesalahan, pindhah menyang langkah sabanjure.

Langkah loro: nyambung perpustakaan PCRE2 kanggo APR

Wiwit Apache nglumpukake sumber nggunakake APR, kita kudu nyakup perpustakaan ing APR dhewe, yen ora, bisa uga ana kesalahan babagan fungsi sing ora dingerteni ing sumber Apache, amarga kita bakal nggunakake fungsi PCRE2 anyar.

Ayo ngilangi wayahe ndownload sumber saka sumber resmi amarga iki jelas banget, mula sampeyan mbukak arsip lan nindakake konfigurasi APR:

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

Alami, sampeyan nuduhake dalan sampeyan ing awalan yen sampeyan ora pengin nggunakake lokasi standar kanggo nginstal perpustakaan, utawa yen sampeyan ora nemtokake:

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

Sawise ngrampungake konfigurasi, pindhah menyang direktori: /etc/webserver/srcsrv/apr-1.7.0/build

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

Temokake file apr_rules.mk ing direktori iki, lan tambahake garis ing pungkasan ing ngendi:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Sambungake perpustakaan:

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

Simpen lan pindhah menyang direktori root sumber APR: /your/path/to the library.

Ayo kompilasi APR sing diowahi:

make
make install

Yen kabeh apik lan kompilasi ora ana kesalahan, pindhah menyang langkah sabanjure.

Langkah telu: mbangun APR-util kanggo Apache saka sumber

Sampeyan wis ndownload perpustakaan iki saka sumber, pindhah menyang folder root saka arsip sing ora dibungkus nganggo APR-util, lan ketik printah ing ngisor iki kanthi urutan:

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

Alami, sampeyan nuduhake dalan sampeyan ing awalan yen sampeyan ora pengin nggunakake lokasi standar kanggo nginstal perpustakaan, utawa yen sampeyan ora nemtokake:

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

Kita uga nyambungake APR ing kene:

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

Langkah papat: download sumber saka Apache git kanggo ndhukung PCRE2

Penting: Kita ngundhuh sumber saka edisi paling anyar saka git.

Kita kudu ngundhuh rong sumber kayata ap_regex.h lan util_pcre.c, pranala ing ngisor iki:
ap_regex.h
util_pcre.c

Saiki pindhah menyang direktori sumber httpd Apache lan gawe Apache nganggo perintah ing ngisor iki:

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

Alami, sampeyan nuduhake dalan sampeyan ing awalan yen sampeyan ora pengin nggunakake lokasi standar kanggo nginstal perpustakaan, utawa yen sampeyan ora nemtokake:

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

Sampeyan uga bisa nemtokake printah tambahan kanggo mbangun Apache ing discretion, Maksudku printah kanggo mbisakake utawa mateni modul lan perpustakaan.

Sabanjure kita pindhah menyang direktori sumber httpd Apache, aku duwe iki:

/etc/webserver/srcsrv/httpd-2.4.41

Sampeyan mesthi pindhah menyang direktori sampeyan, ngganti ing direktori:

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

Berkas ap_regex.h, sing diundhuh saka Apache git.

Kita uga pindhah menyang direktori:

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

Kita ngganti file util_pcre.c karo sing diundhuh saka Apache git

Saiki sing isih ana yaiku nambahake sambungan PCRE2 ing Apache dhewe, sampeyan kudu nemokake file ap_config_auto.h, dumunung ing direktori:

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

Ing wiwitan file iki, lebokake baris ing ngisor iki:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Inggih, saiki kita siyap kanggo momen nyata kompilasi Apache httpd kanthi dhukungan PCRE2.
Ayo menyang direktori sumber httpd Apache lan ngumpulake iki kanthi nglakokake perintah kasebut:

make
make install

Saiki, yen kabeh mlaku kanthi apik lan tanpa kesalahan, sampeyan bakal nglumpukake lan nyusun Apache httpd kanthi dhukungan PCRE2, sing tegese owah-owahan positif ing modul Apache sing nggunakake ekspresi reguler PCRE, salah sijine yaiku nulis ulang Modul.

Ing kesimpulan, cara iki ndadekake iku bisa kanggo nggunakake PCRE2 sadurunge release resmi saka Apache Software Foundation, Mugi versi karo support PCRE2 bakal dirilis rauh.

Uga, sajrone nguji standar .htaccess, ora ana kesalahan, yen ana sing duwe kesalahan, tulisake ing komentar.

PS

Aku ana sethitik bingung dening kahanan nggunakake rong versi PCRE beda kanggo tumpukan sandi, lan aku mutusakΓ© kanggo ndandani iku.

Source: www.habr.com

Add a comment