Installation und Einrichtung eines Webservers im gesicherten Intranet
Transcription
Installation und Einrichtung eines Webservers im gesicherten Intranet
Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Installation und Einrichtung eines Webservers im gesicherten Intranet Jens Fiedler Über dem Weiher 2-4 61118 Bad Vilbel Berufsbildende Schule 1 Am Judensand 12 55122 Mainz Klasse FI 07 a Jens Fiedler 1/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Inhaltsverzeichnis 1 Einleitung..........................................................................................................................................3 2 Webserver..........................................................................................................................................3 3 XAMPP.............................................................................................................................................3 3.1 Apache.......................................................................................................................................6 3.2 Perl.............................................................................................................................................6 3.3 PHP............................................................................................................................................6 3.4 MySQL......................................................................................................................................7 4 Arbeitsablauf......................................................................................................................................7 4.1 Vorbereitungen...........................................................................................................................7 4.2 Installation des Programmpaketes.............................................................................................8 4.2.1 Grundkonfiguration............................................................................................................8 4.2.2 Test...................................................................................................................................12 4.2.3 Absicherung.....................................................................................................................12 4.2.4 Abschliessende Einstellungen..........................................................................................13 4.3 Preiskalkulation & Zeitaufwand..............................................................................................14 5 Glossar.............................................................................................................................................15 6 Stichwortverzeichnis.......................................................................................................................16 7 Quellenangaben...............................................................................................................................17 8 Abbildungsverzeichnis....................................................................................................................17 9 English summary.............................................................................................................................18 10 Erklärung.......................................................................................................................................19 Jens Fiedler 2/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 1 Einleitung Im nachfolgenden Text wird die Einrichtung eines Webservers in einem gesicherten Intranet beschrieben. Mithilfe dieses Textes soll ohne Vorkenntnisse über Webserver ein Webserver für den Betrieb im Intranet aufgesetzt und in Betrieb genommen werden. Zunächst wird eine allgemeine Erklärung den Einsatz und Aufbau eines Webservers erläutern, anschliessend werden die benötigten Programmteile erörtert. 2 Webserver Ein Webserver ist ein Programm, welches in der Regel als Dienst gestartet wird und im Hintergrund läuft. Seine Aufgabe ist es auf einem bestimmten Port Anfragen nach Webseiten von anderen Rechnern mit der gewünschten Seite, oder im Falle eines Fehlers, mit einer Fehlerseite zu beantworten. 3 XAMPP Ein Webserver ist in der Regel modular aufgebaut und besteht aus Programmteilen. Das XAMPP [1]-Projekt besteht aus einer Sammlung von Programmen, wie sie typischerweise bei einem Webserver im Internet eingesetzt werden. Sämtliche Programme im XAMPP-Projekt sind unter der GNU Generel Public License erschienen und frei kopierbar. Das XAMPP-Projekt vereinfacht nur die Installation derselben. Jens Fiedler 3/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Die hier verwendete Version von XAMPP 1.7.2 besteht aus: • Apache 2.2.12 mit IP v6 und OpenSSL 0.9.8k • MySQL 5.137 + PBXT engine • PHP 5.3.0 • phpMyAdmin 3.2.0.1 • Webalizer 2.21-02 und GeoIP lite • FileZilla FTP Server 0.9.32 • msmtp 1.4.17 Da hier ein Webserver im Intranet eingerichtet wird, ist von diesen Programmen nicht alles sinnvoll oder nötig. So wird der FTP-Server nicht benötigt, wenn man über das lokale Netzwerk zugreifen kann. Wir verwenden XAMPP als Basis, weil dieses Paket eine einfache Installation erlaubt und auch bei späteren Updates problemlos zu handhaben ist. Auf folgende Programmteile wird nicht weiter eingegangen, da sie in dieser Anwendung nicht zwingend erforderlich sind : Webalizer Webbasiertes Statistik- und Auswertungswerkzeug FileZilla FTP FTP-Server für Windows msmtp SMTP (E-Mail) client Jens Fiedler 4/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Die folgende Schematische Darstellung (Abb. 1) erläutert die Zusammenarbeit der in diesem Fall benutzten Komponenten des XAMPP Projektes und ihre Kommunikationswege. Abbildung 1: Schema eines XAMPP Webservers Anfragen aus dem Internet werden an das Apache-Modul gestellt. Dieses wertet die Anfrage aus und sucht im Falle einer korrekten Frage die entsprechende Webseite, die angefordert wurde. Enthält diese Seite PHP oder Perl-Code, werden die entsprechenden Codeabschnitte dem PHP bzw. Perl-Interpreter übergeben. Die Rückgaben der Interpreter werden an der Stelle, an der vorher der Quellcode stand, in der Webseite eingefügt, sind also bei der Auslieferung der Webseite nicht mehr im Quellcode sichtbar. Sowohl Perl als auch PHP können mit Datenbanken kommunizieren, in diesem Fall MySQL. Diese Kommunikation ist für den Apache Server nicht sichtbar. Jens Fiedler 5/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 3.1 Apache Das Apache-Modul [2] ist der eigentlich Webserver. Der Webserver an sich hat einen beschränkten Funktionsumfang und beschränkt sich auf das Verschicken von ASCII-Zeichen. Meist sind dies Webseiten, welche aus HTML Code bestehen. Desweiteren kann dieser Code noch klientseitige Skriptsprachen wie JavaScript oder VB-Script enthalten. Zusätzlich beherrscht der Server Zugangssicherungen über '.htaccess' welche nur bestimmten Netzwerkadressen den Zugang erlauben oder über Benutzername und Passwort den Zugriff regulieren. 3.2 Perl Perl [3] ist ebenfalls eine Skriptsprache. Sie ist erkennbar an der Dateiendung „cgi“. Perl hat den gleichen Umfang wie PHP, allerdings liegen die stärken hier in den „regular expressions“. Typischerweise werden diese Programme in einem gesonderten Ordner gesammelt und stehen dann in der HTML Seite zur Verfügung. Klassische Anwendungen sind Besucherzähler, Gästebücher oder auch ganze Webseiten. 3.3 PHP PHP [4] ist eine Skriptsprache, welche auf dem Server ausgeführt wird. Sie basiert auf einem Interpreter, welcher im Webserver eingerichtet werden muss. Ist nun in einer „.html“ oder „.php“-Datei ein PHP Script eingebettet, wird dieses erst an den Interpreter weitergereicht, und das Ergebnis an den Apache Server zurückgegeben. Dieser schreibt die zurückgegebenen ASCII-Zeichen in eine temporäre Version der ursprünglichen Seite. Anschliessend wird die fertige Datei normal über den Webserver ausgeliefert. Besonders beliebt ist PHP in Verbindung mit MySQL. Jens Fiedler 6/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 3.4 MySQL MySQL [5] ist eine Datenbank, welche über die Standard Query Language abgefragt werden kann. Diese Abfragen geschehen nicht nur aus PHP, sondern auch andere Software, die unabhängig vom Webserver arbeitet, kann diese Datenbank benutzen. MySQL ist ein eigenständiger Server, zu dem Schnittstellen von den meisten Programmiersprachen existieren, so auch in PHP oder Perl. Für Webanwendungen werden oft Benutzerkennungen und Hashwerte von Passwörtern in einer solchen Datenbank abgelegt, oder ganze Webseiten wie es in „Content Management Systemen“ geschieht. 4 Arbeitsablauf Die Installation eines vollständigen Webservers wird anhand der folgenden Anleitung durchgeführt. Wir beschränken uns hier auf eine Installation des XAMPP Paketes mit Inbetriebnahme und Test. 4.1 Vorbereitungen Das XAMPP Programmpaket wird von der Projektseite [6] heruntergeladen. Die verwendete Version ist 1.7.2 für Windows in der 32-bit-Variante. Jens Fiedler 7/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 4.2 Installation des Programmpaketes Mit einem Doppelklick auf das XAMPP Installationspaket wird die Installation gestartet (s. Abb. 2). Als Installationspfad wird C:\ gewählt. Die Installation erfolgt automatisch in einen Unterordner „xampp“. Mit einem Klick auf Install startet die Installation sofort ohne weitere Abfragen. 4.2.1 Grundkonfiguration Abbildung 2: XAMPP Installation (Screenshot): Startbildschirm Die Grundkonfiguration erfolgt bei dieser Version des XAMPP Installationsprogramms über ein DOS Fenster. Bei abweichender Version kann auch ein grafisches Installationsprogramm beigelegt sein. Da die Verknüpfungen erwünscht sind, bestätigen wir die Vorauswahl (s. Abb. 3). Abbildung 3: XAMPP Installation (Screenshot): Verknüpfungen für den Desktop Jens Fiedler 8/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Vorauswahl mit der Eingabe-Taste bestätigen um die Pfade korrekt zu setzen (s. Abb. 4). Abbildung 4: XAMPP Installation (Screenshot): XAMPP Pfade Da hier eine Installation für das Intranet vorgesehen ist und keine portable für den USBStick, bestätigen wir die Vorauswahl (s. Abb. 5). Abbildung 5: XAMPP Installation (Screenshot): Portable oder feste Installation Die Installation der Pakete ist damit abgeschlossen. Mit der Eingabe-Taste wird zum nächsten Dialog gesprungen (s. Abb. 6). Jens Fiedler 9/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Abbildung 6: XAMPP Installation (Screenshot): Kopieren der Dateien Die Einstellung der Zeitzone wird in den meisten Fällen richtig erkannt. Falls nicht, müssten dies manuell in den Dateien „php.ini“ und „my.ini“ geschehen (s. Abb. 7). Abbildung 7: XAMPP Installation (Screenshot): Einstellen der Zeitzone Im folgenden Menü können einzelne Änderungen an diversen Parametern vorgenommen werden. Hier wählen wir nacheinander die Optionen 3, 4, und 5 aus. Damit läuft der Server später ohne SSL und SSI, sowie unter IPv4 (s. Abb. 8). Jens Fiedler 10/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Abbildung 8: XAMPP Installation (Screenshot): voreingestellte Optionen Mit x, gefolgt von der Eingabe-Taste, verlassen wir die Konfiguration (s. Abb. 9). Abbildung 9: XAMPP Installation (Screenshot): veränderte Optionen Jens Fiedler 11/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 4.2.2 Test Nun öffnet man einen Webbrowser und tippt als Adresse „http://localhost“ ein. Es öffnet sich die Willkommensseite von XAMPP mit vielen nützlichen Modulen. Damit ist sichergestellt, das der Server funktioniert. 4.2.3 Absicherung Im Menü unter XAMPP wählt man „Sicherheitscheck“ aus. Dies dauert nun ungefähr eine Minute. Die Webseite wird nun in der Regel folgende Probleme melden: • Diese XAMPP-Seiten sind über das Netzwerk erreichbar • MySQL Admin User "root" hat kein Passwort • PhpMyAdmin ist über das Netzwerk erreichbar • PHP läuft NICHT im "Safe Mode" Es handelt sich hierbei um die Standardeinstellungen welche schlichtweg noch nicht gesetzt wurden. Zusätzlich sind die XAMPP Konfigurationsseiten über das Netzwerk frei zugänglich, was, da es sich um Administrationswerkzeuge handelt in den seltensten Fällen gewünscht ist. Unter dieser Auflistung ist ein Link, mit dem man über einen Assistenten genau diese Probleme beheben kann. Über diesen Link gelangt man zu einer Seite, auf der Passwörter für die Administrationswerkzeuge gesetzt werden. My SQL Einstellungen XAMPP Verzeichnisschutz MySQL Super User root Benutzer root Passwort admin Passwort admin Jens Fiedler 12/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Das XAMPP Control Panel wird nun über den Desktop oder die Taskleiste gestartet. Nun können die Dienste Apache und MySql mit einem Klick auf Stop angehalten und anschliessen mit einem Klick auf Start wieder gestartet werden (s. Abb. 10). Abbildung 10: XAMPP Control Panel (Screenshot) 4.2.4 Abschliessende Einstellungen Für weiterführende Einrichtungsarbeiten wir nun die Datei httpd.conf angepasst. Dies geschieht mit dem Windowsprogramm Notepad. Jens Fiedler 13/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet Folgende Einstellungen werden vorgenommen: Zeilennummer Name Wert 53 Listen 80 180 DocumentRoot „C:/htdocs“ 207 Directory „C:/htdocs“ Nun erfolgt ein Neustart des Apache Servers über das „XAMPP Control Panel“ Nach dem Ablegen der Webseiten oder einer Testseite unter „C:/htdocs“ sind diese nun über „http://localhost“ zu erreichen. 4.3 Preiskalkulation & Zeitaufwand Im folgenden wird eine Aufstellung der Preis- und Zeitkalkulation aufgeführt. Zeitkalkulation Vorbereitungen 5 Minuten Installation 5 Minuten Test der Installation 1 Minuten Sichern der Installation 5 Minuten Konfiguration 9 Minuten Gesamt 25 Minuten Preiskalkulation Arbeitszeit: Pro angefangene Stunde 35,00 € Gesamter Kostenaufwand 35,00 € Jens Fiedler 14/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 5 Glossar Apache beliebter Webserver für verschiedenste Betriebssysteme ASCII American Standard Code for Information Interchange: Zeichenkodierung auf 7-bit Basis Content Management System Komplette, webbasierte Verwaltung von Webauftritten. Dienst Software auf einem Computer welche im Hintergrund läuft DOS Disk Operating System: Der Urvater von Windows, besser bekannt als „Kommandozeile“ HTML Hyper Text Markup Language: Interpretersprache, welche für Webseiten benutzt wird Interpreter Software welche Quellcode nach bestimmten Regeln behandelt und direkt ausführt IPv4 Internet Protocol v4: Datenübertragungsprotokoll für das Internet IPv6 Nachfolger des IPv4 JavaScript Interpretersprache welche im Quellcode zum Benutzer übertragen wird und erst dort Interpretiert wird MySQL Datenbankserver welcher häufig mit Webservern zusammen verwendet wird Perl Interpretersprache, welche unter anderem für den Einsatz in Webauftritten verwendet wird PHP Interpretersprache, welche unter anderem für den Einsatz in Webauftritten verwendet wird Port Teil einer Netzwerkadresse. Wird zur Adressierung benötigt Screenshot Auch „Bildschirmfoto“ genannt SSI Server Side Includes: Skriptsprache welche auf dem Webserver ausgeführt wird SSL Secure Sockets Layer/ Transport Layer Security: Verschlüsselungsprotokoll zur Datenübertragung VB-Script Interpretersprache welche im Quellcode zum Benutzer übertragen wird und erst dort Interpretiert wird XAMPP Projekt zur Förderung des Apache Webservers und den verknüpften Technologien MySQL, PHP und Perl Jens Fiedler 15/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 6 Stichwortverzeichnis Apache..................................................................................................................................................6 ASCII....................................................................................................................................................6 Datenbank, ...........................................................................................................................................7 Dienst....................................................................................................................................................3 FileZilla................................................................................................................................................4 FTP.......................................................................................................................................................4 GNU Generel Public License...............................................................................................................3 HTML...................................................................................................................................................6 httpd.conf............................................................................................................................................13 Interpreter.............................................................................................................................................6 Intranet..................................................................................................................................................4 msmtp...................................................................................................................................................4 MySQL.............................................................................................................................................4, 7 Perl........................................................................................................................................................6 PHP...................................................................................................................................................4, 6 phpMyAdmin.......................................................................................................................................4 Port.......................................................................................................................................................3 Server....................................................................................................................................................4 Sicherheitscheck.................................................................................................................................12 SMTP....................................................................................................................................................4 VB-Script..............................................................................................................................................6 Webalizer..............................................................................................................................................4 Webserver.............................................................................................................................................3 XAMPP................................................................................................................................................3 .htaccess................................................................................................................................................6 Jens Fiedler 16/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 7 Quellenangaben [1] Apache Friends, http://www.apachefriends.org/, 2009-08-21, 09:00 [2] The Apache Software Foundation. http://www.apache.org/, 2009-08-21, 09:00 [3] The Perl Foundation. http://www.perl.org/, 2009-08-21, 09:00 [4] The PHP Group, http://www.php.net, 2009-08-21, 09:00 [5] MySQL AB, http://www.mysql.com, 2009-08-21, 11:00 [6] XAMPP 1.7.2, http://www.apachefriends.org/download.php?xampp-win32-1.7.2.exe, 2009-08-20, 14:30 8 Abbildungsverzeichnis Abbildung 1: Schema eines XAMPP Webservers................................................................................5 Abbildung 2: XAMPP Installation (Screenshot): Startbildschirm.......................................................8 Abbildung 3: XAMPP Installation (Screenshot): Verknüpfungen für den Desktop.............................8 Abbildung 4: XAMPP Installation (Screenshot): XAMPP Pfade........................................................9 Abbildung 5: XAMPP Installation (Screenshot): Portable oder feste Installation...............................9 Abbildung 6: XAMPP Installation (Screenshot): Kopieren der Dateien............................................10 Abbildung 7: XAMPP Installation (Screenshot): Einstellen der Zeitzone.........................................10 Abbildung 8: XAMPP Installation (Screenshot): voreingestellte Optionen.......................................11 Abbildung 9: XAMPP Installation (Screenshot): veränderte Optionen.............................................11 Abbildung 10: XAMPP Control Panel (Screenshot) .........................................................................13 Sämtliche mit (Screenshot) gekennzeichneten Bilder sind Screenshots der Installationssoftware des XAMPP Projektes(http://www.apachefriends.org/). Andere Graphiken sind, soweit nicht anders angegeben, selbst erstellt. Jens Fiedler 17/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 9 English summary Installation and configuration of a webserver in a secure intranet This text refers to webserver systems. A Webserver is a piece of Software which delivers Webpages to a Webbrowser. This text is supposed to be a guide for installing and configuring a Webserver with the XAMPP package for a secure intranet. Following the steps mentioned in the text will end up with a fully functional server. At first you will find a short explanation on the XAMPP package and the individual software in this package. Jens Fiedler 18/19 Deutsch Kommunikation Installation und Einrichtung eines Webservers im gesicherten Intranet 10 Erklärung Hiermit bestätige ich, die Facharbeit ohne fremde Hilfe und nur unter Benutzung der aufgeführten Quellen angefertigt zu haben. Bad Vilbel, den 21.08.2009 __________________________ Jens Fiedler Jens Fiedler 19/19