+XLVZHUN:LQGRZV$SDFKHLQVWDOODWLH De Apache webserver is een typisch Linux projekt: geschreven onder copyleft en portable (draagbaar) naar andere besturingssystemen. Je kunt Apache dus ook installeren in Windows. De opdracht voor deze week is: installeer de Apache webserver. Je kunt het Windows Installer bestand van Apache neerladen via de volgende URL: http://www.commandlinerevolution.nl/Binaries/httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
'H:LQGRZVFRPPDQGOLQHLQWHUIDFH Tot nu toe heb je waarschijnlijk alleen de Graphical User Interface (GUI) van Windows gebruikt. Maar Windows heeft nog een tweede gebruikers-interface, genaamd de Command Line Interface (CLI). De command-line heeft een aantal voordelen ten opzichte van de grafische versie, waaronder het onthouden van de laatst uitgevoerde acties en het schrijven van scripts om je werk als administrator te automatiseren.
Administrator worden In Windows moet je nog wel eens een programma Als administrator uitvoeren. Vooral in Windows 8 kan het problemen opleveren als je een installatie meteen start vanuit je Downloads map (als gewone gebruiker). Je krijgt allerlei mysterieuze foutmeldingen, zoals Error 2503 en Error 2502. De oplossing is dan: rechtsklikken op het installatieprogramma en kiezen voor Als administrator uitvoeren. Helaas krijg je bij de Apache installer geen menu met Als administrator uitvoeren. Dat komt door dat het een bestand is, geen programma. Dit gaan we op de command-line oplossen. Gebruik de Windows toets (onderaan je toetsenbord, links) om het Start-menu zichtbaar te maken. Je ziet dan een tekstvakje waar je dingen kunt invullen:
Vul hier de letters cmd in en toets
+<Shift>+<Enter>. Je wordt dan gevraagd of je als de Administrator gebruiker ingelogd wilt worden. Klik Ja en je ziet het volgende scherm:
Dit is de command-line interface van Windows.
Configureren command-line Het standaard lettertype van de command-line is te breed om voldoende letters op het scherm weer te geven. Dat gaan we veranderen. Ook willen we dat we op een gemakkelijke manier output van het scherm kunnen copiëeren. Daarom gaan we de Snel Bewerken modus aan zetten.
1. Rechts-klik de titel-balk en kies voor Eigenschappen. Het volgende venstertje verschijnt. Vink de optie Modus Snel bewerken aan.
2. Selecteer het tabblad Lettertype. Je ziet het volgende scherm. Kies als lettertype Lucida Console en klik OK.
3RRUWFRQWUROHUHQ Apache maakt gebruik van poort 80 (HTTP) om websites te serveren. Poort 80 moet dus vrij zijn, anders gaat de installatie mis. Om te controleren of poort 80 vrij is gebruiken we het commando netstat: netstat -na De optie n (numeric) laat alleen IP-adressen zien, geen domeinnamen. De optie a (all) geeft ook de luisterende processen weer. Dit is alleen een deel van de output. Scroll naar boven om het begin van jouw lijst te kunnen zien: Actieve verbindingen Proto TCP TCP TCP TCP TCP
Lokaal adres 0.0.0.0:80 0.0.0.0:135 0.0.0.0:445 0.0.0.0:1025 0.0.0.0:1026
Extern adres 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0
Status LISTENING LISTENING LISTENING LISTENING LISTENING
In dit voorbeeld kun je zien dat op poort 80 geluisterd wordt (onder Locaal adres). Als poort 80 niet in jouw lijst voorkomt, kun je doorgaan met de volgende paragraaf Apache installeren. Als poort 80 wel in jouw lijst voorkomt, gebruik dan optie b (binaries) om te zien welke programma’s (binaries) aan het luisteren zijn: netstat -nab In dit voorbeeld kun je zien dat het programma Skype.exe op poort 80 luistert: Actieve verbindingen Proto Lokaal adres Extern adres TCP 0.0.0.0:80 0.0.0.0:0 [Skype.exe] TCP 0.0.0.0:135 0.0.0.0:0 RpcSs [Systeem] TCP 0.0.0.0:445 0.0.0.0:0 Kan gegevens van eigenaar niet verkrijgen TCP 0.0.0.0:1025 0.0.0.0:0 [Systeem] TCP 0.0.0.0:1026 0.0.0.0:0 eventlog [Systeem] TCP 0.0.0.0:1027 0.0.0.0:0 Schedule [Systeem] TCP 0.0.0.0:1028 0.0.0.0:0 [Systeem] TCP 0.0.0.0:1029 0.0.0.0:0
Status LISTENING LISTENING
LISTENING LISTENING LISTENING
LISTENING
LISTENING LISTENING
Beëindig het luisterende programma en ga door met de installatie van Apache.
$SDFKHLQVWDOOHUHQ Nu kunnen we het Apachte installatie-bestand openen met de Windows Installer. Zorg ervoor dat je in je Downloads map staat. Dit doen we net het cd (Change Directory) commando: cd Downloads Nu starten we de Apache installatie. Dit doen we met het programma msiexec (de Windows Installation Wizard): msiexec /i httpd-2.0.65-win32-x86-openssl-0.9.8y.msi Je kijgt het Apache installatie-venster te zien. Windows neemt het nu weer over:
Klik Next totdat je het volgende scherm ziet. Klik Change:
Het volgende scherm wordt nu zichtbaar:
We gaan Apache local installeren. Dat wil zeggen: geheel onafhankelijk van het systeem waar Apache op gaat draaien. Normaal zouden we Apache moeten installeren in de map C:\Program Files (x86). Maar omdat dit allerlei rechtenconflicten gaat opleveren installeren we Apache in C:\ Klik OK, dan steeds Next, en tot slot Finish.
3UREOHPHQ Tijdens de installatie krijg je onder andere dit venster te zien. Het kan zijn dat tijdens de installatie dit scherm verschijnt zonder ingevulde velden:
In dat geval, vervang Daniel-PC door de naam van je eigen laptop. Klik anders gewoon Next. Een ander probleem is als je tijdens de installatieprocedure zwarte MS-DOS venstertjes in beeld krijgt welke blijven “hangen”. Met als melding een waarschuwing over sockets. Dit betekent dat Apache niet heeft kunnen starten, omdat een ander programma poort 80 bezet heeft. Meestal heeft Apache een conflict met Skype en Dropbox. Controleer anders eerst poort 80 (zie boven) om erachter te komen welk programma poort 80 bezet. De oplossing is om het andere programma te beëindigen, en Apache opnieuw te installeren.
$SDFKHLQVWHOOHQRSKDQGPDWLJVWDUWHQ Je hebt nu een werkende professionele web-server op je laptop geïnstalleerd. Iedere keer als je nu je lapop opstart, zal Apache automatisch ook opgestart worden. Dit is normaal, want Apache is een web-server welke eigenlijk continue online moet zijn. Maar dat is ook lastig als je nog andere servers op je laptop hebt lopen, zoals Skype en TopDesk. We gaan er daarom voor zorgen dat Apache alleen start als jij dat wilt. Daarvoor moeten we de Windows Service, genaamd Apache2 instellen. We kunnen dit via het Windows Control Panel (services.msc) doen, maar wij gaan het op de command-line doen met het Windows sc (Service Control) programma: sc config Apache2 start= demand Let op: de spatie na het “=”-teken is nodig. Anders werkt het niet. Met het commando config configureren we de Windows Service, genaamd Apache2. Met de optie start geven we aan dat het startup-type op demand (handmatig) moet worden gezet (de huidige instelling is auto). Controleer of het gelukt is. Ook dit doen we weer met het programma sc: sc qc Apache2 Je zou ongeveer het volgende moeten kunnen zien: [SC] GetServiceConfig SUCCESS SERVICE_NAME: apache2 TYPE START_TYPE ERROR_CONTROL BINARY_PATH_NAME LOAD_ORDER_GROUP TAG DISPLAY_NAME DEPENDENCIES
: : : : : : : : : SERVICE_START_NAME :
10 WIN32_OWN_PROCESS 3 DEMAND_START 1 NORMAL "C:\Apache2\bin\Apache.exe" -k runservice 0 Apache2 Tcpip Afd LocalSystem
Het START_TYPE moet op DEMAND_START staan.
+HWKRHUDPRPHQW Tijd om te zien of onze moeite zich geloond heeft. Open een web-browser, zoals Chrome of FireFox en type in de adres-balk: http://localhost Je zou nu het volgende moeten kunnen zien:
+XLVZHUNRSVODDQ Volgende week gaan we het Huiswerk-systeem installeren. Hiermee kunnen wij je voortgang per e-mail bijhouden. Deze ene keer moet je het “handmatig” doen. Sla allereerst alle commando’s op die je hebt uitgevoerd. Dit doe je met een pijpleiding: doskey /history > history.txt Het groter-dan symbool (“>”) zorgt ervoor dat de output van het programma doskey naar een tekst-bestandje, genaamd installatie-apache.txt wordt gestuurd. Stuur dit bestandje als bijlage naar [email protected], met als onderwerp “Installatie Apache”.
$GPLQLVWUDWRUXLWORJJHQ We hebben de Apache lokaal geïnstalleerd en ingesteld op handmatig starten, maar we zijn nog steeds ingelogd als Administrator. We beëindigen de command-line sessie met het commando exit: exit