SSH kasutamisest Zone virtuaalserveris

Ardi Jürgens
RSS: Jaga:

SSH

Täna tahan teile tutvustada Zone virtuaalserveritesse SSH ühenduse loomise võimalust.

Algselt oli mul plaanis kirjutada põgus SSH kasutusjuhend, aga töövoogude guru, avamerede hirm ja Zone ‘power user’ Peeter Marvet on teinud Youtube nii hea SSH teemalise ekraaniviisori, et oleks patt üritada seda üle lüüa:

zone.ee: SSH ligipääs

Seetõttu keskendun ise allpool asjadele, mida tarkvaraarendajal SSH kaudu oma virtuaalserveris teha on võimalik.

SCP ja SFTP Zone ühendused virtuaalserverisse

Arendajate jaoks pakub SSH täiendavaid võimalusi oma tarkvara turvaliseks paigaldamiseks. Nimelt kasutavad SSH ühendust ka SCP ja SFTP protokollid, mida toetavad paljud populaarsed failihaldusvahendid ning tekstiredaktorid.

Loomulikult jäävad Zone serverid jätkuvalt toetama ka TLS-i kasutavat FTP turvalaiendust FTPS, sest viimane on lõppkasutajate jaoks oluliselt lihtsam kasutada.

Git ja Subversion versioonihaldus Zone virtuaalserveris

Kaasaegsed töövood ja -mustrid eeldavad tihti mõne versioonihaldussüsteemi kasutamist. Viimased nõuavad omakorda mitmete operatsioonide sooritamiseks SSH võimekust. Zone SSH kaugkonsool võimaldab tarkvara mugavalt serverisse lükata või tõmmata kesksest repositooriumist.

Otseselt ei takista miski ka väiksema tarkvararepositooriumi serveris hoidmist, kuid tahaks juhtida tähelepanu sellele, et versioonihaldus “raiskab” reeglina palju inodesid, mis teeb varukoopiate loomise ja taastamise oluliselt aeglasemaks.

Võimalus kasutada värskeid PHP arendamise vahendeid

“Anna arendajale töövahend ja ta on rahul päevaks, õpeta arendaja töövahendeid paigaldama ja ta on rahul eluajaks.”

Nii parafraseerisime enese jaoks tuntud Hiina vanasõna, kui olime uurinud milliseid arendusvahendeid programmeerijad SSH vahendusel kasutada tahaksid. Nimelt on arendajate soovid erinevad ja kohati üksteisele vastu käivad – vahendid ise, nende versioonid, kasutatud teekide versioonid jms erinevad tihti märkimisväärselt.

Seetõttu otsustasime, et arendusvahendite globaalse paigaldamise asemel kanname hoolt selle eest, et arendajad saaksid ise hõlpsalt endale sobiva töökeskkonna kujundada.

Järgnevad käin läbi mõned näited.

Composer

