Lempos kamino komponentų aprašymas. Specialūs debesies VDS vaizdai, skirti greitam LAMP serverių diegimui

Žiniatinklio programų rinkiniu turime omenyje įvairius atvirojo kodo programinės įrangos produktus: operacinę sistemą, žiniatinklio serverį, duomenų bazės serverį ir vykdomojo kodo aplinką. Garsiausias ir labiausiai paplitęs kaminas yra LAMP. Tai žiniatinklio programų rinkinio, pagrįsto nemokamais ir atvirojo kodo sprendimais, akronimas.

LEMPAS- akronimas, žymintis serverio programinės įrangos rinkinį (kompleksą), plačiai naudojamą pasauliniame tinkle. LAMP pavadinta pagal pirmąsias jos sudedamųjų dalių raides:

· L inux – Linux operacinė sistema

;

· A pache- Tinklapio serveris;

· M ariaDB/ M ySQL – DBVS;

· P HP yra programavimo kalba, naudojama kuriant žiniatinklio programas (be PHP, gali būti įtrauktos ir kitos kalbos, pvz., Perl ir Python).

Akronimas LAMP gali būti naudojamas nurodant:

1. Web serverio infrastruktūra

2. Programavimo paradigmos

3. Programinės įrangos paketas

Nors iš pradžių šie programinės įrangos produktai nebuvo sukurti specialiai tam, kad veiktų vienas su kitu, šis derinys labai išpopuliarėjo dėl savo lankstumo, našumo ir mažos kainos (visi jos komponentai yra atvirojo kodo ir juos galima nemokamai atsisiųsti iš interneto). LAMP yra įtraukta į daugumą Linux platinimų ir yra prieinama daugelyje prieglobos įmonių.

Linux užtikrina užklausų priėmimą/perdavimą (valdo aparatūrą) ir yra branduolys viskam, kas aukštesniam – serveriui, DBVS, kalbos palaikymui.

Diegimas Ubuntu

Turi būti įdiegti šie paketai:

Paleidę apt-get update, kad atnaujintumėte vietinį paketų sąrašą, galite įdiegti tuos paketus naudodami vieną apt-get install komandą:

Paleidę aukščiau pateiktą komandą, būsite paraginti įdiegti šiuos paketus ir kai kurias kitas priklausomybes. Norėdami tęsti, paspauskite „y“, tada ENTER ir vadovaukitės likusiomis instrukcijomis, kad nustatytumėte „MySQL“ administracinį slaptažodį.

Tai leis jums įdiegti minimalų PHP plėtinių rinkinį, reikalingą norint naudoti PHP su MySQL.



Linux OS savybės ir pranašumai

Laisvas.

Patikimumas. Tinkamas kompiuterio aparatinės įrangos veikimas leis „Linux“ veikti daugelį metų be perkrovimo ar užšalimo. O mygtuko Reset iš viso niekada neprireiks.

Saugumas. Linux sistemoje virusų praktiškai nėra. Pats operacinės sistemos dizainas neleidžia veikti kenkėjiškoms programoms.

Atviro kodo. Tai leidžia naudoti ir modifikuoti kodą pagal pageidavimą.

Pagrindiniai Apache privalumai yra patikimumas ir konfigūracijos lankstumas. Tai leidžia prijungti išorinius modulius duomenims teikti, naudoti DBVS Dėl autentifikavimas vartotojų, keisti klaidų pranešimus ir pan.

MySQL DBVS lankstumą užtikrina daugybės lentelių tipų palaikymas: vartotojai gali pasirinkti lentelių tipus ManoISAM, palaikanti viso teksto paiešką ir lenteles InnoDB, palaikanti operacijas atskirų įrašų lygiu. Be to, MySQL DBVS yra su specialiu EXAMPLE lentelės tipu, kuris parodo naujų lentelių tipų kūrimo principus. Dėl atviros architektūros ir GPL licencijavimo MySQL DBVS nuolat atsiranda naujų lentelių tipų.

PHP- scenarijų kalba bendros paskirties, intensyviai naudojamas kuriant žiniatinklio programas. Šiuo metu daugiausia palaikoma prieglobos paslaugų teikėjai ir yra viena iš lyderių tarp kalbų, naudojamų kuriant dinamiškos svetainės .

3. Žiniatinklio programa. Modelis-View-Controller dizaino modelis.

Dizaino modelis yra architektūrinė konstrukcija, kuri yra dizaino problemos sprendimas tam tikrose dažnai pasitaikančiose situacijose. Tradiciškai OOP rodo ryšius ir sąveiką tarp klasių ar objektų, nenurodant, kurios programos galutinės klasės ar objektai bus naudojami.

Modelis-View-Controller. MVC projektavimo modelis apima programos duomenų, vartotojo sąsajos ir valdymo logikos atskyrimą į tris atskirus komponentus: modelį, vaizdą ir valdiklį – taip, kad kiekvieną komponentą būtų galima modifikuoti atskirai. Šis modelis pirmą kartą buvo panaudotas sistemoje, sukurtoje Smalltalk kalbai aštuntojo dešimtmečio pabaigoje. Nuo šiol jis vaidina pagrindinį vaidmenį daugelyje vartotojo sąsajos sistemų. Tai iš esmės pakeitė požiūrį į programų dizainą.

Modelis yra tikrovės atspindys, atsižvelgiant į problemai išspręsti reikalingas savybes. Modelyje yra pagrindinės problemos sprendimo logika (verslo logika):

●aplikacijų duomenų išsaugojimas, trynimas, atnaujinimas (CRUD arba išorinės interneto paslaugos);

●visos taikomųjų programų logikos inkapsuliavimas (būtina vengti „storų“ valdiklių, t. y. negalima perkelti dalies verslo logikos į valdiklį ar rodinį).

CRUD – kurti, skaityti, atnaujinti, ištrinti.

Modelis Aprašo duomenis ir jų valdymą ir dažnai dar vadinamas taikomosios programos verslo logika, t.y. pati jo esmė. Pristatymas Aprašoma, ką vartotojas mato ir su kuo gali sąveikauti taikomojoje programoje. Valdiklis Tarnauja kaip tarpininkas tarp modelio ir vaizdo.
Pagrindinis mechanizmas, įgyvendinantis šablono peržiūros dalį (bet ne identišką!), yra šablono variklis.

MVC elementų sąveika

Kiekvienas MVC modelio elementas bendrauja su kitais labai konkrečiais būdais. Ryšys įgyvendinamas per įvykių seką, kurią paprastai sukelia vartotojo sąveika su programa. Įvykių seka atrodo taip:

  1. Vartotojas sąveikauja su vartotojo sąsajos elementu (pavyzdžiui, spustelėja mygtuką rodinyje).
  2. Rodinys siunčia paspaudimo įvykį valdikliui, kad jis nuspręstų, kaip tvarkyti paspaudimą.
  3. Valdiklis keičia modelį pagal tai, ką nusprendė paspausti mygtuką.
  4. Modelis informuoja rodinį, kad modelio būsena pasikeitė.
  5. Rodinys nuskaito būsenos informaciją modelyje ir pats keičiasi.

4. Žiniatinklio programa. Šablono variklis.

Šablonų variklis (žiniatinklyje) yra programinė įranga, leidžianti naudoti HTML šablonus galutiniams HTML puslapiams generuoti. Pagrindinis šablonų variklių naudojimo tikslas yra atskirti duomenų pateikimą nuo vykdomojo kodo. Tai dažnai būtina norint užtikrinti lygiagretų programuotojo ir maketuotojo darbą. Naudojant šablonų variklius dažnai pagerėja kodo skaitomumas ir pakeičiama išvaizda, kai projektą tvarko vienas asmuo.

Šablonų variklių naudojimas dažnai tapatinamas su MVC paradigma. Šios sąvokos yra susijusios, bet nėra tapačios.

Šablonų kūrimo esmė yra atskirti puslapio karkasą nuo programos kodo. Puslapio rėmelis dedamas į atskirą tekstinį failą (šabloną), o tose vietose, kur reikia rodyti duomenis, dedami specialūs pseudokintamieji. Scenarijus įkelia norimą šabloną, pakeičia jo pseudokintamuosius atitinkamais duomenimis ir išveda.

Šablonų naudojimo generuojant HTML puslapio kodą pranašumai:

· Pirma, kodo švara. Programos kode nėra HTML kodo, todėl jį lengva perskaityti. Tuo pačiu šablone yra tik HTML kodas, kuris parodo, kur ir kokie duomenys įterpiami (tam suteikite prasmingus pavadinimus pseudokintamiesiems).

· Antra, programinės įrangos ir HTML kodo atskyrimas leidžia savarankiškai kurti variklį ir dizainą. Norėdami ką nors pakeisti baigtos svetainės išvaizdoje, tereikia pakeisti atitinkamą šabloną ir nebūtina turėti programavimo įgūdžių.

