| Einrichten einer lokalen Testumgebung - Apache, PHP & Mysql |
|
| Artikel - Artikel 2005 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
!! HINWEIS !!Wie sich gezeigt hat, gibt es Probleme mit der Kombination Apache 2.2.x und PHP 5.1.x. Dieses Tutorial beschreibt die Installation von Apache 2.0.x und PHP 5.0.x. VorwortDieser Artikel richtet sich an alle Hobby-Webentwickler, die ihre erstellten Web-Projekte auf dem lokalen Computer testen möchten. Im Verlauf des Artikels wird eine komplette Beispiel-Testumgebung mit den Komponenten Apache, PHP & MySQL installiert und konfiguriert. Stellt sich noch die berechtigte Frage: Warum Einzelkomponenten, wenn es doch Komplettpakete wie z.B. XAMPP (Info: http://wintotal.de/softw/index.php?rb=16&id=2365) gibt? Die Vorteile von XAMPP liegen deutlich auf der Hand:
Aber was spricht nun für die Installation einzelner Komponenten?
Welche Installationsform letztendlich die "bessere" ist bzw. gewählt wird, sollte jeder für sich selbst entscheiden. Gliederung
1. Was ist eigentlich …?… ein Webserver … PHP … MySQL 2. Verzeichnisstruktur unserer TestumgebungDa nach Festplattencrash, Zurückspielen eines Backup-Images, Neu-Installation eines Betriebssystems o.Ä. die Gefahr besteht, dass eigene Einstellungen der Konfigurationsdateien usw. verloren gehen können, ist zu empfehlen, die Installation der Testumgebung nicht in der Partition des Betriebssystems vorzunehmen. Noch besser wäre die Installation auf einer physikalisch anderen Festplatte. In der folgenden Tabelle ist die Verzeichnisstruktur unserer Testumgebung aufgelistet:
3. Download der einzelnen KomponentenAm Anfang der Installation steht natürlich der Download der einzelnen Komponenten. Apache Webserver 2.0.xhttp://httpd.apache.org/download.cgi PHP 5.0.xhttp://de3.php.net/downloads.php Nach erfolgtem Download das Archiv nach "D:\Server\php5" entpacken. Zum Einbinden des Manuals in die Serverkonfiguration wählen wir das Format "Many HTML files". MySQL 4.1.xhttp://dev.mysql.com/downloads/mysql/4.1.html PhpMyAdminhttp://www.phpmyadmin.net/home_page/downloads.php 4. Installation Apache 2.0.xZum Start der Installation meldet sich der Installations-Wizard mit dem Apache-Willkommens-Dialog. Diesen mit Klick auf NEXT quittieren. Dialog: Server Information
Dies ist der erste Dialog, den wir uns etwas genauer ansehen sollten.
Die Einstellung "for All Users, on Port 80, as a Service" muss gewählt sein. Sind diese Einstellungen getätigt, mit NEXT bestätigen. Hinweis: Soll der Webserver auch vom Internet erreichbar sein, empfehle ich den Artikel "Dynamisches DNS-Update für die lokale Homepage" Dialog: Setup Type Hier kann die Einstellung auf "Typical" = (Standard) belassen werden. Dialog: Destination Folder
In diesem Dialog wird das Verzeichnis festgelegt, in dem der Apache installiert werden soll. Dialog: Change Current Destination Folder
Hier tragen wir nun unser Haupt-Installationsverzeichnis unserer Testumgebung "D:\Server\" als Ziel der Apacheinstallation ein. (Das Verzeichnis "Apache2" wird bei der Installation Automatisch erzeugt.) Mit OK bestätigen. Dialog: Destination Folder
Zurück zum Dialog "Destination Folder": Hier sollte nun unser Verzeichnis "D:\Server\" als Ziel der Installation stehen. Dialog: Ready to Install the Program Der Installations-Wizard hat nun genug Information gesammelt. Mit Klick auf "Install" kann nun die Installation gestartet werden. Dialog: Completed
Ist bei der Installation kein Fehler aufgetreten, meldet sich der Installations-Wizard mit einer Erfolgsmeldung und fordert uns zum Beenden der Installation auf: "Finish". Zum ersten Test, ob die Installation auch wirklich funktioniert hat, rufen wir im Web-Browser die URL http://localhost auf. Stimmt alles, sollte folgender Text angezeigt werden:
Ändern des "Document Root"Hierzu sind lediglich 2 Einträge in der "httpd.conf" (D:\Server\Apache2\conf\httpd.conf) zu ändern. Hinweis: Original # Neu: # Original # Neu # Sind auch hier keine Fehler aufgetreten, sollte sich der Apache nach einem Neustart wie folgt melden:
5. Installation PHP 5.0.xAls Erstes muss die "php.ini.dist" in unserem PHP-Verzeichnis "D:\Server\php5" in "php.ini" umbenannt werden. Diese dann mit einem beliebigen Texteditor öffnen und folgende Änderungen vornehmen: Abschnitt: Paths and Directories Eintrag => include_path Original Eintrag => extension_dir Original Abschnitt: File Uploads Eintrag => upload_temp_dir Original Abschnitt: Dynamic Extensions Was sind Dynamic Extensions? < ?php von PHP eine Fehlermeldung zurückgegeben werden, da PHP per Standardeinstellung die MySQL-Befehlssyntax nicht kennt und folglich mit dem Befehl "mysql_query" nichts anfangen kann. Die von PHP mitgelieferten Extensions befinden sich im Verzeichnis „D:\Server\php5\ext“. Hinweis: Bis zur Version PHP 4.x war MySQL per Default in PHP integriert, eine Extension wurde nicht benötigt. Welche Extensions nun eingebunden werden, muss jeder für sich selbst entscheiden. Für unsere Beispiel-Testumgebung sollten folgende Extensions genügen. Diese bitte aktivieren. (Aktivieren = Führendes Semikolon entfernen) extension=php_bz2.dll (=> Komprimierungsfunktionen) Abschnitt: Module Settings Modul => Sessions Original Dies waren alle Einstellungen, die an der php.ini geändert werden müssen. Hier kommt es wie gesagt auf die jeweiligen Gegebenheiten und Anforderungen an, eine Universal-Konfiguration gibt es leider nicht. Zum Abschluss der Konfiguration müssen noch einige *.dll aus dem PHP-Verzeichnis in das Windows-Verzeichnis kopiert werden. Da ich diese Spielchen gerne nur einmal mache und viel an meiner Konfiguration rumschraube, kopiere ich gleich zu Beginn alle. Somit habe ich bei evtl. Änderungen meine Ruhe. Dies betrifft: Wie gesagt, es werden momentan noch nicht alle benötigt, aber schaden kann es nicht. Apache lernt PHPDamit der Apache-Webserver auch weiß, was er mit PHP-Dateien anfangen soll, müssen wir es ihm beibringen. Dazu bitte die httpd.conf aus dem Verzeichnis "D:\Server\Apache2\conf" in einem beliebigen Texteditor öffnen. (Bitte Sicherungskopie nicht vergessen.) Nach dem letzten "LoadModule……"-Eintrag folgende Zeilen einfügen. # Eintrag => DirectoryIndex Original Der Apache muss nun neu gestartet werden.
Hierbei ist darauf zu achten, dass in der letzten Zeile folgender Text steht: Ist dies nicht der Fall, dann ist ein Fehler aufgetreten, da der Apache die PHP-Konfiguration nicht erkannt hatte. phpinfo()Der Befehl phpinfo() zeigt eine große Anzahl von Informationen über die aktuelle Konfiguration von PHP an. Unter anderem die Optionen während der Kompilierens und die Erweiterungen, die PHP Version, Informationen über den Server, die Umgebung (wenn PHP als Modul kompiliert wurde), die PHP-Umgebung, Version und Informationen zum Betriebssystem, Pfade, Haupt- und lokale Werte der Konfigurationsoptionen, http-Header und die GNU Public License. Zum Testen unserer PHP-Konfiguration erstellen wir uns eine erste *.php-Datei und speichern sie als info.php in unserem DocumentRoot "D:\Server\htdocs\" ab. Dazu einen beliebigen Texteditor aufrufen und folgenden Code eingeben.
Anschließend kann das Script unter http://localhost/info.php im Webbrowser aufgerufen werden.
Hier können nun alle Einstellungen der PHP-Installation eingesehen werden. 6. Installation MySQL 4.1.xHinweis: Zum Start der Installation meldet sich der Installations-Wizard mit dem MySQL-Willkommens-Dialog. Dialog: Setup Type Hier kann festgelegt werden, wie MySQL installiert werden soll. Da die Standardinstallation MySQL nach "C:\Programme\MySQL\MySQL Server 4.1" installieren würde, unser Server-Verzeichnis aber unter "D:\Server\" ist, wählen wir hier Custom (benutzerdefiniert). Dialog: Custom Setup
Hier sollten die ersten 3 Punkte schon vorselektiert sein. Wer sich gerne noch z.B. Beispiel-Scripte installieren möchte, kann dies unter dem Punkt "Developer Components" auswählen. Da wir das Installationsverzeichnis nach "D:\Server" ändern wollen, hier bitte auf den Button "Change" klicken. Dialog: Change Current Destination Folder
Hier bitte im unteren Textfeld "D:\Server\mysql" eingeben und mit OK bestätigen. Dialog: Custom Setup Hier sollte nun unter "Install to" unser neues Installationsverzeichnis "D:\Server\mysql" stehen. Dialog: Ready to install the Program Der Installations-Wizard hat nun genügend Informationen gesammelt, um mit der Installation zu beginnen. Dies bitte mit Klick auf Install bestätigen. Dialog: MySQL.com Sign-Up Hier kann man sich auf Wunsch bei MySQL.com registrieren. Als registrierter User bekommt man, falls gewünscht, immer die neuesten Mitteilungen von MySQL per E-Mail zugesendet. Da ich diesen Account schon habe, überspringe ich hier diesen Punkt und wähle Skip Sign-Up. Dialog: Wizard Completed Nach erfolgreicher Installation des MySQL-Servers öffnet sich ein Dialog, in dem uns mitgeteilt wird, dass die Installation erfolgreich beendet wurde - "Wizard Completed". Gleichzeitig wird uns angeboten, den Server gleich zu konfigurieren. Da wir dieses wollen, setzen wir das Häkchen bei Configure the MySQL Server now und bestätigen mit Finish. Den sich öffnenden Dialog mit einer erneuten Begrüßung können wir gleich wieder mit Klick auf "Next" verlassen. Dialog: MySQL Server Instance Configuration (Konfigurations-Typ) Bei der Frage nach dem Konfigurations-Typ aktivieren wir die Option => Standard Configuration. Hinweis: Dialog: MySQL Server Instance Configuration (Windows options)
Hier aktivieren wir die Checkbox => Install as a Windows Service Den Service-Namen können wir bei => MySQL belassen. Damit der MySQL-Server beim Windows-Start gleich mitgestartet wird, aktivieren wir auch die Checkbox => Launch the MySQL Server automatically. Dialog: MySQL Server Instance Configuration (Security options)
Im letzten Eingabedialog kann nun noch für den Server-Admin => root ein Passwort vergeben werden (zu empfehlen). Dazu die Checkbox => Modify Security Settings aktivieren, ein Passwort eingeben und dieses zur Bestätigung wiederholen. Da ein anonymer Account ein gewisses Sicherheitsrisiko mit sich bringt, legen wir hier keinen an. Dialog: MySQL Server Instance Configuration (Ready to execute …) Sind alle Eingaben ordnungsgemäß gemacht worden, können diese nun mit Execute übernommen werden. Für evtl. Änderungen bitte mit Back zurück und die Eingaben kontrollieren. Dialog: MySQL Server Instance Configuration (Processing configuration …)
Sind keine Fehler während der Konfiguration aufgetreten, zeigt uns der Dialog alle Aufgaben, die er durchgeführt hat, an und fordert uns auf, den Installations-Wizard mit Klick auf Finish zu verlassen. Der erste TestDa wir bei der Konfiguration angegeben haben, dass ein Pfad zum BIN-Verzeichnis des MySQL-Servers angelegt werden soll, können wir nun eine Konsole öffnen und testen, ob der Server funktioniert. Dazu rufen wir in der Konsole den MySQL-Server mit folgender Syntax auf: mysql -u [username] -p[passwort] Dabei ist darauf zu achten, dass zwischen dem Parameter -p und dem Passwort kein Leerzeichen steht. In unserem Beispiel würde die Befehlszeile wie folgt aussehen: mysql -u root -proot Die, die aufgepasst haben, wissen natürlich jetzt, welches Passwort ich bei der Konfiguration für root vergeben habe. Sorry, ist natürlich nur ein Beispiel.
Begrüßt uns MySQL mit einem Willkommens-Dialog, so ist unsere Installation geglückt. Um MySQL verlassen zu können bitte => quit; eingeben. 7. ZusatzkonfigurationApache2/Bin-Verzeichnis als Pfad registrierenWarum einen Pfad setzen? Ist ein Pfad gesetzt, kann man den Apache von der Konsole aus ansprechen, egal in welchem Verzeichnis man sich gerade befindet. Ich habe mir z.B. angewöhnt, den Apache ausschließlich von der Konsole aus zu steuern, da bei etwaigen Fehlern diese dort auch gleich angezeigt werden. Dies ist beim Weg über das Start-Menü bzw. beim Apache-Monitor über das Tray-Icon nicht der Fall. Dazu auf dem Desktop einen Rechtsklick auf Arbeitsplatz und Eigenschaften wählen. Im Dialog die Registerkarte "Erweitert" und dort Umgebungsvariablen wählen.
Hier unter "Systemvariablen" den Eintrag "Path" wählen und auf "Bearbeiten" klicken.
Dort wird nun der Pfad zu unserem Apache\Bin-Verzeichnis eingetragen. Anschließend alle Dialoge mit OK bestätigen. Anschließend kann der Apache wieder gestartet werden => apache -k start.
Manuals/DokumentationenDamit wir das Manual-Verzeichnis immer über http://localhost/my_docs aufrufen können, fügen wir noch einen Alias für das Verzeichnis in der "httpd.conf" des Apache hinzu. Nach dem Eintrag: Alias /icons/ "D:/Server/Apache2/icons/" Folgendes einfügen: # Hinweis: PhpMyAdminPhpMyAdmin ist eine weit verbreitete Open Source-Anwendung zur Verwaltung von MySQL-Datenbanken. Die grafische Benutzeroberfläche lässt sich komplett über einen Browser bedienen. PhpMyAdmin Homepage: http://www.phpmyadmin.net/ Nach dem zuvor erstellten Eintrag für Manuals/Dokumentationen fügen wir nun noch einen Alias für PhpMyAdmin in der httpd.conf des Apache ein. Somit ist gewährleistet, dass PhpMyAdmin immer über die URL http://localhost/myadmin geöffnet werden kann. # Damit PhpMyAdmin auch mit unserem MySQL-Server kommunizieren kann, muss noch eine kleine Änderung an der config.inc.php durchgeführt werden, diese befindet sich im Verzeichnis D:\Server\PhpMyAdmin. Zeile 39 - hier wird die URL zum PhpMyAdmin-Verzeichnis eintragen. $cfg['PmaAbsoluteUri'] = 'http://localhost/myadmin'; Zeile 85 - Hier bitte das Passwort für root eintragen. $cfg['Servers'][$i]['password'] = 'xxxx'; // MySQL password (only needed with 'config' auth_type) Alternativ kann auch der Authentifizierungsmodus in Zeile 83 geändert werden. $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)? 8. Finaler TestNachdem wir schon alle Komponenten, bis auf PhpMyAdmin, im Einzelnen gestestet haben: Was bietet sich da mehr an, als den finalen Test mit dem Aufruf von PhpMyAdmin durchzuführen.
Sieht das Ergebnis so aus, dann hat alles geklappt. Als letzten Test rufen wir noch das Manuals-Verzeichnis über http://localhost/my_docs auf. 9. ZusammenfassungAbschließend ist zu sagen, dass jeder, der sich mit Webentwicklung befasst, einmal solch eine Testumgebung "selbst" installiert und konfiguriert haben sollte. Ein späterer Umstieg auf ein Komplettpaket wie z.B. das angesprochene XAMPP ist jederzeit möglich. Wie gezeigt, ist es nicht sehr kompliziert, sich solch eine Testumgebung einzurichten. Hat man solch eine Installation ein- oder zweimal gemacht, bekommt man die nötige Routine und eventuelle Anfangsschwierigkeiten sind schnell vergessen. 10. Links / BuchempfehlungBücherApache, Das umfassende Handbuch (O'Reilly, 42,- €, Link zu Amazon). Nützliche Linkshttp://phpwelt.de - Umfangreiches Script- und Tutorialarchiv. Forenhttp://www.apachefriends.org/f/ - Deutsches Apache-Forum Konrad Priemer, 29.03.2005
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||





















