ಅಪಾಚೆ 2 ಗಾಗಿ PCRE2.4 ಬೆಂಬಲವನ್ನು ಹೇಗೆ ಮಾಡುವುದು

ಅಪಾಚೆ 2.4 ಅನ್ನು PCRE2 ಗೆ ಭಾಷಾಂತರಿಸುವ ನನ್ನ ಅನುಭವವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಾನು ಬಯಸುತ್ತೇನೆ, ಏಕೆಂದರೆ PHP 7 ಸಹ PCRE2 ಲೈಬ್ರರಿಯನ್ನು ದೀರ್ಘಕಾಲ ಬೆಂಬಲಿಸಿದೆ, ಆದರೆ ತೆರೆದ ಮೂಲ Apache ಸಾಫ್ಟ್‌ವೇರ್ ಫೌಂಡೇಶನ್ ಇನ್ನೂ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
ಸಹಜವಾಗಿ, ನಾನು ಈಗ PCRE2 ಬೆಂಬಲದೊಂದಿಗೆ Apache ಬಿಡುಗಡೆಗಿಂತ ಮುಂದಿದ್ದೇನೆ, ಏಕೆಂದರೆ ನಾನು Apache git ನಿಂದ ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ, ಮುಂದಿನ ಬಿಡುಗಡೆಯಲ್ಲಿ PCRE2 ಬೆಂಬಲವು ಈಗಾಗಲೇ ಸಾಧ್ಯ ಎಂದು ನಮಗೆ ಹೇಳುತ್ತದೆ, ಆದರೆ PCRE2 ಬೆಂಬಲವನ್ನು ಈಗಾಗಲೇ ಬಯಸುವವರಿಗೆ ಅಪಾಚೆ 2.4, ಮತ್ತು ಬಿಡುಗಡೆಗಾಗಿ ಕಾಯಲು ಬಯಸದವರು ನಾನು ಒಂದು ಮಾರ್ಗವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ.

ಬರೆಯುವ ಸಮಯದಲ್ಲಿ ನೀವು ಮೂಲ ಕೋಡ್, ಸಾಫ್ಟ್‌ವೇರ್ ಮತ್ತು ಆವೃತ್ತಿಗಳ ಪಟ್ಟಿಯಿಂದ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಲೇಖನವು ಊಹಿಸುತ್ತದೆ:

PCRE2-10.33
ಎಪಿಆರ್ 1.7.0
ಎಪಿಆರ್-ಯೂಟಿಲ್ 1.6.1
ಅಪಾಚೆ 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-ಬಿಟ್ ಪಿಸಿಆರ್‌ಇ ಕೋಡ್ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವುದನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಈ ಆವೃತ್ತಿಯಲ್ಲಿ ಜೋಡಣೆಯನ್ನು ಅವರೊಂದಿಗೆ ನಡೆಸಲಾಯಿತು.

ಮತ್ತು ಸಹಜವಾಗಿ, ಆಜ್ಞೆಗಳ ಅನುಕ್ರಮ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಈ ವಿಷಯವನ್ನು ಕಂಪೈಲ್ ಮಾಡುತ್ತೇವೆ:

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

APR ಮೂಲಗಳ ಮೂಲ ಡೈರೆಕ್ಟರಿಗೆ ಉಳಿಸಿ ಮತ್ತು ಹೋಗಿ: /your/path/to the library.

ನಮ್ಮ ಮಾರ್ಪಡಿಸಿದ APR ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡೋಣ:

make
make install

ಎಲ್ಲವೂ ಉತ್ತಮವಾಗಿದ್ದರೆ ಮತ್ತು ಸಂಕಲನವು ದೋಷಗಳಿಲ್ಲದೆ ಹೋದರೆ, ಮುಂದಿನ ಹಂತಕ್ಕೆ ತೆರಳಿ.

ಹಂತ ಮೂರು: ಮೂಲಗಳಿಂದ Apache ಗಾಗಿ APR-util ಅನ್ನು ನಿರ್ಮಿಸಿ

ನೀವು ಮೂಲದಿಂದ ಈ ಲೈಬ್ರರಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ್ದೀರಿ, APR-util ನೊಂದಿಗೆ ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲಾದ ಆರ್ಕೈವ್‌ನ ಮೂಲ ಫೋಲ್ಡರ್‌ಗೆ ಹೋಗಿ ಮತ್ತು ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ನಮೂದಿಸಿ:

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

ಸ್ವಾಭಾವಿಕವಾಗಿ, ನೀವು ಗ್ರಂಥಾಲಯವನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಮಾಣಿತ ಸ್ಥಳವನ್ನು ಬಳಸಲು ಬಯಸದಿದ್ದರೆ ಅಥವಾ ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ ಪೂರ್ವಪ್ರತ್ಯಯದಲ್ಲಿ ನಿಮ್ಮ ಮಾರ್ಗವನ್ನು ಸೂಚಿಸುತ್ತೀರಿ:

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

ನಾವು ನಮ್ಮ APR ಅನ್ನು ಸಹ ಇಲ್ಲಿ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ:

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

ಹಂತ ನಾಲ್ಕು: PCRE2 ಅನ್ನು ಬೆಂಬಲಿಸಲು Apache git ನಿಂದ ಮೂಲಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ

