SSH kasutamisest Zone virtuaalserveris

Ardi Jürgens
Jaga:

Antud blogipostitus on 105 kuud vana ning ei pruugi olla enam ajakohane.

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.

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

Nutikas Pilveserver: tark lahendus e-poe ja nõudlike veebiprojektide jaoks

Tanel Männik
Nutikas Pilveserver pakub nüüdisaegset ja kulutõhusat lahendust, mis ühendab endas paindlikkuse ja võimsuse, et rahuldada kõrge külastatavusega...

Kuidas me aita(si)me tuntud veebilehtedel suurema külastatavusega toime tulla

Digimaailmas on veebilehtede kiirus ja usaldusväärsus kriitilise tähtsusega. Ikka ja jälle oleme silmitsi olukordadega, kus kliendi käsutuses olev...

Hallatud või halduseta platvorm: kumb vastab paremini sinu vajadustele?

Martin Kirs
ZoneOS platvorm on meie hallatavate teenuste alustala, sisaldades endas justkui mitme IT-spetsialisti pädevusi. Kuidas see platvorm on nii "nutikas" ja...

Zone Veebiakadeemia - lihtsad tööriistad kodulehega alustamiseks

blogi
Zone Veebiakadeemia uue hooaja värskeimas osas räägib Zone arendustiimi juht Ingmar kasulikest tööriistadest, mis aitavad sul hõlpsalt ja arusaadavalt...