Ich hatte mal zu viel Zeit und habe mich entschlossen mal eben ein kleines Tutorial zu schreiben.
Es geht mir hierbei um das Allerweltsproblem eigener Home-Webserver. Ich stand vor 2 Jahren vor dem gleichen Problem, und da ich es gerade in Angriff genommen habe, von Apache 1.32/PHP4/MySQL 1.4 auf Apache 2.0.50/PHP5/MySQL 4.1 zu updaten, dachte ich mir, schreib doch gleich ein Tutorial zu dem was du da machst.
Also, los gehts.
Übrigens: Wenn ihr euch fragt was die Spielerei mit den blassen Klammern soll … dient der Leserlichkeit. Sinn der Sache: Ich schreibe oft Dinge in die Klammern, die dem ein oder anderem völlig klar sind, und er die Klammern somit schneller überlesen kann.
1. Software besorgen
Folgende Software braucht ihr:
• Apache httpd (2.0.50): apache.org - Installer, ohne SSL
• PHP 5: php.net - Zip Version
• MySQL 4.1: mysql.com - Installer
• Außerdem empfohlen: MySQL-Front
2. Installation
2.1. PHP
Ihr entpackt das PHP Zip-Archiv in einen beliebigen Programmordner, z.B. C:\PHP.
Danach wechselt ihr in das Verzeichnis und kopiert die php5ts.dll nach C:\Windows\System32 (bzw euer Windows-Verzeichnis).
Wieder zurück im PHP-Verzeichnis benennt ihr die php.ini-recommended in php.ini um und öffnet sie anschließend.
Zeile 508 ändern in:
extension_dir = "C:\PHP\ext" (anstelle von C:\PHP euer PHP-Verzeichnis einsetzen)
Zeile 636 unkommentieren (; entfernen):
extension=php_mysql.dll
Dann speichern und schließen.
Nun müsst ihr noch die libmysql.dll ins System32-Verzeichnis kopieren, ohne die läuft das MySQL-Modul von PHP nicht. Die Datei befindet sich ebenfalls im PHP-Verzeichnis.
2.2. Apache
Ihr startet den Installer und folgt den Anweisungen. Werdet ihr aufgefordert, eine Domain einzugeben nehmt ihr einfach 127.0.0.1, beim Server Name ebenfalls. EMail-Adresse denkt ihr euch eine aus.
Den Haken bei "Run as a service for all users" aktiviert ihr.
Geht dann auf Custom bei Installationsart und nehmt gewünschte Einstellungen vor, also z.B. Anpassung des Installationspfades. (C:\Apache z.B.)
Dann immer auf Weiter und installieren.
Hinweis: Wenn ihr euch irgendwo nicht sicher seid, was einzugeben ist gibts die Universallösung: Nachdenken! Das meiste erklärt sich nämlich von selbst.
2.3. MySQL
<img src="http://www.freesoft-board.to/smilies/icon4.gif" alt="Achtung!" /> Achtung: Solltet ihr bereits MySQL installiert haben (ich hatte MySQL 1.4 vorher), deinstalliert es!
Also weiter wie gehabt, ihr startet den Installer, wählt Custom bei Installationsart. Ändert den Installationspfad wenn ihr wollt, z.B. auf C:\MySQL. Die standardmäßig ausgewählten Elemente (im selben Fenster) sind für die meisten User angebracht, wenn ihr wollt könnt ihr sie trotzdem ändern.
Nachdem der Installer fertig ist, startet das Konfigurationstool.
Die meisten Optionen sind zutreffend für unsere gewünschte Anwendung, dort ändert ihr nichts, es sei denn ihr wisst es besser als der Installer.
Bei der Anzahl der durchschnittlichen Verbindungen könntet ihr aber eine niedrigere Zahl angeben, z.B. 5.
Im Fenster "Root Password" gebt ihr ein neues Passwort ein. Am besten einfach "admin" oder "root", hauptsache ihr merkt es euch! Dann den Haken unten aktivieren, der die root-Verbindungen auf localhost beschränkt.
Nach Abschluss der Konfiguration solltet ihr versuchen per MySQL-Front (siehe oben) zu connecten. (user: root, pw: [euer_passwort] - das Programm ist selberklärend und idiotensicher!) Sollte das nicht funktionieren, connectet ihr per ODBC/[kein_pw] und ändert von dort aus das root Passwort. (unter Benutzer inner linken Leiste)
3. Apache konfigurieren
Jetzt wirds lustig!
Erstmal überlegt ihr euch, wo euer Apache laufen soll, z.B. in C:\http. Wenn ihr den Apache anderswo laufen lassen wollt, passt die Pfade entsprechend an!
Ihr erstellt daraufhin den entsprechenden Pfad (C:\http).
Nun aber, wir konfigurieren den Apache httpd. Dazu im Startmenü auf die Verknüpfung "edit httpd.conf" oder so ähnlich klicken, oder unter C:\Apache\conf (bzw euer Apache-Installationspfad) die httpd.conf öffnen.
Folgende Änderungen vornehmen:
Zeile 57 - Server Root:
ServerRoot C:/Apache
Hinweis: Ggf. anpassen!
Zeile 120 - Listen:
Listen 127.0.0.1:80
Hinweis: Ihr könnt auch einen anderen Port oder eine andere IP nehmen. Ohne einen treffenden Grund würde ich das aber nicht empfehlen. ;)
Zeile 212 - ServerName
ServerName localhost
Zeile 228 - Document Root:
DocumentRoot C:/http/
Zeile 253 - Main Directory htaccess
<Directory "c:/http">
Zeile 321 - Directory Index files
DirectoryIndex index.php index.html index.html.var
Hinweis: Hier stehen alle Dateien, die als Index-Dateien erkannt werden. Liegt in einem Verzeichnis also eine index.php, so wird diese geöffnet, wenn nur das Verzeichnis angegeben wird.
Nun binden wir PHP als Modul ein:
Zeile 173 folgendes hinzufügen:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml
PHPIniDir "C:/php"
So, die wichtigsten Schritte sind getätigt. Lest euch die httpd.conf ruhig mal in Ruhe durch und schaut was ihr dort noch verändern könnt. Ihr könnt zum Beispiel VirtualHosts definieren. Das sind weitere virtuelle Server, die neben dem Hauptserver (welchen wir gerade konfiguriert haben) parallel laufen können.
Muss aber nicht sein, der Apache sollte so bestens laufen.
4. Abschluss und Test
Euch wird sicher schon der Apache Monitor aufgefallen sein, der sich unten im Tray eingenistet hat. Einmal Doppelklick auf das Symbol und das Tool öffnet sich mit einer Übersicht der Apache Services. Bei mir ein Apache 1.32 (läuft auf 127.0.0.1 btw) und ein Apache 2.0.50 (auf 127.0.0.2). Ihr bedient euch gleich mal dieses Tools und restartet den Apache2. Wenn er ohne Fehlermeldung startet, habt ihr alles richtig gemacht. Wenn nicht öffnet ihr über Start-›Ausführen-›"cmd" den \bin Ordner eures Apache Ordners (z.B. mit "cd \Apache\bin") und startet dann den Apache ("Apache" eingeben). Dort seht ihr die Fehlermeldung und geht dementsprechend vor (wenn ihr nicht wisst wie -› im Forum fragen).
So, nun zum Test. Das gute alte phpinfo. Ihr geht über den Explorer in euer DocumentRoot (z.B. C:\http) und erstellt eine neue txt-Datei. Dort schreibt ihr <?php phpinfo(); ?> rein und speichert sie als test.php. Jetzt geht ihr über euren Browser in 127.0.0.1/test.php und bekommt sehr interessante Infos. Naja, das wesentliche ist, dass das PHP Info Blatt angezeigt wird - dann laufen Apache und PHP einwandfrei (bezogen auf unsere Zwecke).
5. Das Wort zum Sonntag
Im wahrsten Sinne des Wortes, heut ist sogar Sonntag.
Ich habe mich entschlossen dieses Tutorial zu schreiben, da man doch immer mal wieder User sieht die sich fragen wie das geht. Ich hoffe ich konnte dem ein oder anderem hiermit weiterhelfen.
gruß, euer mg-tx