Webserver Apache, MSSQL, PHP - Windows HTTP-Server mit Microsoft SQL Server 2005 (SQLEXPRESS)
Im Artikel WAMP-Server installieren wurde beschrieben, wie man einen Webserver basierend auf den OpenSource-Produkten Apache, MySQL und PHP installiert und konfiguriert. Dieser Artikel ist zum großen Teil identisch, hat aber einen kleinen Unterschied, der einen Administrator ärgern kann. Unter Windows wird ein Apache-Webserver eingerichtet, der nicht auf die frei verfügbare MySQL-Datenbank zugreift, sondern mit Microsofts SQL Server 2005 zusammenarbeiten soll. Dieses Zusammenspiel erfordert ein paar Besonderheiten bei der Installation, auf die in dieser Anleitung detailliert eingegangen wird.
Apache-Webserver: apache_2.2.11-win32-x86-no_ssl.msi
PHP: php-5.2.9-1-win32-installer.msi
SQL-Server: msxml6.msi, dotnetfx.exe, SQLEXPR.EXE
Installation Apache Webserver
Die Installation des Apache-Webserver benötigt keine erhöhte Aufmerksamkeit. Einfach eine Standardinstallation durchführen. Während der Installation folgendes Fenster ausfüllen:
Apache wird als Dienst gestartet, erkennbar u.a. an dem Symbol in der unteren rechten Taskleiste:
Das Apache-Verzeichnis befindet sich in standardmäßig in C:\Programme\Apache Software Foundation\Apache2.2. Die eigentlichen Webseiten speichert man in htdocs. Im conf-Verzeichnis befindet sich die Konfigurationsdatei httpd.conf.
Installation PHP
Im nächsten Schritt installiert man PHP als Apache-Modul.
In folgendem Installationsschritt muss man das Apache-Konfigurationsverzeichnis (conf) angeben, also in dem Verzeichnis, welches bei der Apache-Installation angelegt wurde.
Unterhalb von PHP -> Extensions das MSSQL-Modul angeben. MSSQL steht für Microsofts SQL Server und die unten gezeigt Auswahl sorgt dafür, dass das später benötigte Modul php_mssql.dll mitinstalliert wird.
Das Standardinstallationsverzeichnis lautet C:\Programme\PHP. Die Konfigurationsdatei lautet php.ini. Folgende Einstellungen sollten aktiviert sein:
# Auszug php.ini
display_errors = On
display_startup_errors = On
log_errors = On
[PHP_MSSQL]
extension=php_mssql.dll
Prüfen, ob die DLL php_mssql.dll in C:\Programme\PHP\ext\ vorhanden ist.
Im nächsten Schritt muss die DLL ntwdblib.dll in das Apache-Installationsverzeichnis installiert werden. Ansonsten erscheint eine Fehlermeldung "PHP Startup: Unable to load dynamic library". Die benötigte Datei kann hier heruntergeladen werden: ntwdblib.dll.
Nun eine test.php mit folgendem Inhalt in dem Verzeichnis C:\Programme\Apache Software Foundation\Apache2.2\htdocs anlegen:
<?php
phpinfo();
?>
Wenn alles richtig installiert wurde, sollte die gewohnte PHP-Info-Seite erscheinen. Hier überprüfen, ob der MSSQL-Support aktiv.
Installation SQL Server 2005 (SQLEXPRESS)
Voraussetzung: dotnetfx.exe, msxml6.msi, vjredist.exe
SQL Server 2005 (SQLEXPRESS) Installationsdatei: SQLEXPR.EXE
Berechtigungen
Microsoft SQL Server 2005 bringt hauseigene Werkzeuge zur Konfiguration mit:
Start - Programme - Microsoft SQL Server 2005 - Configuration-Tools - SQL Server Surface Area Configuration - SQL Server 2005 Surface Area Configuration:
Hier sollte man die TCP-IP-Verbindungen in Microsofts SQL-Server aktivieren.
Start - Programme - Microsoft SQL Server 2005 - Configuration-Tools - SQL Server Surface Area Configuration - SQL Server Configuration Manager
Testverbindung mittels php:
Wichtig ist, dass man sich mit der Microsoft SQL-Datenbank nicht über den Hostnamen, sondern über die Instanz verbindet.
<?php
$dbid = mssql_connect("194.50.50.84\SQLEXPRESS","sa","schmidtsmikey",true);
echo $dbid;
?>
Ausgabe im Browser
Resource id #2