De ICT specialist die meedenkt in concrete oplossingen
Toegewijd aan het creëren van veilige en stabiele netwerken
Kennis is er om te delen
Willem PoortLinux - 20/January/2017

linux voor de beginnende beheerder - Webserver

Linux voor de beginnende beheerder - Webserver


De webserver is één van de meest gebruikte type servers die er is.  Een webserver presenteert pagina's via inter- of intranet aan computers, tablets of andere smart devices.

De opmaak van deze pagina's is standaard in de zogenaamde HTML (Hyper Text Markup Language) maar kan evengoed in 'platte tekst' (zonder opmaak) zijn.
De webserver zelf doet echter niets met de HTML opmaak, het omzetten van de HTML naar tekst en beeld gebeurt door de webbrowser op de client. (Firefox, Chrome, Internet Explorer etc. etc.)

Webserver architectuur linux

Linux webserver communiceren met clients

Waar in het begin de web pagina's een vaste inhoud hadden (statisch) is deze de laatste tijd meer en meer dynamisch geworden. Dit betekent dat de inhoud van de pagina's, al of niet gedeeltelijk, wordt gegenereerd uit een externe bron. Veelal is dit een database. De opgevraagde pagina's worden gegenereerd met een programma als CGI (Common Gateway Interface) Scripts, PHP en DotNet. Het verwerken van deze dynamische pagina's naar HTML opmaak gebeurt wel op de webserver.
Een Webserver communiceert met de clients via het the Hypertext Transfer Protocol (HTTP) (TCP poort 80) of HTTPS (HTTP secure) (TCP poort 443).

Overzicht Webservers LinuxDoor de jaren heen heeft de ontwikkeling van van dynamische webpagina's een vogelvlucht genomen. In het begin was een contactpersonenlijst al spectaculair tegenwoordig bestaan er legio gecompliceerde kantooromgevingen, volledig web-based.


In kantoor omgevingen zijn vooral ERP programma's zijn erg populair. Enkele voorbeelden zijn Odoo (voorheen Open ERP), Sugar CRM & Compiere ERP/CRM. Andere voorbeelden zijn de zogenaamde Wiki *) pagina's. Deze kunnen zelfs door de client online worden aangepast. Enkele van de belangrijkste toepassingen zijn (in willekeurige volgorde):

- Mail (Gmail, Outlook 365)
- Social Media (Facebook, Twitter)
- Webwinkels (Amazone, Bol)
- Wikipedia
- ERP (Odoo, Sugar CRM)
- Dropbox

*) Wiki is afgeleid van het woord wiki wiki, dat uit het Hawaïaans komt en 'snel, vlug, beweeglijk' betekent.


Afhankelijk van de installatie (Apache, Nginx of anders) kan je de bestanden vaak onder de /var/www directory vinden. Standaard heet de eerste pagina die geladen wordt index.html, tenzij een andere pagina wordt opgegeven door de client of in het configuratie bestand van de webserver zelf.
Een voorbeeld van een eenvoudige HTML pagina is als volgt:

Linux HTML pagina voorbeeldDoor bovenstaande tekst in een bestand met de .html extensie op te slaan kan je deze ook zonder webserver direct in je browser openen.


Data uit externe bronnen

Zoals al eerder vermeld halen dynamische webservers data uit externe bronnen. Dit kunnen andere websites zijn maar ook databases die al of niet op de zelfde server zijn geïnstalleerd. Ook zijn er diverse applicaties waaruit de webserver zijn informatie kan ophalen. Deze hebben dan vaak een webservice. Dit is een onderdeel waarmee op basis van zogenaamde XML bestanden wordt gecommuniceerd. Denk hierbij aan SOAP (Simple Object Access Protocol), dit is een computerprotocol dat wordt gebruikt voor communicatie tussen de verschillende componenten.


SOAP stuurde aanvankelijk XML alleen over HTML maar tegenwoordig zijn andere protocollen als HTTPS SMTP, FTP en MQ veel gebruikte opties. 


Voorbeeld van een XML bericht.

<note>

  <van>Jan</van>

  <aan>Leo</aan>

  <bericht>Dit weekend gaan we

   vissen</bericht>

</note>


XML documenten lijken een beetje op HTML documenten. Beide werken ze met tags (labels). Een tag wordt gedefinieerd door een tekst tussen de tekens <> . Elke tag moet ook weer worden afgesloten. Dit gebeurt met een / in de tag, gevolgd door de originele tag naam ( <van>Jan</van> ).


Applicaties met elkaar laten communiceren

Zo zijn er vele mogelijkheden om applicaties met elkaar te laten communiceren. Om met applicaties te kunnen communiceren zijn er API's (Application programming interface) nodig. Deze worden door de applicatiemaker ontwikkeld.

Elke API zal zijn eigen syntax (regels/grammatica van computer opdrachten) hebben.


Voor de opslag van (dynamische) data wordt veel gebruik gemaakt van databases. Waar in de Windows omgeving veel gebruik wordt gemaakt van MSSQL en Oracle (voor de grotere databases), zie je in Linux, naast Oracle, veel opensource alternatieven zoals MySQL & Postgresql.


Omgevingen met een combinatie Apache (webserver), MySQL (database) en PHP (programmeertaal) zijn vaak populair voor het opzetten van een dynamische website. Deze opzet wordt vaak met (L)AMP aangeduid. De L staat hier voor Linux. Op Windows bestaan ook een dergelijke opzet, die uiteraard met WAMP wordt aangeduid.


Leer linux
in de
praktijk

Reacties

Er zijn nog geen reacties.

Reageer