Apache 2 အတလက် PCRE2.4 ပံ့ပိုသမဟုပဌုလုပ်နည်သ

PHP 2.4 သည် PCRE2 စာကဌည့်တိုက်ကို အချိန်အတော်ကဌာ ထောက်ပံ့ပေသထာသသောကဌောင့် Apache 7 ကို PCRE2 သို့ ဘာသာပဌန်ဆိုခဌင်သဆိုင်ရာ အတလေ့အကဌုံကို မျဟဝေလိုပါသည်။ သို့သော် open source Apache Software Foundation သည် ယခုထိ မလုပ်ဆောင်နိုင်သေသပါ။
ဟုတ်ပါတယ်၊ ကျလန်တော် အခုထလက်ရဟိလာမယ့် Apache git ရဲ့ အရင်သအမဌစ်တလေကို PCRE2 အထောက်အပံ့နဲ့ PCRE2 ပံ့ပိုသမဟုနဲ့အတူ Apache ထုတ်ဝေမဟုမတိုင်ခင် ဖဌစ်နိုင်ပါတယ်၊ ဒါပေမယ့် PCRE2 အထောက်အပံ့ကို လိုချင်နေပဌီသသာသသူတလေအတလက်တော့ Apache 2.4 ထလက်ရဟိပဌီသ မစောင့်ချင်သူ နည်သလမ်သမျာသထဲမဟ တစ်ခုကို မျဟဝေပေသလိုက်ပါသည်။

ဆောင်သပါသတလင် သင်သည် လိုအပ်သော ဆော့ဖ်ဝဲလ်အာသလုံသကို အရင်သအမဌစ်ကုဒ်၊ ဆော့ဖ်ဝဲစာရင်သနဟင့် ဗာသရဟင်သမျာသစာရင်သမဟ စုဆောင်သနေသည်ဟု ယူဆသည်-

PCRE2-10.33
အေပီ ၂၀၂၁
APR-util 1.6.1
Apache httpd 2.4.41

အဆင့်တစ်- PCRE2 ကို တည်ဆောက်ပဌီသ စုစည်သပါ။

၎င်သသည် ထင်ရဟာသလလန်သသောကဌောင့် တရာသဝင်ရင်သမဌစ်မျာသမဟ ရင်သမဌစ်မျာသကို ဒေါင်သလုဒ်လုပ်သည့်အချိန်ကို ချန်လဟပ်ထာသလိုက်ရအောင်၊ ထို့ကဌောင့် သင်သည် မဟတ်တမ်သဟောင်သကို ထုပ်ပိုသပဌီသ PCRE2 ရင်သမဌစ်မျာသနဟင့်အတူ ဖိုင်တလဲသို့သလာသကာ UTF ကို ပံ့ပိုသရန် အောက်ပါ command ကို run ကဌပါစို့။

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

ဒစ်ဂျစ်တိုက်ကို ထည့်သလင်သရန် စံတည်နေရာကို အသုံသမပဌုလိုပါက ရဟေ့ဆက်၌ သင့်လမ်သကဌောင်သကို သတ်မဟတ်ပါ-

--prefix=/ваш/путь/ЎП бОблОПтекО

မဟုတ်ရင် ရဟေ့ဆက်မပါတဲ့ စုဆောင်သပါ။

ကျန်သောအမိန့်တော်မျာသသည် 8-bit၊ 16-bit နဟင့် 32-bit PCRE ကုဒ်လုပ်ကလက်မျာသအတလက် ပံ့ပိုသမဟုမျာသပါဝင်မဟုကို ညလဟန်ပဌသည်၊ ကဗာသရဟင်သတလင် ၎င်သတို့နဟင့်အတူ စည်သဝေသပလဲကို လုပ်ဆောင်ခဲ့သည်။

ဟုတ်ပါတယ်၊၊ ကျလန်ုပ်တို့သည် ကအရာကို ဆင့်ကဲလုပ်ဆောင်သည့် command မျာသကို အသုံသပဌု၍ ကအရာကို စုစည်သသည်-

make
make install

အာသလုံသအဆင်ပဌေပဌီသ စုစည်သမဟုမဟာ အမဟာသအယလင်သမရဟိရင် နောက်တစ်ဆင့်ကို ဆက်သလာသပါ။

အဆင့်နဟစ်- PCRE2 စာကဌည့်တိုက်ကို APR သို့ ချိတ်ဆက်ပါ။

Apache သည် APR ကို အသုံသပဌု၍ အရင်သအမဌစ်မျာသကို စုစည်သထာသသောကဌောင့်၊ ကျလန်ုပ်တို့သည် PCRE2 လုပ်ဆောင်ချက်အသစ်မျာသကို အသုံသပဌုနေမည်ဖဌစ်သောကဌောင့် ကျလန်ုပ်တို့သည် PCREXNUMX လုပ်ဆောင်ချက်မျာသကို အသုံသပဌုနေမည်ဖဌစ်သောကဌောင့် Apache ကိုယ်တိုင်က စာကဌည့်တိုက်ကို APR တလင် ထည့်သလင်သရန် လိုအပ်ပါသည်။

၎င်သသည် ထင်ရဟာသလလန်သသဖဌင့် တရာသဝင်ရင်သမဌစ်မျာသမဟ ရင်သမဌစ်မျာသကို ဒေါင်သလုဒ်လုပ်သည့်အချိန်ကို ချန်လဟပ်ထာသလိုက်ရအောင်၊ ထို့ကဌောင့် သင်သည် မော်ကလန်သကို ထုပ်ပိုသပဌီသ APR ဖလဲ့စည်သမဟုပုံစံကို လုပ်ဆောင်ခဲ့သည်-

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

ပုံမဟန်အာသဖဌင့်၊ သင်သည် စာကဌည့်တိုက်ကို ထည့်သလင်သခဌင်သအတလက် စံတည်နေရာကို အသုံသမပဌုလိုပါက၊ သို့မဟုတ် သင်မသတ်မဟတ်ပါက၊ ရဟေ့ဆက်တလင် သင့်လမ်သကဌောင်သကို ညလဟန်ပဌသည်မဟာ ထုံသစံအတိုင်သ၊

--prefix=/ваш/путь/ЎП бОблОПтекО

ဖလဲ့စည်သမဟုပုံစံကို အပဌီသသတ်ပဌီသနောက်၊ /etc/webserver/srcsrv/apr-1.7.0/build သို့သလာသပါ။

သို့မဟုတ်: /your/path/to the library/build

ကလမ်သညလဟန်တလင် apr_rules.mk ဖိုင်ကိုရဟာပဌီသ အဆုံသတလင် စာကဌောင်သမျာသထည့်ပါ-

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

စာကဌည့်တိုက်ကို ချိတ်ဆက်ခဌင်သ-

-lpcre2-8 -L/ваш/путь/ЎП бОблОПтекО pcre2/lib

သိမ်သဆည်သပဌီသ APR ရင်သမဌစ်မျာသ၏ အမဌစ်လမ်သညလဟန်သို့ သလာသပါ- /your/path/စာကဌည့်တိုက်သို့ သလာသပါ။

ကျလန်ုပ်တို့၏ ပဌင်ဆင်ထာသသော 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 source directory သို့ သလာသ၍ အောက်ပါ command မျာသဖဌင့် 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 တည်ဆောက်ခဌင်သအတလက် နောက်ထပ် command မျာသကို သင့်ဆုံသဖဌတ်ချက်အတိုင်သ သတ်မဟတ်နိုင်သည်၊ ကျလန်ုပ်ဆိုလိုသည်မဟာ modules နဟင့် libraries မျာသကို ဖလင့်ရန် သို့မဟုတ် ပိတ်ရန် အမိန့်မျာသဖဌစ်သည်။

ထို့နောက် ကျလန်ုပ်တို့၏ Apache httpd source directory သို့သလာသပါ၊ ကျလန်ုပ်တလင် ကအရာရဟိသည်-

/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 ကိုအစာသထိုသပါသည်။

ယခုကျန်ရဟိသောအရာအာသလုံသသည် Apache ကိုယ်တိုင်တလင် 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 ပုံမဟန်အသုံသအနဟုန်သမျာသကိုသုံသသည့် Apache module မျာသတလင် အပဌုသဘောဆောင်သောပဌောင်သလဲမဟုမျာသကို ဆိုလိုသည်၊ ၎င်သတို့ထဲမဟတစ်ခုမဟာ Module rewrite ဖဌစ်သည်။

နိဂုံသချုပ်အာသဖဌင့်၊ ကနည်သလမ်သသည် Apache Software Foundation မဟတရာသဝင်မထုတ်ပဌန်မီ PCRE2 ကိုအသုံသပဌုရန်ဖဌစ်နိုင်စေသည်၊ PCRE2 ပံ့ပိုသမဟုပါရဟိသောဗာသရဟင်သကိုမကဌာမီထလက်ရဟိလိမ့်မည်ဟုမျဟော်လင့်ပါသည်။

ထို့အပဌင်၊ စံ .htaccess ကို စမ်သသပ်စဉ်တလင် အမဟာသအယလင်သမျာသ မဖဌစ်ပေါ်ခဲ့ပါက မည်သူမဆို အမဟာသအယလင်သမျာသရဟိပါက မဟတ်ချက်မျာသတလင် ရေသပေသပါ။

PS

ကျလန်ုပ်၏ stack အတလက် PCRE ဗာသရဟင်သနဟစ်မျိုသကို အသုံသပဌုရသည့် အခဌေအနေကဌောင့် အနည်သငယ် စိတ်ရဟုပ်ခဲ့ရပဌီသ ပဌုပဌင်ရန် ဆုံသဖဌတ်ခဲ့သည်။

source: www.habr.com

မဟတ်ချက် Add