ΠΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π°ΠΌ ΠΌΠΎΠ΅ΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ Π·Π° ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Apache 2.4 Π½Π° PCRE2, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΄ΡΡΠΈ ΠΈ PHP 7 ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° PCRE2 Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½ΠΎ Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ°ΡΠ° ΡΠΎΡΡΠ²Π΅Ρ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Apache ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°.
Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ΅Π³Π° ΡΡΠΌ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° Apache ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° PCRE2, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Apache git, ΡΡΠΎ Π½ΠΈ ΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° PCRE2 Π΅ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½Π° Π²ΠΎ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, Π½ΠΎ Π·Π° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π²Π΅ΡΠ΅ ΡΠ°ΠΊΠ°Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° PCRE2 Π²ΠΎ Apache 2.4, Π° ΠΊΠΎΠΈ Π½Π΅ ΡΠ°ΠΊΠ°Π°Ρ Π΄Π° ΡΠ΅ΠΊΠ°Π°Ρ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΠΌ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΡΠΈΠ½ΠΈΡΠ΅.
Π‘ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π΅ΠΊΠ° Π³ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»ΠΈΠΎΡ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄, ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΎΡΡΠ²Π΅Ρ ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅:
PCRE2-10.33
ΠΠΠ 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
ΠΠΊΠΎ ΡΓ¨ Π΅ Π²ΠΎ ΡΠ΅Π΄ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠΌΠΈΠ½Π° Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ.
Π§Π΅ΠΊΠΎΡ Π΄Π²Π°: ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° PCRE2 ΡΠΎ APR
ΠΠΈΠ΄Π΅ΡΡΠΈ Apache Π³ΠΈ ΡΠΎΡΡΠ°Π²ΡΠ²Π° ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ APR, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° Π²ΠΊΠ»ΡΡΠΈΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΠΎ ΡΠ°ΠΌΠ°ΡΠ° APR, ΠΈΠ½Π°ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° Π½Π΅ΠΏΠΎΠ·Π½Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ Π½Π° Apache, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ PCRE2.
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΈΡΠΏΡΡΡΠΈΠΌΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ ΠΈΠ·Π²ΠΎΡΠΈ ΠΎΠ΄ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΎΠ²Π° Π΅ ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ, ΠΏΠ° ΡΠ° ΠΎΡΠΏΠ°ΠΊΡΠ²Π°Π²ΡΠ΅ Π°ΡΡ ΠΈΠ²Π°ΡΠ° ΠΈ ΡΠ° ΠΈΠ·Π²ΡΡΠΈΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° APR:
./configure --prefix=/etc/webserver/apr-170
Π‘Π΅ΠΊΠ°ΠΊΠΎ, ΡΠ° ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΠΏΠ°ΡΠ΅ΠΊΠ° Π²ΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΡ Π°ΠΊΠΎ Π½Π΅ ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π»ΠΎΠΊΠ°ΡΠΈΡΠ° Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π½Π΅ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ° Π·Π°Π²ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ°, ΠΎΠ΄Π΅ΡΠ΅ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ: /etc/webserver/srcsrv/apr-1.7.0/build
ΠΠ»ΠΈ: /ΡΠ²ΠΎΡΠ°ΡΠ°/ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ°/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°/Π³ΡΠ°Π΄Π±Π°ΡΠ°
ΠΠ°ΡΠ΄Π΅ΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° apr_rules.mk Π²ΠΎ ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈ Π΄ΠΎΠ΄Π°ΡΡΠ΅ Π³ΠΈ Π»ΠΈΠ½ΠΈΠΈΡΠ΅ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΊΠ°Π΄Π΅ ΡΡΠΎ:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
ΠΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°:
-lpcre2-8 -L/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/lib
ΠΠ°ΡΡΠ²Π°ΡΡΠ΅ ΠΈ ΠΎΠ΄Π΅ΡΠ΅ Π²ΠΎ root Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ Π½Π° ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ Π½Π° APR: /your/path/to Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°.
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΠΠ :
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 git Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° PCRE2
ΠΠ°ΠΆΠ½ΠΎ: ΠΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΠΌΠ΅ ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Π½Π°ΡΠ½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° git.
Π’ΡΠ΅Π±Π° Π΄Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ΠΌΠ΅ Π΄Π²Π° ΠΈΠ·Π²ΠΎΡΠ° ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ 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 git.
ΠΠ΄ΠΈΠΌΠ΅ ΠΈ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ:
/etc/webserver/srcsrv/httpd-2.4.41/server
ΠΠ°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° util_pcre.c ΡΠ° Π·Π°ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΡΠΎ ΠΎΠ½Π°Π° ΡΡΠΎ ΡΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ°Π²ΠΌΠ΅ ΠΎΠ΄ Apache git
Π‘Π΅Π³Π° ΠΎΡΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π²ΡΡΠΊΠ°ΡΠ° 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, ΡΠ΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° Π½Π°ΡΠΊΠΎΡΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ°Π²Π΅Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° PCRE2.
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ .htaccess, Π½Π΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π½Π΅ΠΊΠΎΡ ΠΈΠΌΠ° Π½Π΅ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ.
PS
ΠΠ΅Π² ΠΌΠ°Π»ΠΊΡ Π·Π±ΡΠ½Π΅Ρ ΠΎΠ΄ ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π΄Π° ΠΊΠΎΡΠΈΡΡΠ°ΠΌ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° PCRE Π·Π° ΠΌΠΎΡΠΎΡ ΠΎΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠΈΠ² Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²Π°ΠΌ.
ΠΠ·Π²ΠΎΡ: www.habr.com