Composer (https://getcomposer.org/) on tunnustatud ja väga populaarne vahend PHP sõltuvussuhete haldamiseks. See võimaldab arendajal kirjeldada tarkvaraprojekti poolt nõutavad teegid ja neid automaatselt hallata.

Composeri paigaldamine serverisse on lihtne:

mkdir -p $HOME/bin

curl -sS https://getcomposer.org/installer | php -- --install-dir=$HOME/bin --filename=composer

Nagu ülalolevalt pildilt näha, siis kasutasin paigaldamisel --install-dir=$HOME/bin argumenti. Olin oma kodukataloogi eelnevalt loonud bin kataloogi (argument -p vältimaks veateadet juhul, kui see on juba olemas). See kataloog on meil vaikimisi ka PATHis olemas ja sobib ideaalselt kõigi kasutaja-rakenduste paigalduseks.

WP-CLI

WordPressi haldamiseks SSH kaughaldusliidese abil eksisteerib vahend nimega WP-CLI (http://wp-cli.org/). Väga cool, soovitan proovida.

Ääremärkus: alates 2016 suvest on wp-cli vaikimisi juba kõigis Virtuaalserverites olemas ning käivitub käsuga wp. Uuendame seda perioodiliselt ja paigaldamisõpetus on siinkohal vaid juhuks, kui peaks olema vaja mõnda väga värsket versiooni.

Lihtne meetod selle paigaldamiseks on:

 

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mkdir -p $HOME/bin
mv wp-cli.phar $HOME/bin/wp

Drush

Ka Drupali haldamiseks eksisteerib analoogne käsurealiides. Mõnede arvates on see veel coolim 🙂

Drushi (http://www.drush.org/) paigaldamiseks saan ära kasutada Composeri, milles paigaldamisest oli juttu ülalpool.

drush_install_ssh

Kuna Composeri poolt paigldatud käivitatavad failid asuvad vaikimisi ~/.composer/vendor/bin/ kataloogis, siis lisasin ka selle oma .bashrc failis PATH-i PATH=~/.composer/vendor/bin/:$PATH

Peale PATH’i muudatuse jõustamist, sain drush-i käivitada samanimelise käsuga.

PHPUnit

Näitamaks, et sama metoodika kehtib mitmete erinevat tüüpi vahendite puhul, siis siin on näide PHPUniti (https://phpunit.de/) paigaldamisest:

phpunit_install_ssh

Võimalus kasutada Node.js (https://nodejs.org/) baasil loodud tööriistu

Lisaks ülalmainitud PHP põhistele rakendustele, on Zone virtuaalserverites võimalik SSH kaugkonsoolis kasutada ka serveripoolset JavaScript keskkonda Node.js. Järgnevad mõned näited.

Bower

Oletame, et soovid oma rakenduse sõltuvussuhete haldamiseks kasutada Bower-it (http://bower.io/).

Siis ei ole sul vaja muud keerulisemat teha, kui Node.js pakihaldusvahendi npm abil Bower paigaldada, kasutades käsku npm install bower

bower_install_ssh

Node paigaldab oma käivitatavad failid ~/node_modules/.bin kataloogi, mille taasord saab lisada oma PATH’i .bashrc reaga PATH=~/node_modules/.bin:$PATH.

Grunt ja Grunt-CLI

Kui soovid oma taskide automatiseerimiseks kasutada Grunti (http://gruntjs.com/), on ka selle paigaldamine lihtne: npm install grunt ja npm install grunt-cli teevad ära kogu töö.

Kui kataloog ~/node_modules/.bin on juba PATH-is, siis grunt-i käivitamine samanimelise käsuga ei nõua mingeid täiendavaid samme.

Analoogselt saab paigaldada väga paljusid Node.js tööriistu.

Loodan, et ülaltoodud praktilised näited andsid teile esmase ülevaate sellest, milliseid arendusvahendeid SSH kaugkonsooli abil Zone virtuaalserveris kasutada saab.

Praktiline nipp: SSH aliased

Neil, kes kavatsevad SSH ühendusi hulgim kasutada, soovitan luua oma tööjaamas ~/.ssh kataloogi fail config ja kirjeldada seal oma hallatavatele serveritele aliased, näiteks:

Host klient
 HostName firmanimi.ee
 User virt123456
 Port 22
 IdentityFile /path/to/privatekey

(kui kasutusel on vaikevõti ~/.ssh/id_rsa, siis pole IdentityFile vajalik)

Nii on võimalik kahandada meelespidamist vajavate argumentide arv miinimumini ja luua ssh ühendus serveriga käsuga ssh klient.

Kui haldada suuremat hulka servereid on mugav seadistuste-failid automaatselt genereerida kasutades Zone APIt – loe lähemalt https://github.com/zone-eu/zone-docs/blob/master/articles/eng/SSH-config-and-fs-from-zone-api.md

SSH loginigi lemmik-kataloogi

Sisse logimise järel oled alati oma kasutaja kodukataloogis – kui mõistlikum oleks olla mujal (nt veebi juurkataloogis) tee sisselogimise järel cd soovitud kohta ja seejärel:

echo "cd ${PWD/#$HOME/'~'}" >> ~/.bashrc

.bashrc käivitatakse iga uue shelli avamisel ja selle sabas olev cd viib sind kuhu-vaja.

Populaarsed postitused

SSH kasutamisest Zone virtuaalserveris

Zone Webmail 3.6: parem ülevaade, sujuvam töö

Kaarel Urva
Zone Webmail 3.6 toob kasutajani rea uuendusi, mis annavad e-posti kasutamisel rohkem valikuvabadust ja sujuvama töövoo. Uues versioonis saab senisest...
SSL/TLS sertifikaatide eluiga lüheneb

SSL/TLS sertifikaatide eluiga lüheneb

Kaarel Urva
Alates 2026. aasta märtsist hakatakse välja andma lühema kehtivusajaga SSL/TLS-sertifikaate. Aastatel 2026–2029 väheneb sertifikaadi eluiga seniselt...
Drop catching ehk miks on domeeni aegumine tõsine probleem

Drop catching ehk miks on domeeni aegumine tõsine probleem

Nikita Tikhomirov
Domeeni aegumine on hetk, mil astuvad mängu automaatsed süsteemid ja teenused, mille eesmärk on domeen endale napsata murdosa sekundiga. Seda protsessi...
Kelle nimel on sinu domeen tegelikult registreeritud?

Kelle nimel on sinu domeen tegelikult registreeritud?

Ants Korsar
Veebimajutuse tellimine koos domeeni registreerimisega tundub mugav, kuid peidab endas riske. Kui domeen registreeritakse teenusepakkuja nimele, võib...