· Svetainėje gali būti keli dizainai. Norėdami visiškai pakeisti svetainės dizainą, tiesiog pakeiskite kelią į šablonų aplanką.

Privalumai:

· Visiškas išvesties atskyrimas nuo programos logikos;

· Smėlio dėžės režimas;

· Tvarkinga loginių blokų ar išvesties teiginių išvaizda;

· Perkeliamumas tarp platformų (kalbų) – t.y. šablono analizatorius gali būti parašytas bet kuo;

· Šablono kalba suprantama „maketuotojui“;

Apie privalumus

Atsižvelgdami į programos logikos atskyrimo nuo išvesties klausimą, galime pasakyti, kad logikos atskyrimas nuo išvesties naudojamas kuriant žiniatinklio- daugiausia paraiškų tik naudojant MVC modelį. Pažiūrėkite patys, tiesa, visi šablonų atskyrimo ir logikos naudojimo pavyzdžiai rodomi kontekste MVC.

Galima nesutikti, kad tikrai patogu naudoti šablono vidinės izoliuotos logikos konstrukcijas, nepriklausomai nuo platformos ( php, ROR, java), kuri išnagrinės šiuos šablonus ir užpildys juos duomenimis bei parodys vartotojui. Be to, tai užtikrina, kad kūrėjai šablone nenaudos programų logikos ar net SQL užklausų.

Smėlio dėžės režimas yra labai patogus, kai vartotojui, šablonų rengyklėms, reikia suteikti ribotas sintaksės parinktis. Pavyzdžiui, tai aktualu tinklaraščio paslaugai, kai vartotojai savarankiškai skelbia medžiagą naudodami HTML žymėjimą ir specifinį naudojamos paslaugos dizainą.

5. Žiniatinklio programa. Reliacinės duomenų bazės.

Reliacinė duomenų bazė yra tarpusavyje susijusių lentelių rinkinys, kurių kiekvienoje yra informacija apie tam tikro tipo objektus. Lentelės eilutėje pateikiami duomenys apie vieną objektą (pavyzdžiui, prekė, klientas), o lentelės stulpeliuose aprašomos įvairios šių objektų charakteristikos – atributai (pavyzdžiui, pavadinimas, prekės kodas, kliento informacija). Įrašai, t.y. lentelės eilutės, turi tą pačią struktūrą – jie susideda iš laukų, kuriuose saugomi objekto atributai. Kiekvienas laukas, ty stulpelis, apibūdina tik vieną objekto charakteristiką ir turi griežtai apibrėžtą duomenų tipą. Visi įrašai turi tuos pačius laukus, tik juose rodomos skirtingos objekto informacinės savybės.

Reliacinėje duomenų bazėje kiekviena lentelė turi turėti pirminį raktą – lauką arba laukų derinį, kuris unikaliai identifikuoja kiekvieną lentelės eilutę. Jei raktas susideda iš kelių laukų, jis vadinamas sudėtiniu. Raktas turi būti unikalus ir unikaliai identifikuoti įrašą. Naudodami rakto reikšmę galite rasti vieną įrašą. Raktai taip pat padeda tvarkyti informaciją duomenų bazėje.

Reliacinės duomenų bazės lentelės turi atitikti santykių normalizavimo reikalavimus. Santykių normalizavimas – tai formalus lentelių formavimo apribojimų aparatas, kuris pašalina dubliavimąsi, užtikrina duomenų bazėje saugomų duomenų nuoseklumą, mažina darbo sąnaudas duomenų bazės priežiūrai.

Leiskite sukurti Studento lentelę, kurioje būtų šie laukai: grupės numeris, vardas, pavardė, studento įrašo numeris, gimimo data, specialybės pavadinimas, fakulteto pavadinimas. Toks informacijos saugojimo organizavimas turės keletą trūkumų:

· informacijos dubliavimas (kiekvienam studentui kartojasi specialybės ir fakulteto pavadinimas), todėl padidės duomenų bazės apimtis;

· informacijos atnaujinimo lentelėje procedūrą apsunkina būtinybė redaguoti kiekvieną lentelės įrašą.

Lentelės normalizavimas skirtas šiems trūkumams pašalinti. Yra trys normalios santykių formos.

Pirma normali forma. Reliacinė lentelė redukuojama į pirmąją normaliąją formą tada ir tik tada, kai nė vienoje iš jos eilučių jokiame lauke nėra daugiau nei vienos reikšmės ir nė vienas jos raktų laukas nėra tuščias. Taigi, jei reikia gauti informaciją iš Mokinio lentelės pagal mokinio vardą, lauką Visas vardas turėtų būti padalytas į pavardės, vardo ir tėvavardžių dalis.

Antroji normali forma. Reliacinė lentelė apibrėžiama antrąja normaliąja forma, jei ji atitinka pirmosios normaliosios formos reikalavimus ir visi jos laukai, kurie nėra įtraukti į pirminį raktą, turi visišką funkcinę priklausomybę nuo pirminio rakto. Norint sumažinti lentelę į antrą normalią formą, būtina nustatyti funkcinę laukų priklausomybę. Funkcinė laukų priklausomybė – tai priklausomybė, kai informacijos objekto egzemplioriuje tam tikra rakto atributo reikšmė atitinka tik vieną aprašomojo atributo reikšmę.

Trečia normali forma. Lentelė yra trečiosios normaliosios formos, jei ji atitinka antrosios normaliosios formos reikalavimus, kad nė vienas jos neparaktinis laukas funkciškai nepriklauso nuo jokio kito neparakto lauko. Pavyzdžiui, lentelėje Studentas (Grupės Nr., Pilnas vardas, Pažymių knygelės Nr., Gimimo data, Vadovas) trys laukai – pažymių knygelės Nr., Grupės numeris, Vadovas yra pereinamojoje priklausomybėje. Grupės numeris priklauso nuo pažymių knygelės numerio, o vadovas – nuo ​​grupės numerio. Norint pašalinti pereinamąją priklausomybę, kai kuriuos Studento lentelės laukus reikia perkelti į kitą Grupės lentelę. Lentelės bus tokios formos: Mokinys (grupės numeris, vardas, pavardė, pažymių knygelės numeris, gimimo data), Grupė (grupės numeris, vadovas).

Reliacinėse lentelėse galimos šios operacijos:

· Sujungti tos pačios struktūros lenteles. Rezultatas yra bendra lentelė: pirmiausia pirmoji, tada antroji (sujungimas).

· Tos pačios struktūros lentelių sankirta. Rezultatas – pasirenkami tie įrašai, kurie yra abiejose lentelėse.

· Tos pačios struktūros lentelių atėmimas. Rezultatas – pasirenkami tie įrašai, kurių nėra atimtajame.

· Atranka (horizontalus pogrupis). Rezultatas – parenkami tam tikras sąlygas atitinkantys įrašai.

· Projekcija (vertikalusis poaibis). Rezultatas yra ryšys, kuriame yra kai kurie šaltinio lentelių laukai.

· Dviejų lentelių Dekarto sandauga Gautos lentelės įrašai gaunami sujungiant kiekvieną pirmosios lentelės įrašą su kiekvienu kitos lentelės įrašu.

Reliacinės lentelės gali būti susijusios viena su kita, todėl duomenis galima gauti iš kelių lentelių vienu metu. Lentelės yra susietos viena su kita, kad galiausiai būtų sumažintas duomenų bazės dydis. Kiekviena lentelių pora yra sujungta, jei jose yra identiški stulpeliai.

Yra šių tipų informacijos nuorodos:

· vienas prieš vieną;

· vienas prieš daugelį;

· daug prie daugelio.

Žiniatinklio programa. NoSQL.

Viena iš termino „NoSQL“ reikšmių yra perėjimas nuo reliacinio modelio konkretesnių (arba bendresnių) duomenų modelių naudai. Pavyzdžiui, tradiciškai sėkmingos NoSQL sistemos yra raktų vertės saugojimo sistemos, tokios kaip Redis arba Memcache. Jų duomenų modelis yra labai paprastas – tai iš esmės asociatyvus masyvas, kuriame raktai yra eilutės tipo ir reikšmėse gali būti bet kokių duomenų. Kaip ir bet kuris asociatyvus masyvas, tokios sistemos palaiko ribotą operacijų su duomenimis rinkinį – skaitykite reikšmę po rakto, nustatykite rakto reikšmę, ištrinkite raktą ir su juo susijusią reikšmę. Operacija „gauti raktų sąrašą“ gali būti nepalaikoma tokiose sistemose.

Kitas sėkmingų NoSQL sistemų pavyzdys yra dokumentų saugojimas. Tokiose saugyklose esantys objektai dažniausiai yra asociatyvūs laisvos struktūros masyvai, tai yra, iš esmės skirtingi objektai gali būti saugomi toje pačioje „lentelėje“. Šios klasės sistemų pavyzdžiai yra MongoDB ir Cassandra. Priklausomai nuo to, kokie duomenys iš tikrųjų saugomi konkrečioje duomenų bazėje, jos veikimas gali labai skirtis. Pavyzdžiui, jei optimizuojate tokią „lentelę“, saugodami joje to paties tipo objektus.

Trečias specializuotų NoSQL sistemų pavyzdys yra grafų duomenų bazės. Jie yra specialiai sukurti apdoroti konkrečią duomenų struktūrą, paprastai dirbant su dideliais duomenų kiekiais (nes standartinis reliacinis diegimas gali puikiai apdoroti mažus kiekius).

Labai svarbus NoSQL sistemų pavyzdys yra įprastos failų sistemos, tokios kaip Ext4 arba NTFS. Jie skirti saugoti objektus hierarchinėje struktūroje su laisvo formato turiniu. Pačios duomenų bazės, reliacinė ir NoSQL, dažniausiai naudoja failų sistemas savo turiniui saugoti, o kartais šių dviejų posistemių sąveika vienu ar kitu atveju tampa svarbi.

7. Žiniatinklio programa. JavaScript galimybės.

„JavaScript“ yra interpretuojama programavimo kalba, turinti į objektą orientuotas galimybes.

Galimybės

Šaltinio kodą šia kalba galima paleisti ne tik naršyklėje, bet ir serverio pusėje arba iš komandinės eilutės, tačiau apsvarstysime JavaScript naudojimą tinklalapiams. Šiuolaikinė JavaScript yra „saugi“ bendrosios paskirties programavimo kalba. Jame nėra žemo lygio įrankių darbui su atmintimi ir procesoriumi, nes iš pradžių jis buvo skirtas naršyklėms, kurioms to nereikia.

Kalbant apie likusias funkcijas, jos priklauso nuo aplinkos, kurioje veikia „JavaScript“. Naršyklėje „JavaScript“ gali padaryti viską, kas susiję su puslapio manipuliavimu, sąveika su lankytoju ir tam tikru mastu su serveriu:

· Pridėkite įvairių animacijos efektų

· Reaguokite į įvykius – apdorokite pelės judesius, klaviatūros klavišų paspaudimus

· Patvirtinkite duomenų įvedimą į formos laukus prieš siųsdami į serverį, o tai savo ruožtu pašalina papildomą serverio apkrovą

· Kurti ir skaityti slapukus, gauti duomenis apie lankytojo kompiuterį

· Aptikti naršyklę ir, priklausomai nuo naršyklės, įkelti norimą puslapį, specialiai sukurtą šiai naršyklei

· Keisti HTML elementų turinį, pridėti naujų žymų, keisti stilius

Apribojimai

· JavaScript negali uždaryti langų ir skirtukų, kurie nebuvo atidaryti naudojant jį

· Negali apsaugoti puslapio šaltinio kodo ir neleisti kopijuoti teksto ar vaizdų iš puslapio

· Negalima pateikti kryžminių domenų užklausų arba pasiekti tinklalapius, esančius kitame domene. Net kai skirtingų domenų puslapiai tuo pačiu metu rodomi skirtinguose naršyklės skirtukuose, vienam domenui priklausantis JavaScript kodas neturės prieigos prie informacijos apie tinklalapį iš kito domeno. Tai garantuoja privačios informacijos, kurią gali žinoti domeno, kurio puslapis atidarytas kitame skirtuke, savininkui, saugumą

· Neturi prieigos prie failų, esančių vartotojo kompiuteryje, ar prieigos už paties tinklalapio ribų, vienintelė išimtis yra slapukai, kurie yra maži tekstiniai failai, kuriuos JavaScript gali įrašyti ir nuskaityti.

Apskritai galime pasakyti, kad jis sukurtas taip, kad būtų sunku vykdyti kenkėjišką kodą.

8. Žiniatinklio programa. Vykdymo aplinka. Web serverio diegimas ir konfigūravimas.

„Apache“ serveris yra kelių platformų žiniatinklio serveris, šiandien jis yra labiausiai paplitęs, nes... įdiegta daugumoje prieglobos svetainių ir ją lengviau konfigūruoti nei, pavyzdžiui, žiniatinklio serverį nginx.

„Apache“ serveris taip pat pateikiamas tokiomis versijomis kaip „denwer“ ir „xampp“, todėl „php apache“ yra labai populiari versija. Apache windows diegimas, Linuxžemiau esančios nuorodos:

· Apache linux diegimas

· Apache windows diegimas

Kaip tai veikia Apache serveris:

· Užklausas priima cikliškai

· Apdoroja užklausas

· Generuoja turinį

· Suteikia turinį vartotojui

„Apache“ žiniatinklyje yra virtualaus pagrindinio kompiuterio mechanizmas, leidžiantis platinti kelis domenų vardus vienu IP adresu. Kiekvienam domeno pavadinimui galite pritaikyti savo nustatymus. Apache nustatymai nustatomi .htaccess faile, kuris turi būti jūsų svetainės šakniniame kataloge.

Numatytasis Apache prievadas yra 80. Gali kilti problemų su kai kuriomis programomis, ypač su skype. Norėdami išspręsti problemą, „Skype“ turite išjungti 80 prievado naudojimą. Jei naudojamas apache 80 prievadas yra užimtas, šią reikšmę galite pakeisti žiniatinklio serverio nustatymuose.

„Apache“ svetainėje daug statinio turinio (vaizdų) veikia lėčiau nei įjungta svetainė nginx. Kartais statiniams duomenims pateikti naudojamas derinys, pvz., apache serveris + nginx.

Norėdami programuoti PHP, turite įdiegti šiuos komponentus:

· apache ar kitą žiniatinklio serverį;

· mysql (+ phpmyadmin darbui su mysql per žiniatinklio sąsają).

Yra dvi šių komponentų diegimo parinktys:

· paruošto paketo montavimas (xampp, denwer ir kt.)

· įdiegti visus paketus atskirai

Pirmuoju atveju viskas labai paprasta, atsisiųskite paketą ir įdiekite. Tačiau su rankiniu diegimu nebus jokių problemų atnaujinant versijas, nes... jau žinosite, kaip tai veikia ir kaip jį įdiegti. Taip pat mažesnė tikimybė, kad turėsite problemų su paketais.

Rankinis montavimas:

· atsisiųsti ir įdiegti apache Autorius nuoroda

· Atsisiųskite ir įdiekite mysql by nuoroda

· gali būti įdiegtas kaip priedas phpmyadmin, darbui su mysql per žiniatinklio sąsają

Įdiegę, taip pat atlikę bet kokius pakeitimus, turite paleisti iš naujo apache. Eikite į „Start - Control Panel - Administration - Services“ ir suraskite „Apache“, dešiniuoju pelės mygtuku spustelėkite ir kontekstiniame meniu pasirinkite paleisti iš naujo.

Norėdami dirbti, turite pridėti virtualų pagrindinį kompiuterį, galite perskaityti, kaip tai padaryti čia.

Vykdymo aplinka

Programa eTBManager yra JBOSS serverio programa, kuri veikia su duomenimis, valdomais MySQL duomenų bazės serverio. Vartotojai dirba su programa iš interneto naršyklės (IE, FireFox, Crhome ir kt.).

Programa įdiegta viename fiziniame serveryje (kompiuteryje). Operacinė sistema Windows 2008 serveris su visais įdiegtais SP.

Kad programa veiktų, programinė įranga turi būti įdiegta ir sukonfigūruota serveryje tokia seka:

1. Duomenų bazė

1. MySQL duomenų bazių valdymo serveris.

2. eTBManager duomenų bazė.

2. Taikymas

1. JBOSS Java taikomųjų programų serveris, skirtas eTBManager programai vykdyti.

2. eTBManager programinė įranga.

3. Žiniatinklio serveris

1. Apache HTTPD, skirtas gauti ir apdoroti vartotojų žiniatinklio užklausas.

2. Mod_jk jungtis, skirta Apache HTTPD ir JBOSS sąveikai.

Viską, ko reikia programai įdiegti, įskaitant naujausią programinės įrangos versiją ir mokymo duomenų bazę, galite gauti iš ftp:.ua adreso su anonimine prieiga. Kadangi naudojama nemokama programinė įranga, naujausias versijas galima gauti iš gamintojų svetainių. Naujausiose versijose yra klaidų pataisymų ir jos gali veikti stabiliau, tačiau jų suderinamumo neišbandėme.

9. Web technologijų kūrimas. Web 1.0, Web 2.0.

Web 1.0 yra pirmosios kartos pasaulinis žiniatinklis, kuriame buvo naudojami TPC/IP interneto protokolai. Jei ikiinterneto eroje buvo vykdomas tik linijinis ryšys iš taško į tašką, tai atsiradus žiniatinkliui (informaciniam tinklui) susiformavo tinklo morfologija, leidžianti vartotojui netrukdomai „naršyti“ informacinėse erdvėse, gauti bet kokią informaciją, sukauptą Web 1.0 tinklo šaltiniuose.

Šiam žiniatinklio kūrimo laikotarpiui būdingas statinių svetainių su HTML hiperteksto nuorodomis kūrimas, pasyvus informacijos perdavimas iš serverių klientui ir vienakryptis informacijos srautų pobūdis:

· rankinio informacijos rinkimo srautas iš išteklių kūrėjų į serverį;

· pasyvus informacijos paskirstymas iš serverio klientams.

Tai elektroninių bibliotekų ir internetinių informacinių katalogų atsiradimo ir spartaus vystymosi laikotarpis.

Web 2.0 yra interaktyvus „sintaksinis“ žiniatinklis, kai plačiai paplito dialogo sistemos resursas – vartotojas, klientas – serveris.

Tai į paslaugas orientuotas žiniatinklis, kuriame išsivystė interaktyvus informacijos procesas tarp vartotojo ir serverio, paieškos sistemos ir elektroninė prekyba.

Informacijos srauto generavimas buvo atiduotas į pačių vartotojų rankas, o svetainių savininkai daugiausia apsiribojo infrastruktūros kūrimu ir priežiūra.

Informacijos paieškos sistemos – jų hiperserveriai, robotai ir vartotojo sąsajos – tapo interneto šerdimi. Jų paieškos, rūšiavimo, reitingavimo ir sąsajos algoritmai buvo pagrįsti informacijos dažnio ir dažnio analize. Paieškos sistemų robotai yra aktyvūs žvalgai ir pasyvūs tinklo moderatoriai dėl pirminio informacijos indeksavimo.

10. Web technologijų kūrimas. Web 3.0, semantinis žiniatinklis.

Web 3.0 yra semantinis žiniatinklis – „pasaulinės interneto plėtros koncepcijos dalis, kurios tikslas – realizuoti galimybę mašininiu būdu apdoroti žiniatinklyje esančią informaciją. Pagrindinis koncepcijos akcentas yra darbas su metaduomenimis, kurie unikaliai apibūdina World Wide Web išteklių savybes ir turinį, o ne šiuo metu naudojamų dokumentų tekstinę analizę apie World Wide Web išteklius ir esančius lygiagrečiai su jais. Remiantis automatizuotais informacijos procesais tarp serverių.

Tai tampa įmanoma įdiegus semantinius įrankius: nuo semantinio šaltinio teksto žymėjimo iki protingų algoritmų, kurie supranta žmogaus frazių reikšmę.

Atsirado tinklas, „debesų“ kompiuterija, perimanti privačių informacijos išteklių kontrolę interneto hiperserveriuose.

Žiniatinklio programų kūrimo technologijos tapo tiek ištobulintos, kad informacijos išteklių vartotojų ir kūrėjų kartelė nukrito beveik iki nulio, nereikalaujant iš jų žinių informacinių technologijų srityje.

Pačios tinklo technologijos pakyla iki automatiškai veikiančių tinklo on-line taikomųjų programų: išteklių kūrimo sąsajų, semantinių vertėjų, naujienų mainų, paieškos analizatorių ir automatinių tikslinių informacijos duomenų bazių kūrėjų.

Be vidinių tarpserverių sąsajų, atsiranda ir nežmogiškos sąsajos su fiziniu pasauliu: automatinis daugialypės terpės informacijos rinkimas, robotinė programinė įranga informacijos iš išorinio pasaulio analizė, šios informacijos įsisavinimas žiniatinklio hiperserveriuose. Robotai žengia į aktyvaus turinio moderavimo etapą, cenzoriai, kurie nustato, ką galima skelbti Web 3.0, o ko ne.

11. Web technologijų kūrimas. Interneto paslaugos.

Žiniatinklio paslauga, žiniatinklio paslauga (angl. web service) yra programinė įranga, identifikuojama pagal žiniatinklio adresą su standartizuotomis sąsajomis. Žiniatinklio paslaugos gali bendrauti tarpusavyje ir su trečiųjų šalių programomis pranešimais, paremtais konkrečiais protokolais (SOAP, XML-RPC, REST ir kt.). Žiniatinklio paslauga yra moduliškumo vienetas, kai naudojama į paslaugas orientuota programos architektūra.

Paprastai tariant, žiniatinklio paslaugos yra paslaugos, teikiamos internete. Naudojant šį terminą reikia patikslinti, ar kalbame apie paiešką, žiniatinklio paštą, dokumentų, failų, žymių saugojimą ir pan. Tokiomis interneto paslaugomis galima naudotis nepriklausomai nuo kompiuterio, naršyklės ar interneto prieigos vietos.

REST (reprezentacinės būsenos perdavimas) yra paskirstytų sistemų, tokių kaip pasaulinis žiniatinklis, programinės įrangos architektūros stilius, kuris paprastai naudojamas kuriant žiniatinklio paslaugas. Terminą REST 2000 metais sugalvojo Roy Fielding, vienas iš HTTP protokolo autorių. Sistemos, palaikančios REST, vadinamos RESTful sistemomis.

Apskritai REST yra labai paprasta informacijos valdymo sąsaja nenaudojant jokių papildomų vidinių sluoksnių. Kiekviena informacijos dalis yra unikaliai identifikuojama pagal visuotinį identifikatorių, pvz., URL. Kiekvienas URL, savo ruožtu, turi griežtai apibrėžtą formatą.

REST naudojimas žiniatinklio paslaugoms kurti.

Kaip žinote, žiniatinklio paslauga yra programa, veikianti žiniatinklyje ir prieiga prie kurios suteikiama HTTP protokolu, o informacija keičiamasi naudojant XML formatą. Todėl užklausos turinyje perduodamų duomenų formatas visada bus XML.

Kiekvienam informacijos (info) vienetui nustatomi 5 veiksmai. Būtent:

Gauti informaciją/ (Indeksas)– gauna visų objektų sąrašą.

GAUTI /informaciją/(id) (Žiūrėti)– gauna pilną informaciją apie objektą.

PUT /info/ arba PAST /info/ (Sukurti)– sukuria naują objektą.

IŠTRINTI /info/(id) (Ištrinti)– ištrina duomenis su identifikatoriumi (id).
Kaip matote, REST architektūra yra labai paprasta naudoti. Pagal gautos užklausos tipą galite iš karto nustatyti, ką ji daro, nesuprasdami formatų (skirtingai nei SOAP, XML-RPC). Duomenys perduodami nenaudojant papildomų sluoksnių, todėl REST laikomas mažiau resursų reikalaujančiu, nes jums nereikia analizuoti užklausos, kad suprastumėte, ką ji turėtų daryti, ir nereikia versti duomenų iš vieno formato į kitą.

12. HTTP protokolas. Hiperteksto dokumento struktūra. Pagrindiniai standartai.

HTTP yra plačiai naudojamas duomenų perdavimo protokolas, iš pradžių skirtas hipertekstiniams dokumentams (tai yra dokumentams, kuriuose gali būti nuorodų, leidžiančių naršyti į kitus dokumentus) perduoti.

HTTP protokolas apima kliento-serverio duomenų perdavimo struktūros naudojimą. Kliento programa sugeneruoja užklausą ir siunčia ją į serverį, po to serverio programinė įranga apdoroja užklausą, sugeneruoja atsakymą ir siunčia jį atgal klientui. Tada kliento programa gali toliau siųsti kitas užklausas, kurios bus apdorojamos tokiu pačiu būdu.

Hiperteksto dokumento struktūra.

Pagal hipertekstinis dokumentas suprasti tekstą, kuriame yra specialių elementų, kuriuos pasiekus pereinama prie kito dokumento. Šie elementai vadinami hipersaitus ir gali būti vykdomas kaip teksto dalis, mygtukas, paveikslėlis ir kt. Nuorodos taip pat gali būti naudojamos norint pereiti į skirtingas to paties dokumento dalis (šiuo atveju nuoroda vadinama inkaras arba inkaras).

Pradėkime nuo HTML dokumento struktūros. Paprasta forma galite parašyti taip:







Išsaugokite dokumentą pavadinimu index.html ir atidarykite jį naršyklėje. Ką mes matome? Nieko – tuščias puslapis. Pažiūrėkime į šį pavyzdį ir pradėkime jį pildyti.

HTML elementai yra žymos. Žymos yra raktiniai žodžiai, pateikti kampiniuose skliaustuose. Žymos gali būti vienos (pavyzdžiui, horizontali juosta


) arba suporuotas. Antruoju atveju elementą sudaro pradinė žyma (pvz., ) ir baigiamoji žyma (). Elemento poveikis apima sritį tarp atidarymo ir uždarymo žymų.

Visas hiperteksto dokumentas yra html elemente (t. y. tarp Ir). Šiame elemente yra dar du elementai – dokumento antraštė (head elementas), kurioje yra paslaugos informacija apie dokumentą ir dokumento turinys (elementas ), kuriame yra naršyklės lange rodoma informacija.

Aukščiau pateiktos struktūros pakanka kuriant paprastus HTML dokumentus asmeniniam naudojimui, tačiau ji neatitinka standarto. Pagrindinė klaida ta, kad nenurodoma, kokiu standartu dokumentas pateikiamas. Standartas rašomas pirmoje eilutėje prieš žymą . Pažiūrėkime, kokie pagrindiniai standartai egzistuoja.

HTML 4.01

Skirta XHTML 1.0

XHTML 1.1

Strict, Transitional, Frameset - reiškia griežtą (išdėstymas neturėtų nukrypti nuo standarto) specifikaciją, pereinamąjį (klaidos ignoruojamos, manekenams) ir svetainėms, kuriose naudojami rėmeliai (ar dar yra tokių dalykų?). Dokumento tipas yra didžiosios ir mažosios raidės, todėl geriau jį nukopijuoti iš čia pateiktų pavyzdžių, kad išvengtumėte klaidų.

Yra ir kitų standartų; norėdami sukurti šabloną, sutelksime dėmesį į pirmąjį iš sąrašo (šabloną galime lengvai pakeisti pagal jūsų dokumento tipą).

Pereikime prie antraštės skyriaus. Jame nurodomas puslapio pavadinimas (pavadinimo elementas), META duomenys ir kita paslaugos informacija. Čia mes sutelksime dėmesį tik į antraštę, mes apsvarstysime likusius elementus atitinkamose temose (pastebėsime tik du elementus, atsakingus už kodavimą ir CSS).

Pridėkite liniją galvos elemento viduje Dokumento struktūra ir atidarykite puslapį naršyklėje. Viršutinėje naršyklės eilutėje matome tai, ką nurodėme pavadinimo elemente. Šią informaciją naršyklė taip pat naudoja nuorodoms nurodyti, kai pažymite puslapį.

Kad puslapis būtų rodomas teisingai, turime nurodyti, kokia koduote yra parašytas mūsų dokumentas. Norėdami tai padaryti, pridėkite eilutę

Čia nurodome standartinę Windows kodavimą windows-1251. Žinoma, neužtenka to nurodyti, būtina, kad pats dokumentas būtų įvestas šia koduote. Taip pat standartinis yra utf-8 kodavimas (Unikodas, palaiko išplėstinį simbolių rinkinį).

Taip pat nurodysime pakopinio stiliaus lapų formatą naudodami eilutę

Dokumento korpuse (kūno elemente) yra vaizdinė informacija, t.y. tas, kuris bus tiesiogiai rodomas naršyklės lange. Pridėkite eilutę „Dokumento kode yra teisinga struktūra“.

Taigi galutinė griežta versija (kurią galime naudoti kaip šabloną kitiems dokumentams) yra tokia:

Dokumento struktūra Dokumento kode yra teisinga struktūra

Dėl to gavome pasirinkto standarto dokumento šabloną.

HTML5: visiems dokumentams.

HTML 4.01: griežta HTML sintaksė. Pereinamoji HTML sintaksė. HTML dokumente naudojami rėmeliai.

XHTML 1.0: griežta XHTML sintaksė. XHTML pereinamoji sintaksė. Dokumentas parašytas XHTML ir jame yra rėmelių. XHTML mobilusis profilis, prideda specifinių elementų mobiliesiems telefonams.

XHTML 1.1: Šis apibrėžimas nėra skirstomas į tipus, sintaksė yra tokia pati ir atitinka aiškias taisykles.

Elementas skirtas nurodyti esamo dokumento rūšį – DTD (dokumento tipo apibrėžimas, dokumento tipo aprašymas). Tai būtina, kad naršyklė suprastų, kaip interpretuoti dabartinį tinklalapį, nes HTML yra kelių versijų, taip pat yra XHTML (Extensible HyperText Markup Language), kuri yra panaši į HTML, bet skiriasi sintaksė. Kad naršyklė „nesupainiotų“ ir suprastų, pagal kokį standartą rodyti tinklalapį, būtina nustatyti pirmoje kodo eilutėje .

Žiniatinklio programų rinkiniu turime omenyje įvairius atvirojo kodo programinės įrangos produktus: operacinę sistemą, žiniatinklio serverį, duomenų bazės serverį ir vykdomojo kodo aplinką. Garsiausias ir labiausiai paplitęs kaminas yra LAMP. Tai žiniatinklio programų rinkinio, pagrįsto nemokamais ir atvirojo kodo sprendimais, akronimas.

LEMPAS-akronimas, žymintis serverio programinės įrangos rinkinį, plačiai naudojamą žiniatinklyje. LAMP pavadinta pagal pirmąsias jos sudedamųjų dalių raides:

    L inux operacinė sistema Linux;

    A pache-Tinklapio serveris;

    M ariaDB/ M ySQL-DBVS;

    P HP programavimo kalba, naudojama kuriant žiniatinklio programas (be PHP, gali būti įtrauktos ir kitos kalbos, pvz., Perl ir Python).

Akronimas LAMP gali būti naudojamas nurodant:

    Web serverio infrastruktūra

    Programavimo paradigmos

    Programinės įrangos paketas

Nors iš pradžių šie programinės įrangos produktai nebuvo sukurti specialiai tam, kad veiktų vienas su kitu, šis derinys labai išpopuliarėjo dėl savo lankstumo, našumo ir mažos kainos (visi jo komponentai yra atvirojo kodo ir juos galima nemokamai atsisiųsti iš interneto). LAMP yra įtraukta į daugumą Linux platinimų ir yra prieinama daugelyje prieglobos įmonių.

Linux užtikrina užklausų priėmimą/perdavimą (valdo aparatūrą) ir yra branduolys viskam, kas aukštesniam – serveriui, DBVS, kalbos palaikymui.

Diegimas Ubuntu

Turi būti įdiegti šie paketai:

Paleidę apt-get update, kad atnaujintumėte vietinį paketų sąrašą, galite įdiegti tuos paketus naudodami vieną apt-get install komandą:

Paleidę aukščiau pateiktą komandą, būsite paraginti įdiegti šiuos paketus ir kai kurias kitas priklausomybes. Norėdami tęsti, paspauskite „y“, tada ENTER ir vadovaukitės likusiomis instrukcijomis, kad nustatytumėte „MySQL“ administracinį slaptažodį.

Tai leis jums įdiegti minimalų PHP plėtinių rinkinį, reikalingą norint naudoti PHP su MySQL.

Linux OS savybės ir pranašumai

Laisvas.

Patikimumas. Tinkamas kompiuterio aparatinės įrangos veikimas leis „Linux“ veikti daugelį metų be perkrovimo ar užšalimo. O mygtuko Reset iš viso niekada neprireiks.

Saugumas. Linux sistemoje virusų praktiškai nėra. Pats operacinės sistemos dizainas neleidžia veikti kenkėjiškoms programoms.

Atviro kodo. Tai leidžia naudoti ir modifikuoti kodą pagal pageidavimą.

Pagrindiniai Apache privalumai yra patikimumas ir konfigūracijos lankstumas. Tai leidžia prijungti išorinius modulius duomenims teikti, naudoti DBVS Dėl autentifikavimas vartotojų, keisti klaidų pranešimus ir pan.

MySQL DBVS lankstumą užtikrina daugybės lentelių tipų palaikymas: vartotojai gali pasirinkti lentelių tipus ManoISAM, palaikanti viso teksto paiešką ir lenteles InnoDB, palaikanti operacijas atskirų įrašų lygiu. Be to, MySQL DBVS yra su specialiu EXAMPLE lentelės tipu, kuris parodo naujų lentelių tipų kūrimo principus. Dėl atviros architektūros ir GPL licencijavimo MySQL DBVS nuolat atsiranda naujų lentelių tipų.

PHP - scenarijų kalba bendros paskirties, intensyviai naudojamas kuriant žiniatinklio programas. Šiuo metu daugiausia palaikoma prieglobos paslaugų teikėjai ir yra viena iš lyderių tarp kalbų, naudojamų kuriant dinamiškos svetainės .

Šiame straipsnyje apžvelgsime laisvai platinamą ir praktiškai nemokamą programinės įrangos rinkinį, vadinamą LAMP. Kokia yra teisinga šios santrumpos santrumpa? Jį sudaro 4 populiarios technologijos, sujungtos šiame derinyje:Linux- Operacinė sistema;- Tinklapio serveris;MySQL- DBVS; - programavimo kalba, naudojama kuriant žiniatinklio išteklius.

Šis programinės įrangos rinkinys įdiegtas serveryje, kad būtų rodomos dinamiškos svetainės ir žiniatinklio programos. Ši platforma leidžia savo serveryje įdiegti (diegti) daugumą svetainių ir tinklo programinės įrangos tipų.

LAMP derinys yra toks:

  1. Linux serverio OS reikalingoms užduotims atlikti;
  2. „Apache“ žiniatinklio serveris, kuriam sukurta daug papildomų modulių, sprendžiančių bendro žiniatinklio serverio ir įvairiomis programavimo kalbomis parašytų scenarijų veikimo klausimą;
  3. serverio pusės dinaminė scenarijų kalba PHP (arba Perl);
  4. MySQL DBVS, kuri demonstruoja puikų SQL užklausų vykdymo greitį ir idealiai tinka mažiems ir vidutinio dydžio projektams. MySQL veikia ir yra ypač paprasta naudoti.

Kodėl gali prireikti LAMP?

  • jei jums reikalinga žiniatinklio kūrimo ir LAMP programų testavimo aplinka. Tai taikoma ir jūsų programoms, ir bet kuriai TVS, kurios jums reikia. Galite dirbti su Windows ir Ubuntu;
  • jei jums reikia sukurti produktyvų žiniatinklio serverį savo projektų talpinimui skirtame serveryje;
  • jei jums reikia serverio versijų valdymo sistemoms;
  • savarankiško mokymosi administravimui;
  • ekonominiais tikslais, sukurti savo serverį.

Koks svarus šio surinkimo pranašumas : Dėl paprastos konfigūracijos puikiai tinka greitai įdiegti programą, tačiau ji vis tiek mažai keičia mastelį ir atskiria komponentus.

Tarp tokio surinkimo trūkumai reikėtų pabrėžti šiuos dalykus:

Programa ir duomenų bazė dalijasi tais pačiais serverio ištekliais (procesoriaus, atminties, įvesties / išvesties ir kt.), todėl prastai veikia ir sunku nustatyti šios problemos šaltinį (programą ar duomenų bazę). Taip pat yra kliūčių horizontaliam mastelio keitimui.

LAMP diegimas (Linux + Apache + MySQL + PHP / Perl / Python) yra gana plačiai naudojama Ubuntu serverių nustatymo parinktis. Yra daug programų, kurios yra atvirojo kodo ir parašytos naudojant LAMP programų krūvą. Populiarios LAMP programos apima wiki enciklopedijas, turinio valdymo sistemas (TVS) ir valdymo programas, tokias kaip phpMyAdmin.

Svarbus LAMP privalumas yra lankstumas pasirenkant duomenų bazes, žiniatinklio serverius ir scenarijų kalbas. Dabartiniai MySQL pakaitalai yra PostgreSQL ir SQLite. Python, Perl ir Ruby gali būti pakeisti PHP. O „Nginx“, „Cherokee“ ir „Lighttpd“ yra „Apache“ alternatyvos.

Norėdami greitai įdiegti LAMP, naudokite taskel. „Tasksel“ yra „Debian“ / „Ubuntu“ įrankis, kuris įdiegia kelis priklausomus paketus jūsų sistemoje kaip vieną užduotį.

Jei tau reikianustatyti LAMP mūsų VPS serveriuose , susisiekite su mūsų visą parą veikiančia technine pagalba! Bendrovė „Hyper Host™“. linkiu malonaus darbo!

Išsamiau „HyperHost“ prieglobos palaikomos technologijos.

9946 kartus 2 Peržiūrėtas kartus šiandien

Kalbėdami apie „Apache“, „MySQL“ ir „PHP“, dauguma administratorių turi omenyje LAMP paketą, kuris apima šio programinės įrangos rinkinio įdiegimą viename iš daugelio „Linux“ platinimų. Tačiau pasirinkus FreeBSD šiuo atveju gali tikti labiau.

Šiame straipsnyje paaiškinsiu visus veiksmus, kurių reikia imtis, kad „FreeBSD“ būtų sukurtas ir paleistas su (L)AMP stekeliu ir keliais administravimo įrankiais pliko metalo serveryje, kad visa tai veiktų be jokių kliūčių arba netikėtų situacijų.

1 veiksmas. Įdiekite FreeBSD

Pirmiausia mums reikia pačios operacinės sistemos. Eikime į oficialų puslapį FreeBSD(www.freebsd.org), spustelėkite nuorodą „Gauti FreeBSD dabar“, tada pasirinkite OS versiją (rašymo metu buvo dvi versijos: 8.2-RELEASE ir 7.4-RELEASE), architektūrą (amd64 arba i386) , spustelėkite nuorodą ir pamatysite galimų vaizdų sąrašą. Iš viso jų yra penki: bootonly - įkrovos atvaizdas, skirtas diegti per tinklą, disk1 - ISO atvaizdas įrašymui į CD, dvd1 - vaizdas įrašymui į DVD, livefs - LiveCD be grafinės sąsajos, atmintis įrašymui į USB raktų pakabuką . Mūsų atveju tiks tik pirmasis ir antrasis, o jei tinkle nėra DHCP serverio, tai tik antrasis (nėra prasmės atsisiųsti DVD vaizdo, nes kompaktiniame diske yra viskas, ko mums reikia).

Taigi, atsisiųskite ISO atvaizdą, supjaustykite jį į tuščią vietą, įdėkite į serverio diską ir iš naujo nustatykite / įjunkite. Laukiame, kol OS bus paleista. Kai atsisiuntimas bus baigtas, ekrane turėtų pasirodyti šalies pasirinkimo langas ir sistemos diegimo programos meniu, kurį sudaro dvylika elementų. Mus domina tik vienas iš jų: „Express“ leidžia kuo greičiau įdiegti operacinę sistemą, praleidžiant daugybę įspėjamųjų pranešimų, klausimų ir nustatymų. Pasirinkite jį ir spustelėkite .

Pasirodys disko skaidymo programos langas. Čia galite tiesiog spustelėti naudoti visą diską arba sukurti naują skaidinį laisvoje srityje. Tačiau atminkite, kad FreeBSD naudoja dviejų lygių disko skaidymo schemą, kurioje viename standartiniame DOS skaidinyje (FreeBSD terminologijoje vadinamas skiltimi) gali būti keli BSD skaidiniai, todėl šiame žingsnyje jums reikės sukurti tik vieną skaidinį. Baigę spustelėkite norėdami išeiti iš programos.

Kitas langas: klausimas apie įkrovos tvarkyklės diegimą, tiesiog spustelėkite Norėdami įdiegti įkrovos įkroviklį į MBR. Iškart po jo pasirodys langas, kuriame anksčiau sukurta skaidinys bus pažymėtas į BSD skaidinius. Čia galite eksperimentuoti, bet rekomenduočiau tiesiog spustelėti kad pati programa padalytų diską. Kitas spustelėkite kad patvirtintumėte pakeitimus.

Kitas langas: pasirinkite diegimo šaltinį. Pagal numatytuosius nustatymus CD / DVD naudojamas kaip šaltinis, todėl tiesiog spustelėkite . Patvirtinkite savo pasirinkimą paspausdami kitame lange. Dabar prasidės failų kopijavimo procesas, po kurio ekrane bus rodomas pranešimas, kuriame bus klausiama, ar grįžti į pagrindinį diegimo programos meniu. Spustelėkite , Toliau , "Taip ir . Operacinė sistema turi būti paleista iš naujo. Nepamirškite išimti diegimo disko iš disko, kad OS galėtų paleisti iš standžiojo disko.

Kai atsisiuntimas bus baigtas, įveskite vartotojo vardą root ir gaukite prieigą prie komandų interpretatoriaus.

2 veiksmas: sąranka

Ką tik įdiegėme „FreeBSD“, bet jis dar nėra pasirengęs veikti kaip pilnavertis serveris: tinklas neveikia, „root“ neturi slaptažodžio, sistemoje yra tik vienas vartotojas. Pataisykime tai. Pirmiausia nustatykime root vartotojo slaptažodį:

Ekrane pasirodys klausimai, kurių dauguma gali būti neatsakyti (spustelėkite ), svarbu tik vartotojo vardas, numatytasis komandų interpretatorius (geriau pasirinkti tcsh) ir slaptažodis. Pabaigoje komanda parodys gautą vartotojo nustatymų sąrašą, į kurį atsakydami turėtumėte įvesti žodį „taip“, o atsakydami į kitą klausimą įveskite „ne“.

Kad vartotojas įgytų root teises, pridėkite jį prie ratų grupės:

# pw groupmod wheel -m vartotojo vardas

Pataisykime failą /etc/fstab, kad niekas negalėtų paleisti failų, esančių /tmp ir /var skaidiniuose. Norėdami tai padaryti, kiekvienos iš šių skilčių lauke Parinktys pridėkite žymas „noexec“.

Nustatykime griežtesnius prieigos prie sistemos failų apribojimus:

# chmod 0600 /etc/syslog.conf

chmod 0600 /etc/rc.conf

chmod 0600 /etc/newsyslog.conf

chmod 0600 /etc/hosts.allow

chmod 0600 /etc/login.conf

Dabar turime sukonfigūruoti tinklo ryšį. „FreeBSD“ sistemoje visi pasauliniai nustatymai yra saugomi /etc/rc.conf faile, todėl atidarykite jį naudodami redaktorių ir pridėkite šias eilutes:

