Π₯ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Apache 2.4 Π½Π° PCRE2, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°ΠΆΠ΅ PHP 7 ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PCRE2, Π° open source Apache Software Foundation Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅Ρ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ Ρ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Ρ ΡΠ΅Π»ΠΈΠ· Apache Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ PCRE2, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ Ρ Π³ΠΈΡΠ° Apache, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ PCRE2 ΡΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅, Π½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ
ΠΊΡΠΎ ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Ρ
ΠΎΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ PCRE2 Π² Apache 2.4, ΠΈ ΠΊΡΠΎ Π½Π΅ Ρ
ΠΎΡΠ΅Ρ ΠΆΠ΄Π°ΡΡ ΡΠ΅Π»ΠΈΠ·Π° Π΄Π΅Π»ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ².
Π‘ΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΡΠΎ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π²Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠΎΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠ° ΠΈ Π²Π΅ΡΡΠΈΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ:
PCRE2-10.33
APR 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41
Π¨Π°Π³ ΠΏΠ΅ΡΠ²ΡΠΉ: ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ PCRE2
ΠΠΏΡΡΡΠΈΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΈΡΠ°ΠΊ Π²Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π»ΠΈ Π°ΡΡ ΠΈΠ², ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ PCRE2, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
Π ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠ½Π°ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ°.
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ 8-Π±ΠΈΡΠ½ΡΠΉ, 16-Π±ΠΈΡΠ½ΡΠΉ ΠΈ 32-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ PCRE, Π² Π΄Π°Π½Π½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠ° Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Ρ Π½ΠΈΠΌΠΈ.
ΠΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π΄Π΅Π»ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
make
make install
ΠΡΠ»ΠΈ Π²ΡΠ΅ Π½ΠΎΡΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΡΠ»Π° Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ.
Π¨Π°Π³ Π²ΡΠΎΡΠΎΠΉ: ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² APR Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PCRE2
Π’Π°ΠΊ ΠΊΠ°ΠΊ Apache ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ APR, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΡΠ°ΠΌΠΎΠΌ APR, ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ± Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ Apache, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ PCRE2.
ΠΠΏΡΡΡΠΈΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΈΡΠ°ΠΊ Π²Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π»ΠΈ Π°ΡΡ ΠΈΠ² Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ APR:
./configure --prefix=/etc/webserver/apr-170
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ΄Π΅ΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³: /etc/webserver/srcsrv/apr-1.7.0/build
ΠΡ ΠΈΠ»ΠΈ: /Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ/build
ΠΠ°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» apr_rules.mk Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π²ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ Π³Π΄Π΅:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
-lpcre2-8 -L/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/lib
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΠ΄Π΅ΠΌ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² APR: /Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ APR:
make
make install
ΠΡΠ»ΠΈ Π²ΡΠ΅ Π½ΠΎΡΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΡΠ»Π° Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ.
Π¨Π°Π³ ΡΡΠ΅ΡΠΈΠΉ: ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² APR-util Π΄Π»Ρ Apache
ΠΡ ΡΠΊΠ°ΡΠ°Π»ΠΈ Π΄Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° Ρ APR-util, ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
make
make install
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π’Π°ΠΊ ΠΆΠ΅ ΡΡΡ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π°Ρ APR:
--with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
Π¨Π°Π³ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ: ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΈΠ· Π³ΠΈΡΠ° Apache Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ PCRE2
ΠΠ°ΠΆΠ½ΠΎ: ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π΅ΠΌ ΠΈΠ· Π³ΠΈΡΠ° ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ.
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π΄Π²Π° ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ap_regex.h ΠΈ util_pcre.c, ΡΡΡΠ»ΠΊΠΈ Π½ΠΈΠΆΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ΄Π΅ΠΌ Π² ΡΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Apache httpd, ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Apache ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr --with-apr-util=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr-util --with-pcre=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/bin/pcre2-config
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Apache httpd
Π’Π°ΠΊ ΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Apache ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅, Ρ ΠΈΠΌΠ΅Ρ Π²Π²ΠΈΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅ΠΌ Π² ΡΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Apache httpd, Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ:
/etc/webserver/srcsrv/httpd-2.4.41
ΠΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
/etc/webserver/srcsrv/httpd-2.4.41/include
Π€Π°ΠΉΠ» ap_regex.h, Π½Π° ΡΠΊΠ°ΡΠ°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ Ρ Π³ΠΈΡΠ° Apache.
Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠ΄Π΅ΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³:
/etc/webserver/srcsrv/httpd-2.4.41/server
ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» util_pcre.c, Π½Π° ΡΠΊΠ°ΡΠ°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ Ρ Π³ΠΈΡΠ° Apache
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ PCRE2 Π² ΡΠ°ΠΌΠΎΠΌ Apache, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ» ap_config_auto.h, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
/etc/webserver/srcsrv/httpd-2.4.41/include
Π ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
/* Load PCRE2 */
#define HAVE_PCRE2 1
ΠΡ Π²ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Apache httpd Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ PCRE2.
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΡΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Apache httpd, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π΄Π΅Π»ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
make
make install
ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΈ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Apache httpd Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ PCRE2, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ Apache ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ PCRE ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Module rewrite.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PCRE2 Π΄ΠΎ ΠΎΡ ΡΠ΅Π»ΠΈΠ·Π° ΠΎΡ Apache Software Foundation, Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΡΠΆΠ΅ ΡΠΊΠΎΡΠΎ Π²ΡΠΉΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ PCRE2.
Π’Π°ΠΊ ΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ .htaccess, ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°Ρ .
P.S.
ΠΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠ³Π°Π»Π° ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΡΡ
ΡΠ°Π·Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ PCRE Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ°, ΠΈ Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com