10. Sep 2021 |

Tee endale vanast arvutist server

Kui ma oleksin teadnud, et enda serveri tegemine on nii lihtne, siis ilmselt oleksin seda teinud juba varem.

Otsides kohta, kust enda arenduse asjadeks pisike VPS vÔtta, jÔudsin selleni, et tegin (esialgu) enda vanast riiulis seisvast Dell XPS13 lÀpakast Linuxi serveri. 2011 mudel, i5-2467M, 4GB RAM, 512 SSD (dual masin boot, millest osa on Win7 all). See seisab ka serverina 99% ajast ilma koormuseta.

NĂŒĂŒd mĂ”tlen, et peaks vĂ”ibolla lĂ€paka Raspberry Pi 4B‘ga asendama (komplekt lĂ€heks kuskil 145 eurot). Kui kellegi on pakkuda, siis anna mĂ€rku 🙂 Update: Hetkel tundub hea mĂ”te, et ma sellega ei kiirustanud. ARM protsessoril ei tööta Docker normaalselt (viide) nii et kui ĂŒldse, siis pigem mĂ”ni Inteliga NUC vĂ”i mini-PC (nt IBMi ThinkCentre).

Mul on kodus kĂ”ige tavalisem Elisa 50/10 internet ja meeldivaks ĂŒllatuseks on kĂ”ik public IP pordid lahti. Public IP’le pĂ€ringuid tehes saan enda serverile ligi. Jah, see on aeglane 😀 Kui Zone annab VPSile 1 Gbit/s sisenev ja 100 Mbit/s vĂ€ljuv liiklus, siis minu puhul on need hetkel vastavalt 20x ja 10x pisemad. Aga andmebaasipĂ€ringuteks piisab kĂŒll.

Kuna mul zone.ee’s on ka mĂ”ne domeenid registreeritud, siis tegin ĂŒhele neist A-kirje ja nii ei pea ma enda IP’d meeles pidama. Kuna IP ei ole staatiline, siis IP muutumisel, piisab A-kirje uuendamisest.

Mis mul seal on

OperatsioonisĂŒsteemina on serveris Ubuntu Desktop 18.04.5 LTS (sest juba ammu installitud). KĂ”ik asjad, mis serveris jooksevad on Dockeri konteinerina.

Esimene asi, mille tööle pĂŒĂŒdsin saada oli see, et IP’le pĂ€ringu tehes avaneks kĂ”ige tavalisem nginx (hÀÀldatakse nagu “engine X”) Welcome Page. Piisas sellest, kui:

  • Docker on installitud (snap install docker vĂ”i snap remove docker eemaldamiseks)
  • nginxi kontener kĂ€ivitada docker run --name nginx_container --rm -d -p 8080:80 nginx (viide). –rm tĂ€hendab, et kui teed docker stop containerId, siis konteiner kustutatakse Ă€ra.
  • Ruuteris teha port forward sisse tuleva public IP port 80 mappida sisemises vĂ”rgus oleva seadme (ehk siis laptopi) IP porti 80. Minu puhul oli vaja mappimine teha Elisa antud Technicolori ruuteris (kuhu server-lĂ€pakas on kaabliga ĂŒhendatud). See on kĂ”ige lihtsam setup.

SeejĂ€rel installisin (kĂ”ik eraldi dockeri konteinerid) MariaDB, phpMyAdmin (selle MariaDB kĂŒlge) ja Microsoft SQL Serveri.

Millest on abi

tracert that.ee – nĂ€ed, kust seadmetest su liiklus lĂ€bi lĂ€heb ja kuhu ta jĂ”uab.

Turvalisus

Selle koha peal ma olen kÔige tuhmim hetkel ja mul ei ole head ettekujutust, missugused ohud mind varitsevad.

  • Ufw (Uncomplicated Firewall) panin peale
  • Sisse saab ainult SSHga, parooliga sisselogimise keerasin kinni

Kasulikud Dockeri kÀsud

Dockeriga toimetamine tahab super useri Ôiguseid. Ehk siis sudo su.

sudo snap install docker – installib Dockeri
sudo snap remove docker – eemaldab Dockeri
sudo docker ps -a – nĂ€itab kĂ”iki konteinereid ja nende infot
sudo docker start <containerId> – kĂ€ivitab konteineri
sudo docker stop <containerId> – peatab konteineri
sudo docker rm <containerId> – kustutab konteineri

sudo docker image list – nĂ€itab arvutis olevate image’te nimekirja
sudo docker image rm <imageId> – kustutab image

Kui mingi asjaga tekib raskuseid, siis Google otsing ja Digital Oceani juhendid aitavad enamasti alati.