Linux webhosting datacenter

Workshop

Geschreven door Peter van Gemert

Op 15 december 2023



Introductie

Welkom bij deze datacenter opdracht. In deze workdshop zetten we een 3tier datacenter op voor een webhosting omgeving. Het datacenter bevat 3 servers en 5 netwerken.

In deze cursus configureren wij de volgende servers

en de volgende netwerken

De leerdoelen voor deze workshop haal je door het bijwonen van de lessen, het maken van de opdrachten en huiswerk, het geven van een presentatie en vooral door veel zelfstudie. Gebruik je flexuren voor het maken van de opdrachten. Je kunt aan de hand van de rubrics voor verschillende servers zelf bepalen of je voldoende kennis hebt van de gestelde leerdoelen.

Aan het eind van deze workshop heb je gewerkt met o.a. de volgende commando’s.

Om deze opdracht goed te kunnen maken heb je de volgende benodigdheden nodig.

1 Een datacenter

1.1 Het begrip datacenter

1.1.1 Wat is een datacenter

Een datacenter een een ruimte met meerdere servers en netwerkcomponenten waarmee services en functionaliteiten aangeboden worden aan klanten. Een datacenter kan klein zijn zoals bijvoorbeeld één ruimte in een kantoorpand maar een datacenter kan ook het hele gebouw zijn.

1.1.2 De datacenter inrichting

Een datacenter heeft een bepaalde inrichting. Denk hierbij aan de opzet van netwerken en bijbehorenden netwerken. Deze inirchting wordt meestal weergegeven in netwerktekeningen en ip-plannen.

1.2 Het datacenter opzetten

Hoewel een datacenter een fysieke omgeving is kunnen we functionaliteit van een datacenter goed in software nabootsen. Met virtualisatie software bouwen we een virtueel datacenter met virtuele netwerken en servers.

Er zijn verschillende virtualisatie softwareproducten beschikbaar voor Linux, Windows en MacOS. Deze cursus is gebouwd op Virtualbox maar is ook goed uit te voeren in een ander product.

1.2.1 Installleren Virtualbox software

1.2.2 Configureren van de benodigde datacenter netwerken

1.2.3 Configureren van de benodigde servers vms

1.3 Installeren van de servers

1.3.1 Installeren van Ubuntu Server linux

1.3.2 Leer linux basisvaardigheden

Om lekker met Linux te kunnen werken zijn bepaalde basisvaardigheden handig om te leren. Leer deze vaardigheden hier.

1.3.3 Gebruik virtualbox snapshots

Virtualisatie-software geeft de mogelijkheid om snapshots te maken. Snapshots geven de mogelijkheid om een vm te herstellen naar een punt in het verleden. Mocht een server als gevolg van handelingen niet meer werken, dan kan een snapshot gebruikt worden om het systeem terug te zetten naar een situatie waarin het nog wel werkte.

TIP : MAAK SNAPSHOTS VOORDAT JE AAN EEN NIEUWE CONFIGURATIESTAP BEGINT

1.3.4 Configureer de netwerken in de Ubuntu servers

Webserver

Databaseserver

Storageserver

1.3.5 Gebruik PuTTY voor het inloggen

Er zijn meerdere manieren om in te loggen op een linux server.

De eerste methode is via het console. Het console is het scherm dat fysiek is aangesloten op de server. Binnen Virtualbox is dat het scherm dat standaard opent als de server gestart wordt.

De tweede methode is op de CLI via het netwerk. Hiervoor wordt het secure shell (ssh) protocol gebruikt. Op Windows is PuTTY een veel gebruikte tool voor het inloggen met ssh.

1.3.6 Maak de servers headless

Als het inloggen om de server via PuTTY lukt, dan kan de server headless worden. Een headless server heeft geen aangesloten beeldscherm.

Bij Virtualbox kan een vm ook headless gemaakt worden. Bij een headless server start virtualbox geen console-scherm meer bij het starten van de vm.

1.4 Datacenter standarisatie

Standarisatie is een belangrijke eigenschap voor systeembeheerders. Door standaarden weet een systeembeheerder dat systemen zich altijd hetzelfde gedragen. Door standarisatie kan een systeembeheerder er ook op vertrouwen dat dezelfde tools aanwezig zijn voor troubleshooting.