# ee /etc/rc.conf
hostname="host.com"
ifconfig_em0="inet 1.2.3.4 tinklo kaukė 0xffffffff"
defaultrouter="5.6.7.8"

Čia em0 antroje eilutėje yra konfigūruojamos tinklo sąsajos pavadinimas. Visų galimų tinklo sąsajų sąrašą galima gauti naudojant komandą ifconfig. Kaip parinkties reikšmę galite nurodyti DHCP, tada sąsajai konfigūruoti bus naudojamas dhclient. Taip pat iš karto pridėsime keletą mums svarbių variantų:

# ee /etc/rc.conf

Išjungti paketų persiuntimą ir

užregistruoti visus peradresavimo bandymus

icmp_drop_redirect="TAIP"
icmp_log_redirect="TAIP"

Išjungti atsakymus į transliuojamo ping užklausas

icmp_bmcastecho="NE"

Kiekvieną kartą paleidus išvalykite /tmp katalogą

clear_tmp_enable="TAIP"

Neleiskite /etc/motd failo atnaujinti kiekvieną kartą paleidžiant

update_motd="NE"

Mes nepriimame paketų su vienu metu įdiegtais

vėliavėlės SYN ir FIN

tcp_drop_synfin="TAIP"

Išjungti sendmail

sendmail_enable="NE"
sendmail_submit_enable="NE"

Įgalinti SSH

sshd_enable="TAIP"

Norėdami išeiti iš redaktoriaus, spustelėkite ir du kartus . Pridėkite DNS serverio adresą prie /etc/resolv.conf:

# ee /etc/resolv.conf
vardų serveris 8.8.8.8

Kad tinklo nustatymai įsigaliotų, paleiskite šią komandą:

# /etc/rc.d/netif resttart

Tikrinamas tinklo pasiekiamumas:

# ping execbit.ru

Pridėkime keletą naudingų eilučių prie /etc/sysctl.conf failo:

# ee /etc/sysctl.conf

Nereaguokite į bandymus prisijungti prie uždarų prievadų

(apsaugos jus nuo kai kurių DoS atakų tipų ir apsunkins

prievado nuskaitymas)

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

Leisti tik root peržiūrėti visų procesų sąrašą

kern.ps_showallprocs=0

Apsaugokime SSH serverį nuo žiaurios jėgos atakų:

# echo "MaxStartups 5:50:10" >> /etc/ssh/sshd_config

/etc/rc.d/sshd paleiskite iš naujo

SSH serveris dabar nutrauks 50% naujų prisijungimų, jei bus penki neteisingi prisijungimai. Kai jų bus dešimt, serveris visiškai nustos reaguoti.

Naudojant greitąjį diegimą, prievadų sistema (trečiųjų šalių programinės įrangos diegimo į OS sistema) nėra automatiškai įdiegiama FreeBSD, todėl turime tai padaryti rankiniu būdu (tai gerai, nes taip gausime naujausią slice prievadų, be pasenusios, nesandarios programinės įrangos):

# portsnap gavimo ekstraktas

Taip pat galite atnaujinti bazinę sistemą, bet tai nėra būtina:

# freebsd atnaujinimo gavimas

freebsd-update diegimas

išjungti -r dabar

Atnaujinus prievadus, sistemoje įdiegsime rkhunter įrankį, kuris reikalingas norint sugauti rootkit, kurie gali būti įdiegti sistemoje ateityje:

# cd /usr/ports/security/rkhunter

kad įdiegimas būtų švarus

Pataisykime konfigūracijos failą /usr/local/etc/rkhunter.conf, kad parinktyje MAIL-ON-WARNING būtų el. laiškas, į kurį turėtų būti siunčiami pranešimai apie aptiktas anomalijas.

Priverskime įrankį patikrinti, ar nėra naujinimų:

# rkhunter -- atnaujinimas

Po to sukursime sistemos failų momentinę kopiją, kuri bus naudojama kaip nuoroda ieškant rootkit:

# echo "daily_rkhunter_update_enable="YES"" > /etc/periodic.conf

echo "daily_rkhunter_check_enable="TAIP"" > /etc/periodic.conf

Tai viskas, dabar visi pranešimai apie įtartiną sistemos veiklą bus patalpinti į žurnalą /var/log/rkhunter.log ir išsiųsti konfigūracijos faile nurodytu el.

# crontab -e 0 2 * * * root /usr/local/sbin/ntpdate pool.ntp.org

Galiausiai įdiegkime „Webmin“ – žiniatinklio sąsają, skirtą nuotolinio serverio valdymui (tie, kurie nori administruoti SSH, gali praleisti šį veiksmą):

# cd /usr/ports/sysutils/webmin

kad įdiegimas būtų švarus

echo "webmin_enable="TAIP"" >> /etc/rc.conf

# /usr/local/lib/webmin/setup.sh

Į klausimus galite atsakyti paspaudę , tačiau, kai reikia įvesti slaptažodį (eilutė „Prisijungimo slaptažodis:“), turėtumėte įvesti slaptažodį, kad galėtumėte pasiekti Webmin (geriau, jei jis skiriasi nuo kitų slaptažodžių). Tada galite paleisti Webmin:

# /usr/local/etc/rc.d/webmin start

Ir patikrinkite jo veikimą įvesdami adresą „https://host.com:10000/“ į artimiausios naršyklės adreso juostą.

AMP

Dabar atėjo laikas įdiegti AMP krūvą, ty „Apache“ žiniatinklio serverį, „MySQL“ duomenų bazę ir PHP interpretatorių. Pirmiausia išspręskime „Apache“. Eikite į prievadus ir įdiekite naujausią versiją:

# cd /usr/ports/www/apache22

padaryti config g install švarų

Ekrane turėtų pasirodyti konfigūracijos langas, kuriame galėsite pasirinkti pasirenkamų serverio komponentų diegimą. Čia nėra prasmės nieko keisti, todėl galite drąsiai spausti . Baigę surinkti ir įdiegti, nepamirškite pridėti serverio prie automatinio paleidimo (jei SSL palaikymas nereikalingas, galite praleisti antrą eilutę):

# echo "apache22_enable="YES"" >> /etc/rc.conf

echo "apache22ssl_enable="TAIP" >> /etc/rc.conf

Taip pat į konfigūracijos failą turėtumėte įtraukti instrukcijas, kaip įkelti modulį accf_http, kuris buferiuos HTTP ryšius, o tai palengvins serverį ir padės kovoti su SYN potvyniu:

# echo "accf_http_ready="TAIP" >> /etc/rc.conf

kldload accf_http

# cd /usr/ports/lang/php5

išvalykite konfigūracijos diegimą

Įsitikinkite, kad pasirinkta parinktis „Sukurti Apache modulį“. Be to, keli jo plėtiniai:

# cd /usr/ports/lang/php5-extensions

išvalykite konfigūracijos diegimą

Svarbu, kad PHP konfigūravimo žingsnyje nepamirštumėte pažymėti elemento „MySQL duomenų bazės palaikymas“, kuris verčia prievado sistemą įdiegti PHP modulį darbui su MySQL. Be jo niekas neveiks.

Dabar atidarykite Apache konfigūracijos failą teksto rengyklėje (FreeBSD jis paslėptas toli: /usr/local/etc/apache22/ httpd.conf) ir pakeiskite jame:

1. Po „LoadModule“ eilučių pridėkite šias dvi eilutes:

AddType application/x-httpd-php.php
AddType application/x-httpd-php-source.phps

2. Raskite parinktį ServerAdmin ir įveskite savo el. pašto adresą kaip jo reikšmę:

Serverio administratorius [apsaugotas el. paštas]

3. Parinktyje DocumentRoot nurodome katalogą, kuriame bus saugomi visi mūsų svetainės failai:

DocumentRoot "/home/www/data"

Nepamirškite sukurti šio katalogo:

# mkdir /home/www

mkdir /home/www/data

mkdir /home/www/cgi-bin

Man labiau patinka naudoti /home/www kaip šakninį katalogą, nes, pirma, katalogas /home paprastai yra didžiausiame skaidinyje (automatinio skaidinio konfigūravimo priemonė, kurią naudojome diegdami, didžiąją dalį vietos skiria /home), ir, antra, , su juo dirbti lengviau nei su kai kuriais /usr/local/www/apache22/data, paslėptais daugelyje pakatalogių.

4. Mes randame šią eilutę:

Ir mes jį pakeičiame taip, kad DocumentRoot būtų nurodytas kaip katalogas:

5. Keičiame šias eilutes:


DirectoryIndex index.html


DirectoryIndex index.php index.html

6. Viduje direktyva pakeisti eilutę:

ScriptAlias/cgi-bin/ "/usr/local/www/apache22/cgi-bin/"

Šitas:

ScriptAlias/cgi-bin/ "/home/www/cgi-bin/"

7. Kita eilutė:

Pakeiskite šiuo:

Išsaugokite failą ir sukurkite PHP nustatymų failą:

# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

