Menu

Internutbildning om systemadministration

När man driver en webbyrå så är det viktigt att hålla interna utbildningar, både i dom system vi kör i dagsläget, men även de system vi kommer att använda i framtiden. Vi började den 1:e februari med en utbildning i grundläggande systemadministration för att alla ska ha samma grund, och för att alla skulle lära sig hur vi använder våran ECS-tjänt och hur man sätter upp virtuella maskiner.

Eftersom vi alltid kör samma mjukvara på alla våra virtuella maskiner, Debian med Nginx och MariaDB så har jag skapat ett skript som automatiserar stora delar av installationen, som kallas för boostrap.sh, detta för att spara en hel del tid och göra det lättare att få igång en webbserver med full php-support. I presentationen får man även lära sig en väldigt grundläggande konfiguration för att sätta upp en vhost i Nginx som klarar att köra WordPress. Inställnigarna av mjukvaran och Nginx är långt ifrån optimala, men det räcker för att komma igång och börja koda, så för att sätta en webbserver i full produktion så krävs lite mer kärlek än vad jag går igenom i presentationen. Men meningen var inte att alla skulle bli experter på systemadministration, utan bara lära sig tillräckligt för att ha en server att utveckla emot.

Vad jag har gått igenom i korthet är:

  • Vad är en ECS?
  • Hur man sätter upp en ECS via webbguit
  • Varför vi kör Debian
  • Vad man måste göra när man har startat en ECS-instans
  • Grundläggande konfiguration av webbservern Nginx

Vad är en ECS?

ECS står för Elastic Cloud Server, och det är den tjänst vi använder för nästan alla våra kunder.
Fördelen är att vi kan installera vad vi vill och anpassa installationen för att passa kundens webbplats, vilket är mycket svårare med ett klassiskt delat webhotell. Dessutom innebär det att kunden bara betalar för den kapacitet som faktiskt används, vilket oftast gör det billigare för kunden. Och vi kan enkelt skala upp kapaciteten på webbplatsen om kunden börjar få tillräckligt många besökare, vilket gör att man kan börja billigt och växa in i sin webbplats vartefter tiden går, något som våra kunder uppskattar.

Hur man sätter upp en ECS via webbguit

När man sätter upp en ny instans i kontrollpanalen så är det ett antal steg man måste gå igenom, och välja vilken nivå man vill lägga sig på. För att göra det lättare för kunderna att förstå hur mycket dom kommer att betala per månad, så har vi tagit fram en standardnivå som räcker för dom absolut flesta. Det gör det lättare att lämna en bra offert på hur mycket hostingen kommer att kosta.
Det gör också att i allmänhet så har alla maskiner samma konfiguration, vilket gör det lättare att administrera, det är tillexempel här vi säger åt Ipeer att vi vill köra Debian.

Varför vi kör Debian

Det finns många bra, och mindre bra Linux distributioner där ute. Nästan alla har lite olika sätt att installera saker på, och skiljer lite i funktion och hur man gör olika saker. Därför kör vi alltid Debian, det gör att man vet vad man kommer att mötas av och hur saker fungerar, istället för att behöva lära sig att göra samma sak på flera ställen. Debian är dessutom en av dom mest använda disitributionerna, vilket gör att säkerhetshål och buggar upptäcks väldigt snabbt, det tillsammans med att det finns ett stort community runt Debian gör att vi vet att vi har en stabil plattform. Dessutom är det väldigt enkelt att hitta information om hur man gör olika saker, som att installera speciella program.

Vad man måste göra när man har startat en ECS-instans

När man väl har sin ECS-instans, så är det några saker man måste göra. Dels måste man installera all mjukvara som behövs för en webbplats, det gör vi just nu med ett enda kommando:

wget -qO- https://plux.se/bootstrap.txt | bash

Vad det kommandot kommer att göra är att ladda ner en bashfil och köra den direkt, scriptet gör viss grundläggande konfiguration och instasllerar den mjukvara vi behöver för våra wordpresswebbplatser. (Observera att scriptet bara fungerar med Debian Squeeze just nu.)

Fördelen med att ha ett boostrapscript för våra miljöer är att det sparar väldigt mycket tid, och man missar inte att installera något som vi faktiskt behöver. Och man behöver inte komma ihåg vilka tredjepart repos vi använder för tillexempel mariadb, php och nginx.

Grundläggande konfiguration av webbservern Nginx

Konfigurationen som vi går igenom för nginx är minimalt möjliga för att få igång en server, när mina kollegor själva sätter upp en server så är det för utveckling. Därmed är den inte anpassad för produktionsanvändning och den kan göras mycket bättre, men det gör det också svårare att komma ihåg allting man behöver komma ihåg.

Som det framgår av bildspelet ovan så bestod sista delen av denna internutbildning av en workshop. Den gick till stor del ut på att deltagarna själva skulle leta reda på svaren för vad de inte visste. Detta då allt inom IT är föränderligt och ingen färdig instruktion håller sig aktuell särskilt länge. Då är det helt enkelt viktigare att lära sig hur man hittar informationen än att lära sig den utantill.
För detta bloginläggs skull tänkte vi dock dela med oss av det vi hittade och hur vi gick vidare med våra nyvunna kunskaper.
För konfiguration av Nginx för WordPress hittade vi följande konfigurationsexempel via Nginx hemsida:
https://kbeezie.com/nginx-configuration-examples/
Vidare behöver man konfigurera MySQL/MariaDB och för detta hittade vi instruktioner på WordPress Codex:
https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client
När databasen och webbservern är redo fattas det bara att installera WordPress-filerna i webrooten och konfigurera wp-config.php. Klart!
Sysadmin from Plux Stahre