Erinevus lehekülje "Turingu serverisse rakenduse paigaldamine" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
 
89. rida: 89. rida:
 
=== Optimaalne failide paigaldamine serverisse ===
 
=== Optimaalne failide paigaldamine serverisse ===
  
Kuna lähtekoodi hoitakse Gitlabi koodisalves, siis kõige lihtsam on `public_html` kataloogis kloonida koodisalv `iti0209` nimega, näiteks: `git@gitlab.cs.ttu.ee:martin.verrev/iti0209_2023.git iti0209` Kui salves on index.html fail loodud ja pathid korrektsed muutub prototüüp serveris nähtavaks.
+
Kuna lähtekoodi hoitakse Gitlabi koodisalves, siis kõige lihtsam on `public_html` kataloogis kloonida koodisalv `iti0209` nimega, näiteks: `git@gitlab.cs.ttu.ee:martin.verrev/iti0209_2023.git iti0209` Kui salves on index.html fail loodud ja pathid korrektsed muutub prototüüp serveris aadressil `https://turing.cs.ttu.ee/~martin.verrev/iti0209` nähtavaks.
  
 
TODO: SSH võtmete seadistamise juhend turingu serveris Gitlabi jaoks.
 
TODO: SSH võtmete seadistamise juhend turingu serveris Gitlabi jaoks.

Viimane redaktsioon: 5. aprill 2023, kell 22:37

Turingu server

Kodutööde tarbeks on kasutusel server http://turing.cs.ttu.ee: 2. ja 3. kodutöö tuleb sinna üles panna asukohta mis kodutöö kirjelduse juures. Põhileht/avaleht olgu nimega index.html, siis töötab otse kataloogi-url ilma failinimeta.

Ligipääs

Turingu serverisse sisselogimiseks on sul vaja omada TTÜ arvutiklasside klasside kontot kujul Eesnimi.Perenimi (siin võib tekkida probleem täpitähtede, tühikutega jne).

Kui sul ei ole kasutajatunnust või oled parooli kaotanud, saad selle lasta teha arvutiklasside administraatorite juures. Teine variant on kasutada portaali https://pass.ttu.ee : logid sinna sisse id-kaardi või mobiiliga ja saad ise parooli muuta.

Programmid failide kopeerimiseks serverisse

Failide kopeerimiseks serverisse kasuta windowsil programme winscp või Filezilla. Linuxist ja Macist kopeerimiseks kasuta käsurea programmi scp.

Arvutiklassides leiad Winscp "Application catalog" programmi jaotusest "terminals": sealt saad ta installeerida. Alternatiivina saab Winscp ja Putty lihtsalt veebist alla laadida ja ilma eri-installeerimiseta käivitada: paki zip kataloog lahti ja võta exe välja.

Winscp esmakordsel käivitamisel vajuta "New" ja täida host (turing.cs.ttu.ee) ja kasutajanime ning parooli väljad, muid asju pole vaja seada. Ülevalt kastist "File protocol" peaks olema valitud SFTP, see on tõenäoliselt kohe vaikimisi valik.