To pakaks, kad Apache tinkamai veiktų kartu su PHP. Dabar galite pradėti diegti MySQL. Einame į uostus ir atliekame šiuos veiksmus:

# cd /usr/ports/databases/mysql50-server

padaryti WITH_OPENSSL=taip įdiegti švariai

Sukurkime elementarų konfigūracijos failą, kurio pakaks pirmą kartą:

# ee /etc/my.cnf
prievadas = 29912
prievadas = 29912
bind-adresas=127.0.0.1

Pridėkite MySQL prie paleidimo ir paleiskite serverį:

# echo "mysql_enable="YES""<< /etc/rc.conf

/usr/local/etc/rc.d/mysql-server start

Nustatykime slaptažodį prieigai prie duomenų bazės:

# mysqladmin -u root slaptažodžio slaptažodis

mysql -u root -p

Dabar „MySQL“ turėtų veikti normaliai, tačiau rankiniu būdu valdyti duomenų bazes nėra labai patogu, be to, kai kuriems tai bus pirmoji „MySQL“ diegimo patirtis, o greitai tai išsiaiškinti nėra taip paprasta. Todėl įdiegkime MySQL žiniatinklio valdymo sąsają, vadinamą PHPMyAdmin:

# cd /usr/ports/databases/phpmyadmin

kad įdiegimas būtų švarus

Redaguojame PHPMyAdmin konfigūracijos failą, nurodydami slaptažodį, kad galėtumėte pasiekti žiniatinklio sąsają:

# cd /usr/local/www/phpMyAdmin

cp config.sample.inc.php config.inc.php

ee config.inc.php

$cfg["blowfi sh_secret"] = "slaptažodis";

Dabar dar kartą atidarykite „Apache“ konfigūracijos failą ir atlikite šiuos veiksmus:

1. Į skyrių pridėti šią eilutę:

Pseudonimas /phpmyadmin /usr/local/www/phpMyAdmin

2. Iki skyriaus pabaigos pridėti šias eilutes:


Užsakyti leisti, atmesti
Leisti nuo visų

Čia vietoj „Leisti iš visų“ galite pridėti kažką panašaus į „Leisti nuo 123.456.789.0/12“, kad prieiga prie PHPMyAdmin tik iš konkretaus potinklio. Iš naujo paleiskite „Apache“:

Tai viskas, (L)AMP dabar turėtų veikti.

HTTPS

Kad PHPMyAdmin veiktų tinkamai, reikalingas HTTPS palaikymas, ir visiškai įmanoma, kad ateityje jums prireiks šio protokolo, kad užmegztumėte saugų šifruotą ryšį tarp kliento ir svetainės. Todėl pasirūpinsime, kad „Apache“ tai suprastų.

Pirmiausia pataisykime OpenSSL konfigūracijos failą (/etc/ssl/openssl.cnf), pridėdami prie jo šias eilutes:

# Katalogas sertifikatams saugoti
dir = /root/sslCA

Sertifikato galiojimo laikas (~10 metų)

numatytosios_dienos = 3650

Dabar paruošime katalogą ir sukurkime sertifikatus savo sertifikavimo institucijai:

mkdir sslCA

chmod 700 sslCA

chmod 700 sslCA

mkdir privatus

cd sslCA

openssl req -new -x509 -days 3650 -Extensions v3_ca

Keyout private/cakey.pem -out cacert.pem
-config /etc/ssl/openssl.cnf

Patikrinkime, ar sertifikatai sukurti sėkmingai:

# ls -l cacert.pem private/cakey.pem

Sugeneruokime „Apache“ sertifikatus ir įdėkite juos į /etc/ssl katalogą:

# cd /root/sslCA

openssl req -new -nodes -out hostname-req.pem

Keyout privatus/hostname-key.pem -config /etc/ssl/openssl.cnf

openssl ca -confi g /etc/ssl/openssl.cnf -out

vardas host-cert.pem -infiles pavadinimas host-req.pem

cp /root/sslCA/hostname-cert.pem /etc/ssl/crt

cp /root/sslCA/private/hostname-key.pem /etc/ssl/key

Dar kartą atidarykite „Apache“ konfigūracijos failą, suraskite šią eilutę ir panaikinkite komentarą:

# ee /usr/local/etc/apache22/httpd.conf

Įtraukite etc/apache22/extra/httpd-ssl.conf

Atliekame šiuos /usr/local/etc/apache22/extra/http-ssl.conf failo pakeitimus:

# ee /usr/local/etc/apache22/extra/http-ssl.conf

HTTPS serverio pavadinimas

Serverio pavadinimas ssl.host.com

Kelias į failą, kuriame yra sertifikatas ir raktas

SSLCertificateFile /etc/ssl/crt/yourhostname-cert.pem
SSLCertificateKeyFile /etc/ssl/key/yourhostname-key.pem

Tas pats kaip pagrindinėje konfigūracijoje

DocumentRoot "/home/www/data"

Kur rašyti žurnalus

ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"

Iš naujo paleiskite „Apache“:

# /usr/local/etc/rc.d/apache22 paleiskite iš naujo

Kas toliau?

Šiame straipsnyje parodžiau, kaip sukurti visiškai funkcionalų (L)AMP paketą, kuris veiktų naudojant FreeBSD (taigi, tai daugiau FAMP), o dabar tereikia atsisiųsti savo mėgstamą svetainės variklį ir įdiegti jį į savo /home/www. katalogas /data (nepamirškite scenarijų įdėti į /home/www/cgi-bin). Visa kita pasirūpins (L)AMP.

LAMP paketas yra Linux priglobtų svetainių pagrindas. Tai yra Linux, Apache, MySQL ir PHP (LAMP) programinės įrangos paketas.

Lempos stovas skirtas: -

  1. L („Linex“ OS)
  2. A(Apache[ Vietinis kliento serveris])
  3. M (MySQL duomenų bazė)
  4. P (PHP)

LAMP Stack yra atvirojo kodo programinės įrangos rinkinys, kurį galima naudoti kuriant svetaines ir žiniatinklio programas. LAMP yra akronimas, o šiuos paketus paprastai sudaro Linux operacinė sistema, Apache HTTP serveris, MySQL reliacinė duomenų bazių valdymo sistema ir PHP programavimo kalba.

    Linux: Operacinė sistema (OS) sudaro mūsų pirmąjį sluoksnį. „Linux“ nustato krūvos modelio pagrindą. Visi kiti sluoksniai yra ant šio sluoksnio. Linux yra žemiausio lygio sluoksnis ir teikia operacinę sistemą. „Linux“ iš tikrųjų paleidžia kiekvieną kitą komponentą. Tačiau jūs neapsiribojate tik Linux; galite lengvai paleisti visus kitus „Microsoft®“ komponentus; Windows®;, Mac OS X arba UNIX®, jei reikia.

    Apache: Antrąjį sluoksnį sudaro žiniatinklio serverio programinė įranga, paprastai „Apache Web Server“. Šis sluoksnis yra „Linux“ sluoksnio viršuje. Žiniatinklio serveriai yra atsakingi už vertimą iš žiniatinklio naršyklių į tinkamą svetainę. „Apache“ suteikia mechaniką, kaip gauti tinklalapį vartotojui. „Apache“ yra stabilus, labai svarbus serveris, kuriame veikia daugiau nei 65 procentai visų interneto svetainių. PHP komponentas iš tikrųjų yra „Apache“ viduje, o dinaminiams puslapiams kurti kartu naudojate „Apache“ ir PHP.

    MySQL: Mūsų trečiasis sluoksnis yra duomenų bazės. „MySQL“ saugo informaciją, kurios užklausą galima pateikti naudojant scenarijų, kad būtų sukurta svetainė. „MySQL“ paprastai yra „Linux“ sluoksnio viršuje kartu su „Apache“ / 2 sluoksniu. Aukštos klasės konfigūracijose „MySQL“ gali būti perkeltas į atskirą pagrindinį serverį. MySQL suteikia LAMP sistemos duomenų saugojimo pusę. Naudodami MySQL turite prieigą prie labai galingos duomenų bazės, tinkamos didelėms ir sudėtingoms svetainėms valdyti. Jūsų žiniatinklio programoje visi jūsų duomenys, produktai, paskyros ir kitos rūšies informacija bus saugoma šioje duomenų bazėje tokiu formatu, kurio užklausą galėsite lengvai pateikti naudodami SQL kalbą.

    PHP: Sėdėti ant jų visų yra mūsų ketvirtasis ir paskutinis sluoksnis. Skriptų sluoksnį sudaro PHP ir (arba) kitos panašios žiniatinklio programavimo kalbos. Šiame sluoksnyje veikia svetainės ir žiniatinklio programos. PHP yra paprasta ir efektyvi programavimo kalba, kuri suteikia klijų visoms kitoms LAMP sistemos dalims. Naudojate PHP dinaminiam turiniui, galinčiam pasiekti MySQL duomenų bazės duomenis ir kai kurias Linux teikiamas funkcijas, rašyti.