Մասնագիտական զարգացումը միշտ կենտրոնանում է սեփական գործիքների վրա. սա պարտավորությունների հուսալի և արդյունավետ կատարման երաշխիք է: Սեփական հոսթինգը և սերվերները տարբեր նպատակների համար մի շարք հանրաճանաչ կոնֆիգուրացիաներում ընդլայնում են լուծելիք առաջադրանքների շրջանակը, մեծացնում զարգացումների անվտանգությունն ու գաղտնիությունը:
Մայրենի HTTP՝ Apache, PHP, MySQL
Apache վեբ սերվերը ամուր առաջատար է անցյալ դարից ի վեր, քանի որ այն ապահովում է արագ, հուսալի և անվտանգ փորձ: Ֆիզիկական մեքենան և Linux կամ Windows աշխատող սերվերը հիմքն են, HTTP-ն հավելումն է, թեև այն, ըստ էության, հաղորդակցման արձանագրություն է: Windows մեքենան կարող է օգտագործվել որպես սերվեր, սակայն նախընտրելի է Linux ընտանիքը:
Apache-ը Windows-ում տեղական տարբերակ է, որն օգտագործվում է մեկ մեքենայի վրա՝ արտաքին սերվերների վրա տեղակայված ռեսուրսների մշակումը կրկնօրինակելու համար: Windows Server-ում տեղադրումը ընդունելի է, բայց ոչ շատ տարածված: Apache-ի տեղադրումը CentOs-ում տալիս է ավելի շատ տարբերակներ և օգտագործվում է տեղական և տեղական սերվերները կազմակերպելու համարգլոբալ ցանցեր։
Ենթադրվում է, որ Apache սերվերները սպասարկում են բոլոր ակտիվ վեբ ռեսուրսների ավելի քան 50%-ը, մնացածը բաժին է ընկնում Microsoft-ի, Sun-ի և այլ նմանատիպ արտադրանքներին: Իրականում, ֆիզիկական սերվերը և նրա օպերացիոն համակարգը կարող են լինել ամեն ինչ: HTTP սերվերը տեղադրված է պատրաստի հարթակի վրա և աշխատում է դրան զուգահեռ այլ հավելվածների հետ։ Apache-ն համարվում է ամբողջ Linux ընտանիքի բնիկ, բայց յուրաքանչյուր դեպքում այն ունի իր առանձնահատկությունները:
Անվճար, պարզ, հուսալի Linux համակարգեր և դրանց հավելվածները: Կարևոր չէ, թե ինչ եք օգտագործում. Ubuntu-ում Apache-ի տեղադրումն ու կարգավորումը շատ չի տարբերվում CentO-ներից, Debian-ից կամ FreeBSD-ից: Հաճախ որոշակի օպերացիոն համակարգի հագեցվածությունը լրացուցիչ ծրագրաշարով դեր է խաղում:
Լինուքսի ընտանիքը փոքր է համակարգի այս կամ այն միջուկի գծում «հարազատների» քանակով: Տարբերություններն ավելի շատ սոցիալական բնույթ են կրում՝ ծրագրավորողների կողմից օպերացիոն համակարգի հնարավորությունների ձևակերպմանը և իրականացմանը կապվածության իմաստով:
Իրականում հոսթինգի բարձրացման կոնկրետ խնդիր լուծելու համար դուք պետք է որոշեք անհրաժեշտ ֆունկցիոնալությունը, պահանջվող կատարումը, հայեցակարգային առաջնահերթությունները և Linux-ի ներկայացուցչի կոնկրետ ընտրությունը կամ կանգ առեք Windows Server-ի վրա:
Տեղական զարգացման առաջնահերթությունների տեղաշարժ
Դժվար է գնահատել գլոբալ ցանցի դերը ծրագրավորման զարգացման մեջ, բայց հեշտ է տեսնել ծանրության կենտրոնում իրական տեղաշարժ. ընդունված է դարձել տեղական հավելվածները որպես վեբ ռեսուրս կատարել: Պարզապես գրեք ծրագիրտեղական համակարգիչ - սրանք դրայվերներ, հակավիրուսներ, պարզ ֆունկցիոնալությամբ փոքր նախագծեր են: Ծրագրավորման լեզու … VBA, չնայած C/C++ կամ C կարող է օգտագործվել:
Ցանկացած տեղեկատվական նախագիծ ընկերության լոկալ ցանցի վեբ-ռեսուրս է, որին կարելի է մասամբ մուտք գործել համաշխարհային ցանցից, օրինակ՝ համակարգելու աշխատակիցների գործողությունները գրասենյակից դուրս, ճանապարհին կամ գործուղման ժամանակ:
MySQL, PHP, Apache. տեղային օգտագործման դեպքի կարգավորում՝ հավելվածի բոլորովին այլ դինամիկա, անհրաժեշտ ֆունկցիոնալություն: Այսօրվա ընկերությունները, անկախ չափից, աշխատողների թվից և ոլորտից, լրջորեն մտածում են ինտերնետ ծրագրավորման մասին՝ ինչպես տեղական, այնպես էլ համաշխարհային:
Միևնույն ժամանակ, վեբ ռեսուրսի տեղական ծրագրավորումը կարող է բաշխվել. ընկերության գրասենյակները կարող են տեղակայվել ցանկացած վայրում, բայց սա ինտերնետը չէ, այլ ընկերության բաշխված տեղական ցանցը:
MySQL, PHP, Apache-ի կարգավորում տեղական ձևով.
- հեշտ է կրկնօրինակել ցանցային համակարգիչներում;
- ապահովում է ակտիվ բաղադրիչը դինամիկ կերպով փոխելու կամ հաքերային փորձերը գնահատելու նմուշի հետ համադրելու հնարավորություն;
- հիմք է տալիս ստեղծել անվտանգության համակարգ, որը զուրկ է դասական ցանցային մեթոդներով հարձակման վտանգից:
Եթե հաշվի առնենք, որ Windows-ի միջավայրում MySQL-ն ու Apache-ը ծառայություններ են, իսկ PHP կոդը պարզ տեքստ է, որը մշակվում է HTTP սերվերի կողմից ճիշտ ժամանակին կանչված գործիքով (PHP թարգմանիչ), ապա փոփոխականության մակարդակը:, շարժունակությունը եւ կոդի դյուրատարությունը կլինիզգալիորեն ավելի բարձր, քան տեղական զարգացման գործիքները։
Պատրաստվում ենք Apache-ի տեղադրմանը
Նույնիսկ «սկզբի սկզբի» դարաշրջանում Unix օպերացիոն համակարգը սահմանեց հավատարմության չասված սկզբունքները։ Այդ ժամանակից ի վեր, այն ամենը, ինչ արվում էր Unix-ի նման համակարգերի ներքո, ավտոմատ կերպով թարգմանվում էր այլ հարթակներ: Windows-ում Apache-ի տեղադրումը չափազանց հեշտ է, սակայն լուրջ առաջադրանքները պահանջում են լավ մակարդակի փորձ և HTTP սերվերի կազմաձևման մանրամասն պատկերացում:
Նախ, դուք պետք է ներբեռնեք սերվերի վերջին տարբերակը (այսօր այն 2.4.33 տարբերակն է՝ 17.03.2018) պաշտոնական կայքից zip-archive ձևաչափով։ Սկզբում պետք է հիշել, որ սերվերի տարբերակները բազմաթիվ են և առաջարկվում են բազմաթիվ երրորդ կողմի ռեսուրսների վրա, ուստի կարևոր է ընտրել վստահելի վեբ ռեսուրսի վրա տեղակայված պաշտոնական իրականացում:
Նախկինում տարածված էր սերվերի տեղադրումը հատուկ տեղադրողի միջոցով: Այժմ սովորական պրակտիկա է պարզապես ընդլայնել zip արխիվը: Սա ավելի հեշտ է և հնարավորություն է տալիս հասկանալ կազմաձևման գործընթացի էությունը, որը շատ կարևոր է և հետագայում թույլ է տալիս օպտիմիզացնել սերվերը ցանկալի բեռնվածության և ֆունկցիոնալության համար:
Կազմաձևման ֆայլի խմբագրում
Սերվերի կազմաձևումը որոշվում է կոնֆիգուրացիայի ֆայլերի մի շարքով, որոնք գտնվում են conf պանակում: Հիմնական Apache-ի կազմաձևման ֆայլը httpd.conf. է
Դեպքերի ճնշող մեծամասնությունում անհրաժեշտ է փոփոխություններ կատարել հիմնական ֆայլում, պարզաբանել ssl-ի և վիրտուալ հոսթների համար պատասխանատու ֆայլերի բովանդակությունը։ Այլ կարգավորումները սովորաբարկատարվում են սերվերի աշխատանքի ընթացքում, երբ խնդիրներ են առաջանում կամ առաջադրանքներ են լուծվում: Հիմնականում հետագա կարգավորումները կապված են Apache-ի օպտիմալացման կամ նրա հնարավորությունների ընդլայնման հետ:
Սերվերը հաջողությամբ գործարկելու համար բավական է խմբագրել միայն մեկ տող (հերթականությամբ՝ 38-րդ), և Apache-ի կազմաձևումն ավարտված է:
Սերվերի կազմաձևման նախորդ տարբերակներում անհրաժեշտ էր բազմաթիվ փոփոխություններ կատարել իրական իրավիճակում, սակայն այժմ կա «ունիվերսալ» SRVROOT փոփոխական: Արժե նշել դրա ճիշտ արժեքը (ուղին դեպի սերվերի գտնվելու վայրը), և ամեն ինչ անմիջապես կաշխատի:
Սերվերի տեղակայման կարգ
Դուք պետք է զգույշ լինեք սերվերի գտնվելու վայրի վերաբերյալ: Apache-ն ինքնին հետաքրքիր է, բայց երբ այն հագեցած է PHP-ով և MySQL-ով, կրկնակի հետաքրքիր է: Ավելի լավ է, երբ վեբ մշակման հետ կապված ամեն ինչ մեկ տեղում է: Դուք կարող եք համաձայնել լռելյայն ուղիներին, բայց ժամանակակից ծրագրավորումն այնքան էլ իդեալական չէ դրա իրականացման մեջ, այնպես որ դուք ստիպված կլինեք ձեր մատը միանշանակ և հաճախ պահել զարկերակի վրա: Բացի այդ, հարմար տեղ ընտրելիս հասանելի կլինեն բոլոր սկզբնավորման և կազմաձևման ֆայլերը, ինչպես նաև տեղադրված արտադրանքների աշխատանքի գրանցամատյանները:
Ներբեռնված պաշտոնական Apache zip-արխիվը պետք է տեղակայվի ընտրված վայրում՝ տեղադրելով գործիքը և աշխատեք առանձին: Այս օրինակում C:\SCiA թղթապանակը գործիքն է (Apache24, PHP, MySQL, …), իսկ SCiB պանակը ստեղծված, պահպանվող կամ արդիականացված կայքերի աշխատանքն է:
ԱրդյունքումԱշխատանքի առաջին փուլում միայն bin, cgi-bin, conf, error, … ենթաթղթապանակներն իրենց ողջ բովանդակությամբ մտնում են C:\SCiA\Apache24 թղթապանակ::
Խմբագրել հյուրընկալող ֆայլը
Երկրորդ քայլը հյուրընկալող ֆայլի ճիշտ կարգավորումն է. ցույց է տալիս, թե տվյալ համակարգչի վրա որ IP հասցեները որ անուններով են քարտեզագրված: Եթե համակարգիչը մշակելու կամ պահպանելու է միայն մեկ կայք, ապա դուք ոչինչ չեք կարող փոխել:
Հիմնական IP - 127.0.0.1 սովորաբար միշտ մատնանշում է localhost-ը: Գործող hosts ֆայլը գտնվում է c:\Windows\System32\drivers\etc հասցեում և ունի հետևյալ տեսքը։
Հոսթ ֆայլը ճիշտ տեղում տեղադրելու համար անհրաժեշտ է օգտագործել հրամանի տողը ադմինիստրատորի ռեժիմում: Դուք կարող եք պատրաստել ֆայլի ճիշտ բովանդակությունը ձեր համակարգչի ֆայլային համակարգի ցանկացած կետում, բայց կարող եք գրել այն միայն c:\Windows\System32\drivers\etc-ում ադմինիստրատորի իրավունքներ ունեցող գործիքով: Դա անելու ամենահեշտ ձևը հրամանի տողն է:
Տեղադրեք Apache սերվեր
Չկա ավելի հեշտ բան: Բավական է գործարկել հրամանի տողը որպես ադմինիստրատոր և գնալ C:\SCiA\Apache24 թղթապանակ: Քանի որ սա Windows համակարգի ուղի է, օգտագործվում են առաջ շեղեր: Կոնկրետ դեպքում ուղին կարող է տարբեր լինել։ Բայց եթե դուք դեռևս կարող եք փորձարկել թղթապանակի անվանումը, որը կհյուրընկալի սուրբ երրորդությունը՝ Apache, PHP և MySQL, ապա դրանցից յուրաքանչյուրի համար թղթապանակների անունները փոխելն անիրագործելի է:
Այս դեպքում սերվերի արխիվը տեղակայվում է C:/SCiA/Apache24 պանակում,հետևաբար, դուք պետք է գրեք հրամանը bin թղթապանակում՝
httpd.exe -k install
Սերվերը կփորձարկի կազմաձևման ֆայլը և կտեղադրի ինքն իրեն: Ամենայն հավանականությամբ, կլինեն աննշան սխալներ, բայց եթե դուք ճիշտ խմբագրեք կազմաձևման ֆայլը, ապա բոլոր սխալները փոքր կլինեն և կարող են արագ շտկվել:
Հրամանի տողի Պատուհան (1) - ծառայության տեղադրում, պատուհան (2) - ծառայությունների ցանկը, որոնցում հայտնվել է սերվերը, պատուհան (3) - index.html աղբյուրի ֆայլը, որը գտնվում է С:/SCiB հասցեում: /localhost/www, պատուհան (4) - սերվերի արդյունքը:
Այս օրինակում միտումնավոր սխալ է թույլ տրվել. SRVROOT փոփոխականի արժեքը սահմանելու փոխարեն բազմաթիվ խմբագրումներ են կատարվել «հին ձևով». ամեն ինչ փոխվել է ձեռքով: Սա լավագույն լուծումը չէ։ Նախքան գիտելիքները կիրառելը, դուք պետք է ծանոթանաք արտադրանքի ընթացիկ տարբերակին: Որպես կանոն, ամեն ինչ արագ է փոխվում, և գիտելիքը պետք է կիրառվի «նյութի իմացությամբ և ներկա իրավիճակի ըմբռնմամբ»:
Zip արխիվի տեղակայման պրակտիկա
Ժամանակակից կայքերը միշտ չէ, որ գրված են բովանդակության կառավարման համակարգերում: Ձեռքի աշխատանքը շատ է։ Կայքը այլ հոսթինգ տեղափոխելու խնդիրը հանգեցրեց լավ լուծման՝ zip արխիվի։ Բովանդակությունը մի տեղ ծալվեց, մեկ այլ վայրում՝ ընդլայնվեց։
Տեղադրող ունենալը լավ պրակտիկա է, սակայն ժամանակակից տեղեկատվական տեխնոլոգիաների դինամիկան ժամանակ չի տալիս գեղեցիկ ինստալացիաներ գրելու համար։ Օգտագործեք տեղադրումը zip-archive-ի տեղադրման միջոցով՝ ժամանակակից, գործնական և հարմար: Այս տարբերակում Apache-ի կոնֆիգուրացիան սահմանափակվում է կազմաձևման ֆայլերի փոփոխությամբ:
Սերվերը տեղադրելիս կարևոր է նշել.
- որտեղ է նա;
- որտեղ գտնվում է վեբ ռեսուրսը (localhost);
- օգտագործելով ssl;
- վիրտուալ տանտեր.
Վերջին դիրքը տեղին է, երբ ենթադրվում է, որ այն սերվերի վրա միաժամանակ մշակում կամ պահպանում է մի քանի ռեսուրս: Իսկական ծրագրավորողի համար սա պարտադիր պայման է. եթե նույնիսկ այն ապահովում է մեկ կայքի աշխատանքը, ավելորդ չի լինի հետադարձ կապ ունենալը:
Ջենթլմենների հավաքածուներ
Հեշտ է տեղադրել zip արխիվը ակնհայտ է, Apache-ն (տեղադրումը և կազմաձևումը) ընդամենը երկու կամ երեք կտտոցով է հեռու: Այնուամենայնիվ, արդյունքը, երբ տեղադրողները հայտնի էին, համարժեք էր: Մշակողը պարզապես ավելի շատ ժամանակ է ծախսել իր արտադրանքի հաջորդ տարբերակը մշակելու համար: Սերվերի, սերվերի լեզվի և տվյալների բազայի տեղադրումը, ըստ էության, ընդամենը ֆայլերի, մեկնարկային ծառայությունների, հյուրընկալող ֆայլերի և օպերացիոն համակարգի փոփոխական ուղու լռելյայն ուղիներ է:
Դենվերի և նմանատիպ ջենթլմենների մշակման փաթեթների հայտնվելը հեղափոխական քայլ էր պարզության և հարմարության գծով, բայց մի սխալվեք: Հեղափոխությունն ու ծրագրավորումը բացարձակապես անհամատեղելի բաներ են։ Առաջինը կոնֆլիկտի երեխա է և դրա բուռն լուծումը, երկրորդը լուրջ խնդիր է, որը պահանջում է բացարձակ հանգստություն, ճշտապահություն, ճշգրտություն, հետևողականություն, ուշադիրություն, անվտանգություն, հուսալիություն:
Apache սերվերի կազմաձևումը լուրջ ընթացակարգ է, որը պետք է շատ զգույշ վարվի, և ամեն ինչ պետք է արվի, որպեսզի վաղը կարողանաք ինչ-որ բան փոխել և հստակեցնել:
Շատ դեպքերում վեբ մշակումռեսուրսները բավականին երկար գործընթացներ են, որոնցում ծառայությունների պահանջները (Apache, PHP, MySQL, …) արագ փոխվում են, բայց միշտ ժամանակ կա հասկանալու հաջորդ առաջադրանքը և դրա օպտիմալ լուծումը։ Բայց սա պատճառ չէ շարունակել ջենթլմենական սեթերը: Ժամանակն անցնում է, բայց պարոնը չի փոխվում, սա շատ ավելի համոզիչ փաստարկ է, քան Դենվերի հռչակագիրը. այն պարզ է, արագ և հասանելի:
Բազմաթիվ կայքեր - մեկ սերվեր
Apache 2.4-ի տեղադրումը միայնակ հոսթի համար չարդարացված շքեղություն է: Չնայած իր կոմպակտ դիզայնին, այս սերվերը մեծ պատասխանատվություն է կրում ինտերնետի ակտիվ վեբ ռեսուրսների կեսից ավելիի համար: Բացի այդ, ոչ բոլոր ռեսուրսներն ունեն ներկայացուցչական մաս և տեսանելի են ցանցում:
Սերվերը կարող է օգտագործվել որպես տվյալների բազա, որպես տեղեկատվության փոխանցման կետ, որպես զտիչ, որպես վերլուծիչ, որպես աշխատանքային մեխանիզմ ավելի գլոբալ տեղեկատվական գործընթացում: Արդյունքում, Apache-ի վիրտուալ հոսթերի տեղադրումը գրեթե միշտ պարտադիր է:
Մեկ սերվերը կարող է աջակցել այնքան վեբ ռեսուրսներ, որքան ցանկանում եք, դրա համար դուք պետք է հանեք 501 տողը httpd.conf ֆայլում՝:
Ներառել conf/extra/httpd-vhosts.conf
և նկարագրեք բոլոր անհրաժեշտ հոսթերները ֆայլում
extra\httpd-vhosts.conf
Հնարավոր է անհրաժեշտ լինի պարզաբանել, թե որ նավահանգիստներն ու IP-ն է լսում սերվերը, բայց սա առանձին խնդիր է, առաջին անգամ դուք կարող եք սահմանափակվել միայն այն, ինչ կա:
Հարկ է նշել, որ օրինակում իրական վիրտուալ վեբ ռեսուրսները (և դրանք շատ են) նկարագրելու հարմարության համար ներկայացվում է փոփոխական.(DOCROOT)՝ տեղադրված սերվերի միջոցով հասանելի բոլոր վեբ ռեսուրսների ընդհանուր պանակ տանող ուղով:
Apache SSL կոնֆիգուրացիան հասանելի է նույն ձևով: httpd.conf ֆայլում պարզապես պետք է թողնել «ինչպես կա» տողերը 524-ից մինչև 531, որոնք պատասխանատու են SSL-ի աշխատանքի համար:
Apache-ի պարզություն և բարդություն
Այն ժամանակները, երբ սերվերի տեղադրումն իսկական մարտահրավեր էր, վաղուց անցել են: Այսօր Apache-ի կարգավորումը շատ պարզ ընթացակարգ է, որը մշակողից հատուկ հմտություններ չի պահանջում:
Երեք հեշտ քայլ՝
- ընդլայնել արխիվը;
- փոխել կազմաձևման ֆայլը;
- տեղադրել սերվերը։
Արդյունքում Apache-ն լիովին գործում է: Եթե հաշվի չեք առնում սերվերը առավելագույն բեռնվածությամբ գործարկելու գործընթացի նրբությունները կամ Windows համակարգչի վրա տեղական զարգացում եք անում, լրացուցիչ գիտելիքներ չեն պահանջվում:
Դժվարություններ կարող են առաջանալ Linux համակարգերում: Ֆայլային համակարգի, օգտատերերի և խմբային իրավունքների էականորեն տարբեր պատկերացումները, ինչպես նաև այլ հավելվածների հետ փոխգործակցության գործընթացի կազմակերպումը ծրագրավորողից պահանջում են ավելի կոմպետենտ լինել և հասկանալ, թե ինչպես են աշխատում Linux համակարգիչները:
Apache-ի կարգավորումը Linux-ի ցանկացած համակարգում շատ ավելի մեծ հնարավորություններ է բացում ծրագրավորողի համար և ապահովում է մուտք դեպի տեղական ցանց և ինտերնետ: Ավանդույթի համաձայն, Windows համակարգիչը տեղական աշխատանքային կայան է, և սերվերն այնտեղ ներքին է: Linux համակարգիչը ֆայլային սերվեր է, վեբ սերվեր և տեղական ցանցի հանգույց կամ կետ ինտերնետ տարածության մեջ:
Պրոֆեսիոնալ միջավայրմշակող
Apache-ն ինտերնետ տարածքի հիմնարար կառույց է, որը կարելի է հեշտությամբ և հեշտությամբ կարգավորել, օգտագործել և դառնալ ընկերության ցանցային ենթակառուցվածքի հիմքը:
Այս տրամաբանությունը ենթադրում է, որ ցանցում կա առնվազն մեկ սերվեր, որն աշխատում է CentOS, Ubuntu, FreeBSD, Windows աշխատանքային կայաններով: Օպտիմալ է ունենալ երկու Linux սերվեր (հիմնական և օժանդակ), Apache կարգավորում տեղական համակարգչի համար Windows միջավայրում: Վիրուսի հարձակման կամ չնախատեսված իրավիճակի դեպքում օժանդակ սերվերը կփոխարինի հիմնականին, իսկ հիմնական սերվերը կվերանորոգվի և կվերականգնվի։ Դուք կարող եք փոխարինել Apache-ի տեղական տեղադրումը աշխատակայանում (Windows-ի տակ) արխիվից:
Այս չնչին լուծումը կարելի է կատարելագործել և լրացնել իրական պրակտիկայում: Ընկերության տեղեկատվական հոսքերի չափը կարող է որոշել ցանկալի կոնֆիգուրացիան և սերվերների պահանջվող քանակը: Իրականում, Apache-ն նախատեսված է ծանրաբեռնվածության տակ աշխատելու համար, բայց ոչինչ չի խանգարում ձեզ մեկ սերվերի պարտականությունները մի քանիսի վրա բաշխել։ Որոշակի ընկերության բնութագրերը հաշվի առնող լուծումը միշտ ավելի խոստումնալից է, քան երրորդ կողմի տարբերակի հարմարեցումը: