Kein Zugriff auf SQL-Server Datenbanken von PHP

Werbung
E-Learning mit Moodle und
Windows Azure
Windows Azure
Stefan Zenkel
Microsoft Student Partner
stefan.zenkel@
studentpartners.de
Agenda
E-Learning mit Moodle und Windows Azure
•
•
Einführung in das Szenario
Konfiguration von SQL-Server 2012
•
•
•
Konfiguration von PHP für Moodle
•
•
Grundkonfiguration
Einrichtung von Nutzern und Kursen
Veröffentlichung des Apache-Webservers
•
•
•
Zugriff über PHP auf SQL-Server
Installation und Konfiguration von Moodle
•
•
•
Erstellung von Datenbanken
Nutzerauthentifizierung
Besonderheiten beim Veröffentlichen in Windows Azure
Anlegen von Beispielszenarien
PHP-Anwendungen Loadbalancing Szenarien in Windows Azure
Einführung und Motivation für das Szenario (1)
Moodle
Was ist Moodle?
„Moodle ist ein Software-Paket, um Internet basierte Kurse zu entwickeln und durchzuführen. Es ist ein
globales Softwareentwicklungsprojekt, das einen konstruktivistischen Lehr- und Lernansatz unterstützt.
Moodle ist eine frei verfügbare Open Source Software (unter der GNU Public License).“
(Quelle: http://docs.moodle.org)
Referenzen für Moodle
TU München, LMU München, Universität Wien, HU Berlin, Universität Kassel, Universität Leipzig,
Fernuniversität Hagen, Universität Siegen und viele andere.
Einführung und Motivation für das Szenario (2)
Auf Basis des Windows Server 2008 R2 Templates in Windows Azure
Was benötigen Sie?
Windows Azure
Subscription
1.
2.
3.
Virtuelle Instanz
Windows Server 2008 R2 mit
Microsoft SQL-Server 2012
Template
Apache 2.2.22 für Windows
PHP 5.3 für Windows
Konfiguration von SQL-Server 2012
Konzept und wichtige Optionen
In SQL-Server Management Studio:
• Sicherstellen, dass TCP/IP = enabled gilt
 In Network Configuration -> Protocols -> TCP/IP enabled
In SQL-Server Management Studio:
• Anlegen einer neuen SQL-Server Datenbank (z.B. moodledb)
• Anpassung der Optionen für Moodle in der Datenbank:
 ANSI NULLS Enabled = true (ALTER DATABASE xxxx SET ANSI_NULLS ON)
 Quoted Identifiers Enabled = true (ALTER DATABASE xxxx SET QUOTED_IDENTIFIER ON)
• Erlauben der SQL-Server Authentifizierung (anstatt Windows integrierte
Authentifizierung)
• Anlegen eines neuen Benutzers mit Administratorzugriff auf moodledb
Konfiguration von PHP für Moodle
Auf Basis eines Apache-Webservers
•
Grundlegende Konzepte:
•
•
•
Konfiguration aller Optionen in der php.ini des Stammverzeichnisses
Erweiterungen werden durch sog. Extensions eingefügt, die sich im Ordner ext des PHPStammverzeichnisses befinden
Folgende Optionen sollten für Moodle aktiviert werden
Optionsname
extension=php_curl.dll
extension=php_openssl.dll
extension=php_gd2.dll
extension=php_soap.dll
extension=php_intl.dll
extension=php_xmlrpc.dll
extension=php_mbstring.dll
intl.default_locale = en_utf8
Jede Einstellung wird erst mit einem Neustart des Apache-Webservers
übernommen!
Konfiguration von PHP für SQL-Server
Besonderheiten für Microsoft SQL-Server 2012
• Für Microsoft SQL-Server 2012 sind keine Extensions in PHP
integriert
 Kein Zugriff auf SQL-Server Datenbanken von PHP Anwendungen möglich
• Download der Microsoft Drivers 3.0 for PHP for SQL-Server
• Installation der Treiber in das \php\ext Verzeichnis
• Einfügen der Extension für SQL-Server in die php.ini
 extension=php_pdo_sqlsrv_53_ts.dll und extension=php_sqlsrv_53_ts.dll
• Konfiguration weiter SQL-Optionen zur Performanceverbesserung
 mssql.textlimit = 20971520 und mssql.textsize = 20971520
Installation von Moodle
Bereitstellung der E-Learning Anwendung
• Download von Moodle unter http://download.moodle.org
• Extrahieren der Anwendungsdaten in das Stammverzeichnis des
Webservers
 /apache/htdocs ist das Standard-Stammverzeichnis für Websites
• Starten der Installation von localhost im Webbrowser
• Einrichtung erster Kurse und Nutzer in Moodle
Hinweis: Für die Veröffentlichung von moodle unter einer bestimmten Domain,
muss diese in der moodle.conf angepasst werden.
Veröffentlichung des Apache-Webservers
Besonderheiten bei der Bereitstellung eines Webservers in Windows Azure
•
Öffnen der HTTP (80) und HTTPS (443) Ports unter Endpoints im Windows
Azure Portal
•
•
•
•
Ggf. öffnen weiterer Ports für Proxyserver
Öffnen der entsprechenden eingehenden Ports in der Advanced Windows
Firewall
Test der Erreichbarkeit des Servers über öffnen der Website
http://IhrServer.cloudapp.net oder der virtuellen öffentlichen IP-Adresse des
Servers
Leiten Sie die Domain bei Ihrem Hostinganbieter zur virtuellen öffentlichen
IP des Windows Azure Webservers um
Hinweis: Die Einrichtung des verschlüsselten Webverkehrs wird in diesem
Tutorial nicht erläutert.
PHP-Webanwendungen und Loadbalancing Szenarien
Clientzugriff auf Port 80 oder 443
Windows Azure Loadbalancer
PHP Webserver als virtuelle
Maschinen in Windows Azure
Windows Azure Cloud-Service
Zusammenfassung
Was haben wir erreicht?
 Bereitstellung des Moodle auf Windows Azure Szenarios
 Konfiguration des SQL-Servers 2012 für Moodle
 Konfiguration von PHP für SQL-Server 2012
 Installation und Bereitstellung von Moodle
 Veröffentlichung eines Webservers in Windows Azure
 Loadbalancing von PHP-Webanwendungen
Web Ressourcen
Unter folgenden Einstiegspunkten finden sich alle Ressourcen, die für einen Start in Windows Azure wichtig sind
• Windows Azure Homepage
http://www.azure.com
• Kostenloser Demo-Account
http://www.windowsazure.com/en-us/pricing/free-trial/?WT.mc_id=A2DCCE88E
• Windows Azure Development Center
http://www.windowsazure.com/en-us/develop/overview/
• Windows Azure SDKs
http://www.windowsazure.com/en-us/develop/downloads/
• Windows Azure Training Kit
http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/
• Kundenreferenzen
http://www.microsoft.com/de-de/business/kundenreferenzen/default.aspx?product=53
• Video-Serie zu Windows Azure (10-Minuten-Videos):
http://www.youtube.com/watch?v=kLfaa_19yB4&list=PLC71216BDE26EBE8C
I
www.azure.com
Herunterladen