SSH kasutamisest Zone virtuaalserveris

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:

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.

Lõpetuseks üks 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.

Autor: Ardi Jürgens

Infotehnoloogia entusiast. Zone Media OÜ juhatuse liige.