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