அப்பாச்சி 2க்கு PCRE2.4 ஆதரவை எவ்வாறு உருவாக்குவது

அப்பாச்சி 2.4 ஐ PCRE2 க்கு மொழிபெயர்ப்பதில் எனது அனுபவத்தைப் பகிர்ந்து கொள்ள விரும்புகிறேன், ஏனெனில் PHP 7 கூட நீண்ட காலமாக PCRE2 நூலகத்தை ஆதரிக்கிறது, ஆனால் திறந்த மூல அப்பாச்சி மென்பொருள் அறக்கட்டளை இன்னும் அவ்வாறு செய்யவில்லை.
நிச்சயமாக, நான் இப்போது PCRE2 ஆதரவுடன் Apache வெளியீட்டை விட முன்னால் இருக்கிறேன், ஏனென்றால் நான் Apache git இலிருந்து ஆதாரங்களைப் பயன்படுத்துகிறேன், இது PCRE2 ஆதரவு அடுத்த வெளியீட்டில் ஏற்கனவே சாத்தியம் என்று கூறுகிறது, ஆனால் PCRE2 ஆதரவை ஏற்கனவே விரும்புபவர்களுக்கு Apache 2.4, மற்றும் வெளியீட்டில் காத்திருக்க விரும்பாதவர்கள் நான் வழிகளில் ஒன்றைப் பகிர்ந்து கொள்கிறேன்.

கட்டுரை எழுதும் நேரத்தில் மூலக் குறியீடு, மென்பொருளின் பட்டியல் மற்றும் பதிப்புகளில் இருந்து தேவையான அனைத்து மென்பொருட்களையும் நீங்கள் சேகரிக்கிறீர்கள் என்று கருதுகிறது:

PCRE2-10.33
ஏப். 1.7.0
APR-util 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=/ваш/путь/до библиотеки

எங்கள் ஏபிஆரையும் இங்கே இணைக்கிறோம்:

--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

ap_regex.h கோப்பு, நாங்கள் Apache git இலிருந்து பதிவிறக்கம் செய்தோம்.

நாங்கள் கோப்பகத்திற்கும் செல்கிறோம்:

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

util_pcre.c கோப்பை நாங்கள் Apache git இலிருந்து பதிவிறக்கியதை மாற்றுகிறோம்

இப்போது அப்பாச்சியில் PCRE2 இணைப்பைச் சேர்ப்பது மட்டுமே எஞ்சியுள்ளது, நீங்கள் ap_config_auto.h கோப்பைக் கண்டுபிடிக்க வேண்டும், அது கோப்பகத்தில் அமைந்துள்ளது:

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

இந்த கோப்பின் ஆரம்பத்தில், பின்வரும் வரிகளைச் செருகவும்:

/* Load PCRE2 */
#define HAVE_PCRE2 1

சரி, இப்போது PCRE2 ஆதரவுடன் Apache httpd ஐ தொகுக்கும் உண்மையான தருணத்திற்கு நாங்கள் தயாராக உள்ளோம்.
எங்கள் Apache httpd மூல கோப்பகத்திற்குச் சென்று, கட்டளைகளை தொடர்ச்சியாக செயல்படுத்துவதன் மூலம் தொகுக்கலாம்:

make
make install

இப்போது, ​​எல்லாம் சரியாக மற்றும் பிழைகள் இல்லாமல் நடந்தால், நீங்கள் PCRE2 ஆதரவுடன் Apache httpd ஐ அசெம்பிள் செய்து தொகுத்திருப்பீர்கள், அதாவது PCRE ரெகுலர் எக்ஸ்ப்ரெஷன்களைப் பயன்படுத்தும் அப்பாச்சி மாட்யூல்களில் நேர்மறையான மாற்றங்கள், இதில் ஒன்று மாட்யூல் ரிரைட் ஆகும்.

முடிவில், இந்த முறையானது அப்பாச்சி மென்பொருள் அறக்கட்டளையின் வெளியீட்டிற்கு முன் PCRE2 ஐப் பயன்படுத்துவதை சாத்தியமாக்குகிறது, PCRE2 ஆதரவுடன் கூடிய பதிப்பு விரைவில் வெளியிடப்படும் என்று நம்புகிறேன்.

மேலும், நிலையான .htaccess சோதனையின் போது, ​​எந்த பிழையும் ஏற்படவில்லை, யாராவது ஏதேனும் பிழைகள் இருந்தால், கருத்துகளில் எழுதவும்.

சோசலிஸ்ட் கட்சி

எனது ஸ்டேக்கிற்கு PCRE இன் இரண்டு வெவ்வேறு பதிப்புகளைப் பயன்படுத்தும் சூழ்நிலையால் நான் கொஞ்சம் குழப்பமடைந்தேன், அதை சரிசெய்ய முடிவு செய்தேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்