SSH kasutamisest Zone virtuaalserveris
Antud blogipostitus on 111 kuud vana ning ei pruugi olla enam ajakohane.
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.
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:
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
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.