Hallo
Hab das nun mit den Virtual Hosts hinbekommen, aber irgendwas stimmt nun bei php nicht. Brauche dringend Hilfe.
Das Problem ist, dass php einfach iognoriert wird. Der Apache Server ist installiert und PHP auch. Die Datei wird geladen, denn HTML Inhalte werden angezeigt. Nur Elemente wie z.B. <?php phpinfo(); ?> werden nicht angezeigt. Habe Windows und nutze WAMP. Hab nochmal genau aufgelistet, was ich von Anfang an gemacht hab. Ich denke schon, dass das sinnvoll ist.
Also, los gehts:
1. Der Apache Webserver:
a. Installation: Ich belasse alles auf den Default-Werten. Und mein Domainname ist (www.)logo.test.
b. Zum Testen rufe ich nun http://localhost auf und es sollte "It works" da stehn (das tat es auch)
c. Nun richte ich ein Verzeichnis ein bzw. erstelle einen Ordner. Dieser ist C:/Projekte/logo.test
d. Danach gehe ich in die Hauptkonfigurationsdatei httpd.conf des Servers. Dort mache ich folgendes:
d1. Ich überprüfe, ob Listen 80 dort steht (stand da)
d2. Ich überprüfe die mail-Adresse bei ServerAdmin (stimmte auch)
d3. Bei ServerName schreib ich logo.test daneben
d4. Bei DocumentRoot schreib ich C:/Projekte/logo.test
d5. Später schreib ich bei <Directory wieder C:/Projekte/logo.test hin
d6. Bei DirectoryIndex schreibe ich index.php index.htm index.html daneben (laut dem Buch)
d7. Ich erstelle nun den Ordner C:/Logs/Apache und darin erstelle ich error.txt und access.txt. (das passiert außerhalb des Menüs)
d8. Im Menü zurück schreib ich nun bei ErrorLog das hier daneben:
C:/Logs/Apache/error.txt
d9. Bei CustomLog schreib ich das hier hin:
C:/Logs/Apache/access.txt
e. Apache Server wird neu gestartet (also Restart)
f. Eine Datei index.html (zum Testen) wird angelegt mit dem <body>-Inhalt "Das ist meine Website". Diese rufe ich unter localhost auf und nun sollte der Inhalt angezeigt werden (tat es auch)
g. Nun richte ich noch VirtualHosts ein, wie folgend:
g1. Gehe wieder zurück zu httpd.conf des Apache Webservers und entferne dort das # vor Include conf/extra/httpd-vhosts.conf
g2. Nun gehe ich zur Datei C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\vhosts.conf
g3. Dort richte ich VirtualHosts sein, genau so:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName logo.test
DocumentRoot C:/Projekte/logo.test
</VirtualHost>
<VirtualHost *:80>
ServerName Beispiel.test
DocumentRoot C:/Projekte/Beispiel.test
</VirtualHost>
<VirtualHost *:80>
ServerName Ende.test
DocumentRoot C:/Projekte/Ende.test
</VirtualHost>
g4. Weiterhin schreibe ich:
<Directory "C:/Projekte/logo.test">
Options Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Projekte/Beispiel.test">
Options Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Projekte/Ende.test">
Options Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
[Die Dateien Beispiel.test und Ende.test hab ich vorher als Ordner erstellt]
g5. Neustart des Servers
g6. Gehe auf C:/Windows/System32/drivers/etc/hosts und schreib dort folgendes:
127.0.0.1 localhost
127.0.0.1 logo.test
127.0.0.1 Beispiel.test
127.0.0.1 Ende.test
So, das war alles zum Apache Webserver.
2. MySQL einrichten
a. Installation (lasse alles auf den Default-Werten)
b. Konfiguration (lasse vieles auf den Default-Werten außer, dass ich die Option INCLUDE BIN DIRECTORY IN WINDOWS PATH auch auswähle. Außerdem gebe ich ein root-passwort meiner Wahl an.)
c. Ich rufe das Menü START|Programme|MySQL|MySQL Server 5.1|MySQL Command Line Client auf und gebe das root-Passwort (zum testen) ein (klappte auch alles, alle Eingaben klappen)
Das wars schon mit MySQL
Nun PHP.
3. PHP einrichten
a. Installation (mal was genauer)
a.1 unter Web Server Setup wähle ich Apache 2.2.X Module
a.2 als APACHE CONFIGURATION DIRECTORY gebe ich C:/Program Files/Apache Software Foundation/Apache2.2/conf/ an
a3. Bei Choose Items to install mach ich nicht wirklich was. ich geh einfach weiter (im buch steht, weitere extras könnten auch später installiert werden, geht das? ist das sinnvoll?)
b. Gehe nun wieder zu httpd.conf und überprüfe, ob ganz unten ein neuer Eintrag wie
#Begin PHP Installer
... steht
c. in Verzeichnis mime.conf steht nun:
application/x-httpd-php php
application/x-httpd-php-source phps
merkwürigerweise steht das in mime.conf und nicht in mime.types, wie vom Buch angegeben. ist das schlimm?
d. Nun erstelle ich im Editor eine Datei mit Inhalt <?php phpinfo(); ?>
Diese nenne ich index.php und speichere diese in C:/Projekte/logo.test
e. Rufe diese mit http://localhost auf, die Seite erscheint auch (erkennbar am Titel oben), aber PHP wird einfach ignoriert.