Standarisatie komt op meerdere niveaus binnen een datacenter voor. * server-namen * netwerk-name * useraccount-namen * geïnstalleerde software * configuraties

1.4.1 Configureren van standaard Ubuntu instellingen

1.4.2 Installeren van standaard Linux tooling

2 Webhosting omgeving inrichten

2.1 1Tier inrichten

Het begrip tier geeft aan over hoeveel schijven de functionaliteiten van een omgeving verspreid zijn.

In een 1tier omgeving staan alle functionaliteiten op één server. Denk hierbij aan een omgeving waarbij de webserver- en databassoftware en opslag om één fysieke server staan.

Bij een 2tier en 3tier omgeving worden deze functionaleiten over meerdere servers verspreid. Het getal voor tier geeft aan over hoeveel server de functionaliteiten verspreid worden.

2.1.1 Apache Webserver inrichten

Een webserver heeft webserver-software nodig. Een veel gebruikt product is Apache.

2.1.2 Statische website uitrollen

Een website bestaat uit bestanden waarin de opmaak en inhoud van een website beschreven worden. Deze bestanden staan op de webserver en worden door een webbrowser opgehaald. De webbrowser is ook verantwoordelijk voor het vertalen van de code in deze html, css en js bestanden naar een grafische voorstelling op het scherm van de gebruiker.

2.2 2Tier inrichten

In ons datacenter gaan we een 3tier omgeving opzetten waarin webserver, databaseserver en opslag van elkaar gescheiden zijn.

Als eerste stap hevelen we de storage van de webserver over naar de storageserver.

2.2.1 Storageserver inrichten

De storageserver heeft op dit moment geen opslagmogelijkheden voor de webserverbestanden. We voegen daarom een extra disk toe aan de storageserver zodat we hier de webserverbestanden op kunnen opslaan.

2.2.2 Storageserver als NFS server configureren

2.2.3 Webserver als NFS client configureren

  1. Webserver configureren als nfs client

    • man | 755 | 750 | 700 | Installeer NFS client

    • man | 755 | 750 | 700 | Mount remote file system

2.2.4 Documentroot verplaatsen naar nieuwe locatie

2.2.5 Configureer nieuwe documentroot in Apache

2.3 Dynamische website uitrollen

2.3.1 PHP installeren

2.3.2 Dynamische website schrijven in PHP

2.4 Backup inrichten

2.5 3Tier inrichten

2.5.1 Databaseserver inrichten

2.5.2 Storageserver inrichten

2.5.3 Storageserver configureren als iscsi-target

2.5.4 Databaseserver configureren als iscsi-initiator

2.5.5 iscsi lun in gebruik nemen

2.6 Database-administratie via GUI

2.6.1 Database beheer met SQL

2.7 Webapplicatie uitrollen

2.8 Database backups inrichten

2.8.1 Handmatige logical database backup

2.8.2 Automatiseer logical database backup

2.8.3 Handmatige physical database backup

2.8.4 Automatiseer physical database backup

3 Eindopdrachten

3.1 Wordpress Webapplicatie installeren

Configureer in je datacenter een nieuwe server waarop je wordpress installeert. De nieuwe server maakt gebruik van de functionaliteiten in het datacenter. Dit betekent:

3.2 Presenteren

Als laatste opdracht geef je een presentatie van max 15 minuten waarin je uitlegt hoe je de omgeving hebt gemaakt. Je kunt kiezen uit de volgende onderwerpen:

3.3 Rubrics

Aan de hand van onderstaande rubrics kun je controleren of je klaar bent voor de afsluitende presentatie.

That’s all folks

Gefeliciteerd, je hebt nu een eigen datacenter draaien met een aantal linux servers.

Wij hopen dat je het opzetten van dit datacenter leuk vondt. En dat je inzicht hebt gekregen in de werkzaamheden die een beheerder doet in een datacenter.

Wensenlijstje

De volgende onderwerpen wil ik nog toevoegen aan deze cursus. Zodra ik tijd vind komen de volgende onderwerpen online: