Een cloud server inrichten op Openstack

De Roncalli heeft een abonnement met internetboer Cloudvps. We kunnen er tegenwoordig zelf cloudservers ‘in de lucht hangen’ via het platform Openstack. Supercool.

In deze memo de tips en tricks. Ook om voor de volgende keer te onthouden wat ik eigenlijk deed. De volgorde kan een beetje verschillen.

We installeren hier een Ubuntu 16.04 LTS Server.

Server in de lucht hangen

  • Inloggen op het dashboard
  • Maak eerst een new Volume (zeg maar disk). Kies de kleinste. Deze volumes zijn goedkoper dan die van de server zelf.
  • Start de wizard voor New Server.
  • Kies als naam eentje in de serie linuxX.roncalli.nu
  • Kies het gewenste image type. ubuntu 16.04 bijvoorbeeld. Kan zijn dat ie nog bij ‘unsupported’ staat maar dat boeit niet.
  • Start een tekst-editor op je eigen systeem en noteer het password dat je bedenkt, bij de naam van de server.
  • Kies de kleinste VPS
  • Attach het volume. Aankoppelen aan /dev/vbd is erg handig, anders heb je er niks aan.
  • Start de server

cloudvps-dashboard

  • Wacht tot je een IP nummer in het dashboard ziet
  • Log in op het controlepaneel voor het DNS. Dit is niet altijd bij cloudvps maar kan bij een andere service zijn. Ask the boss.
  • Stel linuxX.roncalli.nu in op het IP nummer met een A record.
  • Log in met ssh 212.x.x.x -l root
  • Eerst de pakkettenlijst updaten met apt-get update
  • Installeer nano met apt-get install nano
  • De RSA Fingerprint krijg je bij je eerste SSH Connectie. Controleren is beter dan een man-in-the-middle-attack op je nieuwe server zonder 't te merken.
    De RSA Fingerprint krijg je bij je eerste SSH Connectie. Controleren is beter dan een man-in-the-middle-attack op je nieuwe server zonder ‘t te merken.

De Fully Qualified Domain Name van je server

  • Nu gaan we voorbereidingen treffen voor een virtualmin installatie. Het belangrijkste is dat de hostname FQDN is. Dat doen we even in de hosts file, simpel houden
  • nano /etc/hosts en voeg deze regel toe na eerste 2 regels
  • 213.187.244.45  linuxX.roncalli.nu linuxX
  • probeer nu hostname -f. Als je nu linuxX.roncalli.nu terugziet, ben je goed bezig.
  • Controleer ook op je eigen systeem of het DNS al werkt. nslookup linuxX.roncalli.nu

De home partitie mounten

We hebben de data drive wel besteld maar nog niet aangekoppeld of zelfs maar in gebruik genomen. Het gaat om /dev/vbd .

  • fdisk /dev/vdb
    • Maak een nieuwe primaire partitie (commando’s n, p) , volledige grootte. Zet het type op Linux (commando t,l, zoek in lijst het nummer – 83)
    • Sla de configuratie op met w. Hij quit nu.
  • Nu moet je eerst de drive formatteren. Dat gaat met mkfs.ext4 /dev/vdb1
  • Koppel de partitie aan op /home. Daar komt onze data immers te staan. mount  /dev/vdb1 /home
  • Nu moet deze mount ook voortaan plaatsvinden na elke reboot. Dat gebeurt in /etc/fstab. Je vindt in mtab de juiste regel die je moet overkopieren naar fstab. Dat kan ook in 1 commando met cat /etc/mtab  | grep home >> /etc/fstab

Virtialmin Installeren

  • update nog even het systeem voor de zekerheid met apt-get update && apt-get upgrade
  • Als je dat aan de gang hebt, kun je aan de slag met de virtualmin installer. De volgende uitdaging is: je kunt install.sh makkelijk downloaden, maar hoe krijg je m dan op je server ? Nee, gewoon rechtstreeks op de server downloaden.
    • cd /root  # even terug naar een veilige plek
    • kopieer de download link (GPL versie) van de virtualmin download pagina.
    • wget en dan plakken
    • Dit kan zijn wget http://software.virtualmin.com/gpl/scripts/install.sh maar het kan morgen anders zijn (really?).
  • Lees even de rest van de handleiding voor de automated installer van virtualmin. Maar die start niet zoals het hoort. Doe het zo:
  • chmod +x install.sh  # verander de permissies zodat we install.sh kunnen runnen.
  • ./install.sh  # is nu direct uitvoerbaar. Run door de installer.
  • Log in op het controlepaneel van virtualmin via poort 10.000. Dus https://linuxX.roncalli.nu:10000/ . Vaak moet je bij webbrowsers nu een certificaat hebben, maar dat heb je niet, dus doordrukken die handel.
  • Doe de post-installation wizard.
  • Mail performance, spam, virus: bezuinig op memory. Want processor hebben we eerder over.
  • Run mysql, do not run Postgresql.
  • set mysql password en sla m op in je lijst.
  • Mysql performance: Medium system (512M) with regular MySQL use. Tenzij anders.
  • nameservers: ns1.cloudvps.com en ns2.cloudvps.com
  • rond de wizard af
  • re-check configuration
  • bij Unused Modules, start de fail2ban. Nog eens kijken wat dat moet worden…
  • En natuurlijk RTFM !
  • Todo: letsencrypt voor de ssl certificaten. Zie deze code

Problemen komen eraan

Iets met DNS gedoe

Nu denk je dat ie het doet: aan mijn hoela. Als je reboot, zal apache niet op komen. Dat heeft met zijn DNS te maken. Ga in Virtualmin naar System Status -> Recheck Configuration.

 

  • Kijk even, dit zijn de ‘instellingen at Boot’. Rebooten dus maar.
  • Opnieuw virtualmin, i-tje onderin het menu, recheck configuration en voeg 127.0.0.1 toe aan de lijst DNS servers.

Apache wil nog niet

Heb je backups terug gezet van een andere server, dan is de kans groot dat er apache modules in de configuratie worden gebruikt die nog niet op een nieuwe server aan staan.

[Wed May 18 08:25:37.327679 2016] [so:warn] [pid 2018] AH01574: module dav_module is already loaded, skipping AH00526: Syntax error on line 33 of /etc/apache2/sites-enabled/dxxxxxx.nl.conf: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration Action ‘configtest’ failed. The Apache error log may have more information.

In de terminal (maar het kan vast ergens in virtualmin) moet je de juiste module aanzetten. En-ablen. In dit geval is dat ModRewrite. Ofwel

a2enmod rewrite

service apache2 restart

Recheck again en nu komt ie er hopelijk wel door.

Extra pakketten

Installer ook nog even het volgende:

  • php-gd – anders kun je geen afbeeldingen draaien in wordpress.