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:

Bild 33 - Webserver Apache, PHP, MS SQL-Server 2005

Apache wird als Dienst gestartet, erkennbar u.a. an dem Symbol in der unteren rechten Taskleiste:

Bild 34 - Webserver Apache, PHP, MS SQL-Server 2005

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.

Bild 35 - Webserver Apache, PHP, MS SQL-Server 2005

In folgendem Installationsschritt muss man das Apache-Konfigurationsverzeichnis (conf) angeben, also in dem Verzeichnis, welches bei der Apache-Installation angelegt wurde.

Bild 36 - Webserver Apache, PHP, MS SQL-Server 2005

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.

Bild 37 - Webserver Apache, PHP, MS SQL-Server 2005

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.

Bild 38 - Webserver Apache, PHP, MS SQL-Server 2005

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.

Bild 39 - Webserver Apache, PHP, MS SQL-Server 2005

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.

Bild 40 - Webserver Apache, PHP, MS SQL-Server 2005

Installation SQL Server 2005 (SQLEXPRESS)

Voraussetzung: dotnetfx.exe, msxml6.msi, vjredist.exe
SQL Server 2005 (SQLEXPRESS) Installationsdatei: SQLEXPR.EXE

Bild 41 - Webserver Apache, PHP, MS SQL-Server 2005

Bild 42 - Webserver Apache, PHP, MS SQL-Server 2005

Bild 43 - Webserver Apache, PHP, MS SQL-Server 2005

Bild 44 - Webserver Apache, PHP, MS SQL-Server 2005

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:

Bild 45 - Webserver Apache, PHP, MS SQL-Server 2005

Hier sollte man die TCP-IP-Verbindungen in Microsofts SQL-Server aktivieren.

Bild 46 - Webserver Apache, PHP, MS SQL-Server 2005

Start - Programme - Microsoft SQL Server 2005 -  Configuration-Tools - SQL Server Surface Area Configuration - SQL Server  Configuration Manager

Bild 47 - Webserver Apache, PHP, MS SQL-Server 2005

Bild 48 - Webserver Apache, PHP, MS SQL-Server 2005

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