TURINYS
1 Darbo tikslas. 32 Darbo užduotis. 33. Linux įdiegimas 43 IP adreso priskirimas serveriui 54 Papildomų paketų įdiegimas. 55 Vartotojų sukūrimas 66 Apache2 tarnybos įdiegimas 77 PHP5 ir MySQL tarnybų įdiegimas 98 Duomenų valdymo sistemos „jebox“ įdiegimas 109 Samba tarnybos įdiegimas 1110 Į „Jetbox“ įdedam informaciją, kaip sukonfigūruota „samba“ 1211 Atsarginės kopijos 1312 Išvados 171 Darbo tikslas.Naudojant VMware Workstation programinę įrangą išmokti įdiegti Linux sistemą, bei ją sukonfigūruoti, pagal tam tikras užduotis.2 Darbo užduotis. Žemiau pateiktos užduotis kurias reikia realizuoti laboratoriniam darbe:• Įdiegti Linux sistemą.• Suteikti tarnybinei stočiai pavadinimą (hostname): „bomba“. • Pagrindinio sistemos administratoriaus (root) slaptažodį nustatyti į „%nopass“.• IP adresas priskiriamas pagal DHCP. • Sukurti vartotojus:1. „wazzupme“ (grupė: lt, direktorija: /home/kt/st1, slaptažodis: twokisses).2. „strongbrain“ (grupė: en, direktorija: /home/kt/st2, slaptažodis: threeeyes).3. „less2free“ (grupė: lt, direktorija: /home/av/st3, slaptažodis: one&nose.).• Įdiegti tinklalapių serverio tarnybą („Apache2“).• Įdiegti PHP5 tarnybą.• Įdiegti SAMBA tarnybą.• Įdiegti duomenų valdymo sistemą Jetbox.Apache2 tarnybą sukonfigūruot taip, jog, įvedus IP adresą atsidarytų duomenų valdymo sistemos jetbox puslapis. Nustatyti samba tarnyba taip, jog, visi vartotojai galėtų įeiti į bendrą ir į savo katalogus, galėtų ir įrašyti, ir trinti failus.Apriboti įkeliamų failų dydį iki 10MB, taip pat jetbox‘e pateikti informaciją, kaip buvo konfigūruojama samba.Ugniasiene sukonfigūruoti taip, kad būtų uždrausti visi nereikalingi portai.Kiekvienos savaitės trečiadienį ir sekmadienį 4:00h nakties turi būti padarytos vartotojų failų atsarginės kopijos, ir po mėnesio seniausias kopijas ištrinti.3. Linux įdiegimasPirmiausiai pasirenkam įdiegimo kalbą (English), toliau susirandam savo gimtąjį regioną (Lithuania). Pasirenkame klaviatūros standartą American English. Nustatome savo tarnybiniai stočiai pavadinimą (hostname) „bomba“. Domeno pavadinimą paliekam toks koks duotas pagal nutilėjimą („localhost“). Toliau pasirenkame rankinį patricijų nustatymo metodą (manual), spaudžiame ties tuščia disko vieta (free space), toliau pasirenkam creat new partition, nustatom particijos dydį 0,4GB, particijos tipą (Type for new partition) pasirenkam primary, particijos poziciją (Location for new partition) begining, toliau spaudžiame ant užrašo „naudoti kaip“ (use as), ir pasirenkame swap area, toliau renkamės done settings… Tuo pačiu principu sukuriame ir antrą particiją, tik šiuo atveju patricijai priskiriam visą likusią laisvą vietą, bei patricijai parenkam Ext3 failų sistemą. Galiausiai turime gauti kažką panašaus kas pavaizduota žemiau (1 pav.).
Sukūrus abidvi particijas pasirenkame Finish partitioning… Netrukus reiks patikslinti ar tikrai norime formatuoti diską (be jokios abejonės spaudžiam yes). Įvedam nurodyta Root slaptažodį: „%nopass“. Toliau įvedam vartotojo pilną vardą, jo prisijungimo prie sistemos vardą ir slaptažodį. Šioje vietoje įvedame bet ką, kadangi vis tiek šitą sukurtą vartotoją vėliau teks ištrinti… Toliau išsirenkam tinklo veidrodį (Network Mirror). Aš pasirinkau Lietuvoje stovintį ameba.sc-uni.ktu.lt veidrodinį serverį. Toliau turime pasirinkti kokią programinę įrangą instaliuosim, pažymime, kad instaliuotų tik standartinę sistemą. Galiausiai patvirtinam, jog norime naudoti grub sistemos įkroviklį ir perstartuojam kompiuterį. Linux operacinės sistemos diegimas baigtas.3 IP adreso priskirimas serveriui/etc/network kataloge esančiame interface faile saugoma tinklo konfigūracija. Atidarę jį įvedame tinklo konfigūraciją, jeigu šiame faile nurodyta kitaip nei reikalauja užduotis. Šiuo atveju mes turime matyti: (2 pav.). Išsaugom pakeistą failo interface turinį. Norint, kad serveris „priimtų“ naujus nustatymus reikia perkrauti tinklo modulį. Tai galime atlikti įvedę komandą: /etc/init.d/networking restart. Komanda ifconfig galime pažiūrėti kokie yra dabartiniai tinklo nustatymai.4 Papildomų paketų įdiegimas.Linux Debian distribucija, turi gausybė papildomų paketų, kuriuos galima įdiegtį į sistemą. Norėdami parsisiųsti ir įdiegti naujus paketus mums reikės pasinaudoti Linux sistemoje esančiu įrankiu apt (Advanced Packaging Tool). Norėdami rasti naujausius paketus pirmiausiai mums reikia atnaujinti apt paketų duomenų bazę, tai galima padaryti įrašius į Linux konsolę komandą apt-get update. Norėdami atsisiųsti paketą turime žinoti tikslų jo pavadinimą. Norėdami sužinoti tikslų paketo pavadinimą galime pasinaudoti komanda apt-cache search [ieškoma frazė]. Pavyzdžiui, mums reikia įdiegti Linux konsolėje failų „komanderį“ kuris mums palengvintų darbą su failais, tačiau mes nežinome tikslaus jo paketo pavadinimo. Linux konsolėje užrašome komandą: „apt-cache search commander“ ir gauname krūvą rezultatų iš kurių pasirenkame „mc – Midnight Commander“ – dažniausiai vartotojų naudojama failų tvarkymo programėlė.
Galime pasirinkti ir įdiegti net kelias Linux konsolei pritaikytas failų tvarkymo programas. Paketų įdiegimo sintaksė: „apt-get install [peketo pavadinimas]“. Norint įdiegti „mc“, rašome: „apt-get install mc“ komandą.5 Vartotojų sukūrimasMūsų užduotyje nurodyta sukurti šiuos vartotojus:1. „wazzupme“ (grupė: lt, direktorija: /home/kt/st1, slaptažodis: twokisses).2. „strongbrain“ (grupė: en, direktorija: /home/kt/st2, slaptažodis: threeeyes).3. „less2free“ (grupė: lt, direktorija: /home/av/st3, slaptažodis: one&nose.).Pirmiausiai reikia sukurti grupes, kurioms priklauso vartotojai, paskui sukurti grupei priklausantį katalogą ir padaryti taip kad tas katalogas priklausytų pačiai grupei.
groupadd lt (sukuriam grupę lt)groupadd en (sukuriam grupę en)mkdir /home/kt (sukuriam kt katalogą)mkdir /home/av (sukuriam av katalogą)chown :lt /home/kt (padarom, jog katalogo kt savininkas būtų grupė lt)chown :lt /home/av (padarom, jog katalogo av savininkas būtų grupė lt)chown :en /home/kt (padarom, jog katalogo kt savininkas būtų grupė en)
Po to sukurti vartotoją nurodant jo grupę, direktoriją, bei paties vartotojo vardą, bei sukurti vartotojui jo asmeninį katalogą, kuris yra jo grupės kataloge, bei vartotojo katalogo šeimininką nustatyti patį vartotoją.
useradd –g lt –d /home/kt/st1 wazzupme (sukuriam vartotoją wazzupme kuris priklauso grupei lt ir priskiriam jam namų katalogą st1 esantį /home/kt direktorijoje.)useradd –g en –d /home/kt/st2 strongbrain (sukuriam vartotoją strongbrain kuris priklauso grupei en ir priskiriam jam namų katalogą st2 esantį /home/kt direktorijoje.)useradd –g lt –d /home/av/st3 less2free (sukuriam vartotoją less2free kuris priklauso grupei lt ir priskiriam jam namų katalogą st3 esantį /home/av direktorijoje.)
mkdir /home/kt/st1 (vartotojui wazzupme sukuriam jo namų katalogą st1)mkdir /home/kt/st2 (vartotojui strongbrain sukuriam jo namų katalogą st2)mkdir /home/av/st3 (vartotojui less2free sukuriam jo namų katalogą st3)chown pirmas /home/kt/st1 (vartotojas wazzupme nustatomas katalogo st1 šeimininku)
chown antras /home/kt/st2 (vartotojas strongbrain nustatomas katalogo st2 šeimininku)chown trecias /home/av/st3 (vartotojas less2free nustatomas katalogo st3 šeimininku)Vartotojų katalogams nustatomos teisės, bei patiems vartotojams priskiriami slaptažodžiai.
chmod 755 /home/kt/st1 (katalogui st1 nustatomos teisės, kad katalogo šeimininkas galėtų viską daryti, o grupė ir kiti vartotojai galėtų tik skaityt ir vykdyti)chmod 755 /home/kt/st2chmod 755 /home/av/st3passwd wazzupme twokisses (Vartotojui wazzupme nustatėm slaptažodį twokisses)passwd strongbrain threeeyes (Vartotojui strongbrain nustatėm slaptažodį threeeyes)passwd less2free one&nose (Vartotojui less2free nustatėm slaptažodį one&nose)
Patikriname ar teisingai priskyrėme vartotojams grupes, bei ar jie patys yra savo namų katalogo šeimininkai. Norint visa taip patikrinti turime pasinaudoti šiomis komandomis ls –l /home/kt/, bei ls –l /home/av/ (3 pav.).
Komanda ls –l pateikia informaciją apie katalogo teises, katalogo šeimininką, grupę kuriai priklauso katalogas, katalogo dydį diske, sukūrimo datą ir laiką, bei katalogo pavadinimą.6 Apache2 tarnybos įdiegimasApache2 yra galingas tinklalapių serveris, leidžianti publikuoti mūsų sukurtus tinklalapius internete. Norint naudotis Apache2 tarnyba pirmiausiai reikia ją atsisiųsti ir sukonfigūruoti. Kaip jau žinome paketus atsisiunčiam naudodami komandą „apt-get install [peketo pavadinimas]“. Taigi surenkam komandą: „apt-get install apache2“ ir po kelių minučių Apache2 tarnyba jau yra mūsų kompiuteryje. Toliau konfigūruojam pagal duotus nurodymus. Pirmiausiai turim sukonfigūruoti taip, jog, pagrindinis būtų duomenų valdymo sistemos jetbox puslapis. Savo namų kataloge (home), sukuriame direktoriją www. Toliau reikia atsidaryti failą 000-default, kuris yra „/etc/apache2/sites-enabled“ kataloge. Eilutę „DocumentRoot“ ir „/var/www/“ pakeičiu į „/home/www/jetbox/“ taip pat susirandu eilutę „“ ir pakeičiu į „“. Dar mums reikia uždėti komentaro ženklą prie eilutės „#RedirectMatch ^/$ /apache2-default/.“ Žemiau (4 pav.) pateiktas failo „000-default“ turinio fragmentas.
Norint, jog mūsų sistemoje esantys vartotojai galėtų talpinti kiekvienas savo atskirą internetinį puslapį, mums reikia aktyvuoti vartotojų puslapių modulį (userdir). Aktyvuoti šį modulį galima tiesiog perkeliant du failus „userdir.conf“ bei „userdir.load“ iš direktorijos „/etc/apache2/mods-availabe“ į direktoriją „/etc/apache2/mods-enabled“. Failus galime perkelti pasinaudoję „Midnight Commander“. Viename lange atidarom direktoriją „/etc/apache2/mods-enabled“ po to su tab klavišu pereinam į kitą langą ir tame lange atidarom „/etc/apache2/mods-availabe” direktoriją bei su „insert“ mygtuku pažymim userdir.conf ir userdir.load failus bei spaudžiam klavišą F6.
Atlikę visus reikiamus pakeitimus perstartuojam „Apache2“ serverį (/etc/init.d/apache2 restart).Apache2 serveris neranda direktorijos „/home/www/jetbox/“, nekreipiame į tai dėmesio. Direktorijos nėra, nes dar neatsisiuntėme „jetbox“ duomenų valdymo sistemos. Kai ją atsisiųsime, tada sukursime direktoriją bei jetbox duomenų valdymo sistemos visus failus patalpinsime ten.7 PHP5 ir MySQL tarnybų įdiegimasNorint, jog mūsų tinklalapį būtų galima patogiai plėtoti ir redaguoti reikia jį tinkamai suprojektuoti bei suprogramuoti. PHP (Hypertext Preprocessor) yra viena populiariausių dinaminių tinklalapių programavimo kalbų. Todėl būtinai reikia jos palaikymą įdiegti į mūsų serverį. Vykdome komandą „apt-get install php5“ ir atsisiunčiame „php5“ tarnybą. Norint patikrinti ar mūsų php5 tarnyba veikia parašome paprastą php skriptuką (5 pav.) ir įkeliame jį į kurio nors vartotojo „public_html“ direktoriją. Savo naršyklėje surenkame serverio IP adresą bei vartotojo vardą ir matome (6 pav.), jog mūsų php skriptas sėkmingai veikia.Taigi galime teigti, jog mūsų „php“ tarnyba ir apache2 buvo įdiegti sėkmingai. Toliau atsisiunčiame mysql serverį (vykdome komandą apt-get install mysql-server). Norint, kad mūsų mysql serveris veiktų su php5 tarnyba mums reikia įdiegti papildomą php5-mysql moduliuką (apt-get install php5-mysql). Toliau sukuriame mysql serveriui administratorių tai vykdome parašę komandą mysqladmin – u root password admin. Taigi mūsų duomenų bazės serverio administratorius bus vartotojas root ir jo prisijungimo slaptažodis bus admin. Norint pasilengvinti sau darbą su duomenų bazėmis, turime atsisiųsti phpmyadmin įranki (apt-get install phpmyadmin). Šis įrankis mus išlaisvins nuo nuobodaus mysql kodo rašymo ir suteiks galimybę skurti duomenų bazę ir jos lenteles keliais pelės paspaudimais. Norint pasinaudoti phpmyadmin įrankiu reikia įkelti simbolinę nuorodą į pagrindinį Apache2 serverio puslapio katalogą. Mūsų atveju pagrindinis katalogas yra /home/www/jetbox, taigi nuorodą sukuriame pasinaudoję ln –s /usr/share/phpmyadmin/ /home/www/jetbox/ komanda. Norint patikrinti ar sėkmingai įdiegėme phpmyadmin įrankį mums reikia atsidaryti naršyklę ir surinkti savo IP adresą ir po pasviro bruksnio phpmyadmin. Kaip matome (7 pav.) phpmyadmin buvo įdiegtas sėkmingai.8 Duomenų valdymo sistemos „jebox“ įdiegimas Ko gero paprasčiausias būdas sukurti paprastą ir patogų tinklalapį yra pasinaudojus duomenų valdymo sistema. Pastaroji už mus pasirūpina grafiniu puslapio išdėstymu, tam tikru duomenų bazės lentelių sukūrimu bei kita puslapio dinamika. Duomenų valdymo sistemų yra be galo daug, tačiau mūsų užduotyje yra nurodyta „jetbox“. Kadangi „jetbox“ valdymo sistemos nėra tarp standartinių „Linux Debian“ paketų ją reikia atsisiųsti tiesiog iš interneto. Tad surenkame adresą http://jetbox.streamedge.com susirandame mus dominančią „Linux“ sistemai skirtą versiją ir atsisiunčiame ją. Atsisiųstą failą į savo serverį įsikeliame pasinaudodami „ssh (security shell)“ protokolu, bei „winscp“ programa. Norint pasinaudoti „ssh“ protokolu pirmiausiai mums į serverį reikia įsidiegti „ssh“ komanda „apt-get install ssh“. Dabar paleisdami „winscp“ programą ir surinkdami mūsų serverio IP adresą, bei nurodę kokio nors sistemoje esančio sukurto vartotojo vardą ir slaptažodį galima prisijungti prie mūsų serverio ir kopijuoti failus iš savo kompiuterio į serverį ir atvirkščiai. Taigi perkeliam jetbox failiuką į serverį. Kadangi failiukas yra suglaudintas (suzipuotas), mums jį reikės atglaudinti (atzipuoti). Tam aš panaudosiu tiesiog Midnight Commander. Tiesa prieš tai dar reikės įdiegti papildomą „unzip“ moduliuką, taigi „apt-get install unzip“ ir dabar jau galima drąsiai išarchyvuoti mūsų „jetbox“ duomenų valdymo sistemą tiesiog per „Midnight Commander“ paspaudę ant archyvo bei jo viduj pažymėję visus failiukus su insert mygtuku bei juos nukopijavę į /home/www/jetbox katalogą. Toliau vėl atsidarome savo naršyklę surenkam savo serverio IP adresą ir mums atsidaro jetbox duomenų valdymo sistemos įdiegimo puslapiukas (8 pav.). Bet darykime viską iš eilės. Pirmiausiai norint dirbti su duomenų valdymo sistemą mums reikia sukurti duomenų bazę. Kiek ankščiau įdiegėme phpmyadmin įrankį, taigi atėjo metas jį panaudoti. Naršyklėje surenkam IP adresiuką ir po pasviro brūkšnio /phpmyadmin/ bei prisijungimui panaudojame ankščiau mūsų sukurtą mysql duomenų bazės admino prisijungimo vardą bei slaptažodžį (Vartotojo vardas : root, slaptažodis: admin). Susirandame užrašą „Privilegijos“ ir jį paspaudžiame. Toliau spaudžiame „Sukurti naują vartotoją“. Mano naujo vartotojo vardas: jetbox, darbinė stotis: localhost, slaptažodis: admin. Taip vartotojui uždedam visas privilegijas ir spaudžiam mygtuką „vykdyti“. Toliau keliaujame į /home/www/jetbox/include direktoriją ir surandame failą general_settings.inc.php bei jį pakoreguojam kaip nurodyta 9 pav. Vėl prisijungiame prie savo duomenų valdymo sistemos per naršylę. Paspaudinėjam kelis kartus next mygtuką kol gauname pranešimą, jog mums reikia ištrinti /instl/ direktoriją iš pagrindinio jetbox katalogo, taigi ištrinam tą direktoriją. Taip pat mums reikia pakeisti general_settings.inc.php faile esančią eilutę $install_jetbox=true pakeičiam į $install_jetbox=false. Štai ir viskas baigta dabar galime prisijungti prie savo duomenų valdymo sistemos naršyklėje ivedę savo IP adresą ir uz pasviro brūkšnio admin įvedus prisijungimo vardą admin ir slaptažodį admin1. Sekanti užduotis yra apriboti, duomenų valdymo sistemai, įkeliamų failų dydį. Pirmiausiai mums reikia su teksto redaktoriumi atidaryti failą php.ini esantį /etc/php5/apache2 direktorijoje. Tame faile reikia susirasti eilutę upload_max_filesize = 2M. Pagal nutylėjimą leidžia įkelti failą, kurio dydis nėra didesnis už 2 MB. Tačiau mūsų atveju reikia, kad failo dydis būtų 10MB, tai paimam nutrinam dvejetuką ir įrašom dešimtuką (10 pav.).9 Samba tarnybos įdiegimasYra laba patogu failais apsikeisti vietiniame tinkle. Tam tikras kompiuteris pasidalina tam tikrais failais, ir tam tikri tinklo vartotojai tuos failus gali naudoti, net jų neatsisiųsdami. Būtų labai patogu jei mūsų serveris ir galėtų pasidalinti tam tikrais failais ir tinklo vartotojai galėtų juos atidarinėti tiesiog iš serverio. Šitą užduotį įvykdyti padės mums „samba“ tarnyba. Taigi, pirmiausiai „apt-get install samba“ komanda įdiegiam „samba“ tarnybą į savo serverį. Toliau sukuriam „/home/visiems“ direktoriją (mkdir /home/visiems). Pagal užduotį visi vartotojai turi patekti į šią direktoriją, turi teisę trinti, kurti ir redaguoti failus. Toliau reikia „samba“ tarnybai pridėti vartotojus ir nustatyti jų slaptažodžius. Tai darome su „smbpasswd -a [vartotojo vardas]“ komanda. Taigi pridedam visus tris vartotojus kaip pavaizduota 11 pav. Toliau mums reikia tinkamai sukonfigūruoti smb.conf failą esantį /etc/samba direktorijoje. Taigi sukuriam bloką [visiems] (12 pav.) Įrašę šį bloką į failą, perkraunam samba tarnybą (/etc/init.d/samba restart). Toliau tikrinam ar mūsų samba tarnyba veikia gerai. Spaudžiam windows+r mygtukų kombinaciją. Atsidaro run langas ir į jį įrašom IP adresą. Toliau įvedam kurio nors vartotojo vardą ir slaptažodį. Netrukus mums pasirodo langas (13 pav.), kuriame mes matome direktoriją „visiems“ ir vartotojo direktorija.Į ją bevargo galime patekti. Ir pagal mūsų nustatymus galime skaityti, rašyti ir trinti duomenis. Tokę pačią lentelę išmestų jai bandytume įrašyti savo failą, bei pakeisti esantį serveryje failą.10 Į „Jetbox“ įdedam informaciją, kaip sukonfigūruota „samba“
Interneto naršyklėje įvedame „http://192.168.74.128/admin/“ ir prisijungiame su vartotojo vardu „admin“ ir slaptažodžiu „admin1“. Prisijungę spaudžiame „Pages“, tam, kad sukurtume naują puslapį, tada „New main page“ skiltį, surašom visą informaciją, kaip sukonfigūravome „sambą“ (14 pav.) ir spaudžiame „publish“, kad mūsų puslapis būtų matomas.11 Atsarginės kopijosSvarbiems duomenims būtina daryti atsargines kopijas, nes neaišku kada kompiuteris gali nulūžti. Taip pat ir patys mes galime netyčia ištrinti svarbų failą. Atsargines kopijas daryti Linux sistemoje mums padės „crontab“ programa. Paprastai „crontab“ programos nereikia įdiegti, pagal nutylėjimą jinai būna įdiegiam kartu su pagrindine Linux sistema. Įrankis „crontab“ skirtas nustatyti tam tikras komandas programas, jog veiktų tam tikru laiku. Taigi crontab programai nurodome vykdyti parašytą atsarginių kopijų kodą tam tikru laiku. Tai padarau surinkęs komandą „crontab –e“ ir įvedu šias eilutes pavaizduotas 15 pav.Pirmieji skaičiukai nurodo minutes, sekantys skaičiukai nurodo valandas toliau skaičiukai 0,3 nurodo jog komandą vykdytų trečiadienį ir sekmadienį, ir galiausiai nurodoma kokia komanda bus vykdoma. Čia mes matome, kad kiekvieną trečiadienį ir kiekvieną sekmadienį 4:00 valandą nakties bus vykdoma programa „kopijos.sh“, kuri yra /etc/home/scripts/ kataloge.
Savaitės dienos žymimos taip:• 0 – Sekmadienis• 1 – Pirmadienis• 2 – Antradienis• 3 – Trečiadienis• 4 – Ketvirtadienis• 5 – Pektadienis• 6 – Šeštadienis
Toliau reikia sukurti skriptą, kurį paleidus darytų atsargines kopijas. Iš esmės atsarginių kopijų darymo principas yra toks, jog automatiškai kopijuojami ir archyvuojami tam tikri duomenys iš tam tikros į tam tikrą vietą. Skripto kodas pateiktas 16 pav.
Skripto pradžioje apsirašomi kintamieji. Kitamiesiems priskiriamos direktorijų reikšmes. Toliau tikrinama ar direktorijos egzistuoja, jai ne tai jos yra sukuriamos. Toliau daroma home direktorijos atsarginė kopija. Paskui ieško senų archyvų kurie sukurti yra prieš 30 dienų ir jai randam tokius failus juos ištrinam.12 Išvados Atlikdamas šį laboratorinį darbą išmokau:
1. Linux sistemai priskirti statiškai IP adresą.2. Sukurti Linux operacinėje sistemoje vartotojus, grupes.3. Įdiegti ir konfigūruoti Apache2 tarnybą.4. Įdiegti MYSQL ir PHP tarnybas.5. Supratau duomenų valdymo sistemos paskirtį ir jos veikimo principą.6. Įdiegti ir konfigūruoti samba tarnyba.Viso laboratorinio darbo metu įgytos žinios yra labai vertingos, jas bus galima panaudoti ateityje, praktikoje.