Winscp kasutamise juures tasub teda veidi mugavamaks sättida:

  • Options->preferences menüü alt mine Environment/interface ja vali "Commander", siis tekib kahe alamaknaga kasutajaliides, kus ühes on sinu masin ja teises server: nii on mugavam faile kopeerida.
  • Options->preferences menüü alt mine "Editors", vajuta "add", vali oma progeredaktor (otsi näiteks C:\Program Files(86) alt Notepad++ ja nihuta ta seejärel samal lehel tabelis päris üles (vali tabelist tema rida ja vajuta "up" kuni lõpuni): siis saad sellesama redaktoriga oma masinast otse redigeerida serveris olevaid faile (katsetatud scite ja notepad++ ja bracketsiga, töötab).
  • Options->preferences menüü alt mine Integration/applications ja vali sealt "Browse" abil oma masinast putty.exe (täispath) ja sea "Remember password ..." peale: siis saad winscp tööriistariba keskel oleva väikese putty ikooni abil otse putty käivitada ja seal piisab siis ainult kasutajanimest.
  • Session menüü alt tee "Save session" ja checki "Save password", siis on edaspidi serverisse logimine lihtsam: ei pea uuesti sisestama kasutajanime ega parooli.

Veebikeskkonna ettevalmistamine ja failide üleslaadimine

Kõik asjad, mis paigutad oma turingu serveri kodukataloogi alamkataloogi public_html, on veebis nähtavad. See kataloog peaks olema sulle juba ette valmis tehtud.

Tekita algul prooviks otse public_html alla katse.html nimeline fail ja vaata, kas brauserist avaneb

http://turing.cs.ttu.ee/~<uni-id>/katse.html

Kui ei avane, on võimalik, et sul on vaja muuta katse.html failiõigusi, nagu edaspidises kirjas. Üldiselt aga winscp-ga üles laadides on failiõigused kohe OK ja neid muutma ei pea.

Nüüd loo public_html alla kataloog prax1:

  • Winscp abil kasuta serveriaknas kataloogi-ikooni tärnikesega üleval paremal: create directory (F7). Seejuures peaksid vaikimisi failiõigused olema kohe OK ja neid seadma ei pea. Oluline, et "Set permissions" all oleks Owneri järel RWX linnukesed, Group ja Others järel R X linnukesed.
  • Kui sa winscp-d ei kasuta, siis käsurealt sisse logides tee mkdir public_html/prax1 ja sea failiõigused, nagu järgnevas räägitud.

Seejärel pane oma rakenduse failid otse sinnasamasse prax1 alla, kasutades failinimesid, mis eelpool nõutud (index.html pealeht, muud lehed enda valikul).

Kui kataloog on olemas ja sinna mõned faili pandud, suunake oma brauser turingu serveri aadressile, mille saate, kui lisate serveri nime järgi tilde ja kasutajanime ja siis kataloogi või faili, mis olete pannud public_html alla (näiteks sedasi, aga asendage oma kasutajanimi ära):

http://turing.cs.ttu.ee/~<uni-id>/index.html või http://turing.cs.ttu.ee/~<uni-id>/prax1/index.html või http://turing.cs.ttu.ee/~<uni-id>/prax1/

Idee selles, et urlis http://turing.cs.ttu.ee/~<uni-id>/ järel tulevad failid/kataloogid on täpselt need, mis sul public_html kataloogi sees.

Failiõiguste seadmine:


Kui oled värskelt public_html alla prax1 kataloogi teinud, on tal tõenäoliselt kohe sobivad failiõigused. Kui ei, siis on vaja anda talle lisaks lugemis-ja nimekirjanäitamise õigus niimoodi: chmod a+rx public_html/prax1

Failile lugemisõiguse andmine (see tekib üldjuhul automaatselt ja ei ole vaja ise teha): chmod a+r index.html

public_html tegemine (erijuht)

Kui sul public_html kataloogi miskipärast ei ole, saad ta ise käsurealt luua niimoodi: mkdir public_html

Käsurea saamiseks tuleks üle SSH ühenduse serveri käsureale logida (putty või ssh vms)

Sisselogimine käsureale

Esimese ja teise praksi jaoks ei ole otseselt vaja serveri käsurida kasutada ehk sinna sisse logida. Järgmiste prakside jaoks aga on, nii et võid seda kohe katsetada.

Sisselogimiseks on Windowsil kõige lihtsam kasutada programmi putty (või alternatiivina kitty) ja Linuxil või Macil või käsureaprogrammi ssh.

Putty leiad arvutiklassidest programmi "Application catalog" jaotusest terminals: sealt saad ta ise installeerida. Mõistlik on panna endale putty viit desktopile.

Alternatiivina saad lihtsalt laadida endale veebist putty.exe: selle saab otse käima lasta, mingit eri-installeerimist ei ole vaja.

Putty või Kitty käimaminekul on sul vaja sisestada:

  • Serveri aadress: turing.cs.ttu.ee (see tuleb puttyl sisestada "Host name" väljale)
  • Kasutajanimi ja parool: TTÜ kasutajanimi ja parool (neid küsib putty siis, kui ta serveriakna avab).

Puttyl tasub Window/appearance alt seada meeldiv font ja Window/color alt meeldiv värv (ntx valge tagapõhi ja must värv). Samuti tasub kindlasti teha "save session" (enne pane "Saved session" väljale endale meeldiv nimi), siis jätab Putty settingud meelde ja sisenemisel ei pea enam arvuti nime sisestama: valid listist sessiooninime ja teed "Load" ja seejärel "open".

Hea alternatiiv puttyle on kitty, mis on muidu täpselt nagu putty, aga on valmis sinu kasutajanime ja parooli meelde jätma, et ei peaks igakord uuesti sisestama.

Optimaalne failide paigaldamine serverisse

Kuna lähtekoodi hoitakse Gitlabi koodisalves, siis kõige lihtsam on `public_html` kataloogis kloonida koodisalv `iti0209` nimega, näiteks: `git@gitlab.cs.ttu.ee:martin.verrev/iti0209_2023.git iti0209` Kui salves on index.html fail loodud ja pathid korrektsed muutub prototüüp serveris aadressil `https://turing.cs.ttu.ee/~martin.verrev/iti0209` nähtavaks.

TODO: SSH võtmete seadistamise juhend turingu serveris Gitlabi jaoks.

Linuxi käsurida ja serveris tegutsemine

Esimeses kahes praksis sul otseselt käsurida vaja ei lähe, aga kolmandast alates läheb. Põhimõtteliselt peaks piisama neist käskudest:

 pwd (mis kataloogis ma praegu olen)
 ls -l (vaata kataloogi sisu pikas formaadis)
 cd katalooginimi (mine sinna kataloogi)
 cd .. (mine üks tase kõrgemasse kataloogi)
 less failinimi (näita faili sisu: seal sees liigu nooleklahvidega ja lõpeta tähega q)
 cp kust kuhu (kopeerib)
 rm failinimi (kustutab)
 mkdir katalooginimi (teeb uue kataloogi)
 rmdir katalooginimi (kustutab kataloogi: see tuleb enne tühjendada)
 chmod a+r failinimi (teeb faili kõigile loetavaks, et ntx veebist kuvada)
 chmod a+rx failinimi (teeb faili kõigile käimapandavaks, eeskätt cgi programmide jaoks)
 vi failinimi (redigeeri faili lihtsa redaktoriga vi)


Linuxi käsurea kasutamist tuleb uurida omal käel. Sobivat lugemist lihtsamatest keerulisemateni:

Väga kasulikud asjad meelde jätta:

  • Üles ja alla nooleklahvid võtavad automaatselt ette varasemaid/hilisemaid käske, et neid ei peaks uuesti sisse tippima
  • kui tipid failinime esimese otsa ja vajutad tab klahvi, otsib süsteem automaatselt failinime lõpu (kui sul muidugi pole mitut sama algusega faili)
  • Suured ja väikesed tähed on unixis täiesti erinevad asjad, erinevalt windowsist. Näiteks sinu html/javascript sources olevad failinimed peavad olema antud täpselt selliselt, nagu failinimi tegelikult on (kui sources failinimi pilt.jgp, siis peab olema tegeliku faili nimi ka pilt.jpg, aga mitte näiteks pilt.JPG).
  • Üldiselt ei ole hea mõte kasutada failinimesid, kus sees tühikud ja/või täpitähed. See on võimalik, kuid tekitab rohkem probleeme ja ebamugavusi, kui asi väärt on. Seega kasuta näiteks "minu überpilt.jpg" asemel "minu_yberpilt.jpg" vms.
  • oma programmide käivitamiseks (oletame, et sul on kataloogis programm minuproge) tipi ./minuproge . Seda punkt-slashi ei ole vaja panna, kui sul on PATH muutuja sobivaks seatud, aga selle seadmisega pole tingimata vaja jännata.

Failide muutmine otse serveris

Siin on kolm veidi erinevat võimalust:

  • redigeerida faile mõne serveris oleva redaktoriga, näiteks vi (loe veidi vi kohta).
  • redigeerida faile oma masinas oleva redaktoriga, mis võimaldab neid otse serverist avada ja sinna kirjutada (head variandid selleks on winscp ja redaktoriks sea endale meeldiv redaktor, a la notepad++, scite või brackets.
  • ja lõpuks on alati variant redigeerida faile oma masinas ja kopeerida nad peale muutmist serverisse (nagu varem kirjeldatud)

Üldiselt on kõige mugavam teha võimalikult kõik oma masinas valmis, katsetada ära ja alles siis kopeerida valmis asjad serverisse, ning teha serveris ainult pisimuutusi.