ಪ್ರಮುಖ: ನಾವು git ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯಿಂದ ಮೂಲಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತೇವೆ.

ನಾವು ap_regex.h ಮತ್ತು util_pcre.c ನಂತಹ ಎರಡು ಮೂಲಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗಿದೆ, ಕೆಳಗಿನ ಲಿಂಕ್‌ಗಳು:
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 ಅನ್ನು ನಿರ್ಮಿಸಲು ಹೆಚ್ಚುವರಿ ಆಜ್ಞೆಗಳನ್ನು ಸಹ ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಅಂದರೆ ಮಾಡ್ಯೂಲ್‌ಗಳು ಮತ್ತು ಲೈಬ್ರರಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಆಜ್ಞೆಗಳು.

ಮುಂದೆ ನಾವು ನಮ್ಮ ಅಪಾಚೆ httpd ಮೂಲ ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗುತ್ತೇವೆ, ನಾನು ಇದನ್ನು ಹೊಂದಿದ್ದೇನೆ:

/etc/webserver/srcsrv/httpd-2.4.41

ನೀವು ಸ್ವಾಭಾವಿಕವಾಗಿ ನಿಮ್ಮ ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗಿ, ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬದಲಾಯಿಸಿ:

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

ನಾವು Apache git ನಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ap_regex.h ಫೈಲ್.

ನಾವು ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗುತ್ತೇವೆ:

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

ನಾವು Apache git ನಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಫೈಲ್ util_pcre.c ಅನ್ನು ಬದಲಾಯಿಸುತ್ತೇವೆ

ಈಗ ಉಳಿದಿರುವುದು PCRE2 ಸಂಪರ್ಕವನ್ನು Apache ನಲ್ಲಿಯೇ ಸೇರಿಸುವುದು, ನೀವು ap_config_auto.h ಫೈಲ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು, ಅದು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿದೆ:

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

ಈ ಫೈಲ್‌ನ ಪ್ರಾರಂಭದಲ್ಲಿ, ಈ ಕೆಳಗಿನ ಸಾಲುಗಳನ್ನು ಸೇರಿಸಿ:

/* Load PCRE2 */
#define HAVE_PCRE2 1

ಸರಿ, ಈಗ ನಾವು PCRE2 ಬೆಂಬಲದೊಂದಿಗೆ Apache httpd ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವ ನೈಜ ಕ್ಷಣಕ್ಕೆ ಸಿದ್ಧರಾಗಿದ್ದೇವೆ.
ನಮ್ಮ ಅಪಾಚೆ httpd ಮೂಲ ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗೋಣ ಮತ್ತು ಆಜ್ಞೆಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ ಇದನ್ನು ಕಂಪೈಲ್ ಮಾಡೋಣ:

make
make install

ಈಗ, ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಮತ್ತು ದೋಷಗಳಿಲ್ಲದೆ ನಡೆದರೆ, ನೀವು PCRE2 ಬೆಂಬಲದೊಂದಿಗೆ Apache httpd ಅನ್ನು ಜೋಡಿಸಿ ಮತ್ತು ಕಂಪೈಲ್ ಮಾಡುತ್ತೀರಿ, ಅಂದರೆ PCRE ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸುವ Apache ಮಾಡ್ಯೂಲ್‌ಗಳಲ್ಲಿ ಧನಾತ್ಮಕ ಬದಲಾವಣೆಗಳು, ಇವುಗಳಲ್ಲಿ ಒಂದು ಮಾಡ್ಯೂಲ್ ಪುನಃ ಬರೆಯುವುದು.

ಕೊನೆಯಲ್ಲಿ, ಈ ವಿಧಾನವು ಅಪಾಚೆ ಸಾಫ್ಟ್‌ವೇರ್ ಫೌಂಡೇಶನ್‌ನಿಂದ ಬಿಡುಗಡೆಯ ಮೊದಲು PCRE2 ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, PCRE2 ಬೆಂಬಲದೊಂದಿಗೆ ಆವೃತ್ತಿಯನ್ನು ಶೀಘ್ರದಲ್ಲೇ ಬಿಡುಗಡೆ ಮಾಡಲಾಗುವುದು ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

ಅಲ್ಲದೆ, ಪ್ರಮಾಣಿತ .htaccess ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ, ಯಾವುದೇ ದೋಷಗಳು ಸಂಭವಿಸಿಲ್ಲ, ಯಾರಾದರೂ ಯಾವುದೇ ದೋಷಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಬರೆಯಿರಿ.

ಪಿಎಸ್

ನನ್ನ ಸ್ಟಾಕ್‌ಗಾಗಿ ಪಿಸಿಆರ್‌ಇಯ ಎರಡು ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ಬಳಸುವ ಪರಿಸ್ಥಿತಿಯಿಂದ ನಾನು ಸ್ವಲ್ಪ ಗೊಂದಲಕ್ಕೊಳಗಾಗಿದ್ದೇನೆ ಮತ್ತು ಅದನ್ನು ಸರಿಪಡಿಸಲು ನಾನು ನಿರ್ಧರಿಸಿದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