- Open Source

Werbung
Installationsanleitung Lecture2Go
Mediendistributionsportal
1. Systemvoraussetzungen
2. Datenbankserver
3. Portalserver
4. Streamingserver
4.1. Verknüpfen vom Wowza mit Lecture2Go
5. Downloadserver
Dienstag, 18. Februar 2014
[email protected]
2 2 3 7 7 9 1 1. Systemvoraussetzungen
Im Folgenden wird eine Beispielinstallation aufgeführt. Eine ähnliche
Implementierung hat sich seit 2010 an der Universität Hamburg bewährt.
•
•
•
Webserver
o Betriebssystem SUSE 11 (x86_64)
o CPU – 16 x Intel(R) Xeon(R) E5640 @ 2.67 GHz
o Physikalischer Arbeitsspeicher (RAM) – 8 GB
o Festplattenkapazität – 500 GB
Streamingserver
o Betriebssystem SUSE 11 (x86_64)
o CPU – 8 x Intel(R) Xeon(R) E5430 @ 2.66 GHz
o Physikalischer Arbeitsspeicher (RAM) – 8 GB
o Festplattenkapazität – 4 TB. Mit dieser Speicherkapazität kann eine
große Menge von Videos gehostet werden. Soll eine neunzigminütige
Vorlesungsaufzeichnung die Datenmenge von 600 MB nicht
übersteigen, so würden 4 TB Speicher für ca. 6500 Videos ausreichen.
o LAN – 1Gb. Mit dieser Bandbreite und durchschnittlicher BitÜbertragungsrate von 500 Kb/sec lassen sich ca. 2000 simultane
Streams realisieren.
Downloadserver
o Betriebssystem SUSE 11 (x86_64)
o CPU – 16 x Intel(R) Xeon(R) E5640 @ 2.67 GHz
o Physikalischer Arbeitsspeicher (RAM) – 8 GB
o Festplattenkapazität – 500 GB
o Netzwerkkarte – 1 Gb
2. Datenbankserver
Als Datenbank für die Installation soll MySQL eingesetzt werden. An dieser Stelle
wird keine Installationsanleitung für MySQL angeboten. Auf der offiziellen
Internetseite von MySQL sowie auf zahlreichen Webseiten können Sie sehr gute
Installationsanleitungen zum Thema finden.
Nachdem der Server installiert wurde, erstellen Sie ein Benutzerkonto, mit dessen
Login-Daten auf MySQL zugegriffen werden kann. Im Abschnitt 3 werden diese
Zugangsdaten, Login-Name (dbuser) und das zugehörige Passwort (dbpassword),
benötigt.
Für die Administration von MySQL-Datenbankservern eignen sich verschiedene
Tools. Wir empfehlen die offiziellen MySQL-Administrationswerkzeuge, die auf der
Softwareherstellerwebseite http://dev.mysql.com/downloads/gui-tools/5.0.html zu
finden sind.
Dienstag, 18. Februar 2014
[email protected]
2 3. Portalserver
Für diese Installation müssen Sie sich als Root einloggen. Erstellen Sie das
Verzeichnis /usr/local/l2go (chmod 755 /usr/local/l2go für Mac) und entpacken Sie
anschließend die heruntergeladene Datei portal-6.1.1-ce-ga2-master.zip dorthin.
Benennen Sie das entpackte Verzeichnis in portal-6.1.1-ce-ga2 um. Durch das
Entpacken entsteht folgender Dateipfad /usr/local/l2go/portal-6.1.1-ce-ga2/. In
diesem Verzeichnis befindet sich die Datei install.sql. Diese sql-Datei beinhaltet alle
notwendigen Tabellen und Einstellungen für die Integration der Lecture2Go-Plugins
in Liferay.
Importieren Sie die Datei install.sql in den installierten MySQL-Datenbankserver
(Abschnitt 2).
Anschließend kann die Portalsoftware für die Installation vorbereitet werden. Führen
Sie folgende Schritte durch und bearbeiten Sie die Konfigurationsdateien portalsetup-wizard.properties mit einem beliebigen Editor:
your-lecture2go-server:~ # cd /usr/local/l2go/portal-6.1.1-ce-ga2/
your-lecture2go-server:/.../portal-6.1.1-ce-ga2/ # joe portal-setup-wizard.properties
Hier tragen Sie das Installationsverzeichnis wie folgt ein:
liferay.home=/usr/local/l2go/portal-6.1.1-ce-ga2
Als Nächstes bearbeiten Sie die Datei portal-ext.properties - ebenfalls mit einem
beliebigen Editor:
your-lecture2go-server:~ # cd /usr/local/l2go/portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/
your-lecture2go-server:/.../webapps/ # joe ROOT/WEB-INF/classes/portal-ext.properties
Konfigurieren Sie den Datenbankzugriff, indem Sie die folgende Zeilen im Bereich
"Database Properties" anpassen:
############ Database Properties ############
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://mysql.server.com/lportal?useUnicode=true&characterEncoding=U
TF-8&useFastDateParsing=false
jdbc.default.username=dbuser
jdbc.default.password=dbpassword
•
•
•
jdbc.default.url – Ersetzen Sie bitte diesen String "mysql.server.com"
innerhalb dieser Zeile mit der URL Ihres Datenbankservers.
jdbc.default.username – Hier Benutzernamen eingeben.
jdbc.default.password – Hier Datenbankpasswort eingeben.
Im Bereich "Lecture2Go Properties" passen Sie die folgenden Parameter an:
############ Lecture2Go Properties ############
lecture2go.web.root=http://mywebserver.de
lecture2go.web.home=${lecture2go.web.root}
Dienstag, 18. Februar 2014
[email protected]
3 lecture2go.downloadserver.root=http://mydownloadserver.de
lecture2go.media.repository=/l2gomedia
lecture2go.images.system.path=${lecture2go.media.repository}/images
lecture2go.httpstreaming.video.repository=${lecture2go.media.repository}/vh_000
lecture2go.security.folder=/security
lecture2go.ffmpeg.bin=/usr/local/bin/ffmpeg
lecture2go.shell.bin=/bin/bash
[email protected]
[email protected]
Die wichtigsten Einstellungen für die Installation der Lecture2Go-Plugins sind mit
dem Präfix lecture2go.* versehen.
•
•
•
•
•
•
lecture2go.web.root – Hier geben Sie bitte die Webadresse des Lecture2GoServers (ggf. Port z.B. http://mywebserver.de:8080) ein.
lecture2go.web.home – Dieses Parameter muss nicht geändert werden.
lecture2go.downloadserver.root – Wir empfehlen für eine Lastverteilung einen
separaten Downloadserver einzusetzen. Bitte hier die URL-Adresse des
Servers eingeben. Alternativ kann der Portalserver als Downloadserver
betrieben werden (lecture2go.downloadserver.root=${lecture2go.web.root}).
lecture2go.media.repository – Geben Sie hier den Systempfad ein, unter dem
die Videoinhalte nach dem Upload gespeichert werden sollen. Der DefaultParameter ist /l2gomedia.
lecture2go.response.email.address – E-Mail Adresse des
Systemadministrators
lecture2go.noresponse.email.address – Autoresponder E-Mail Adresse
Die nachfolgenden Parameter sollen nicht verändert werden!
•
•
•
lecture2go.images.system.path – Hier werden alle erzeugten Bilder
gespeichert.
lecture2go.httpstreaming.video.repository – Das ist ein sehr wichtiges
Verzeichnis, da der Streamingserver darauf zugreift, um die Medieninhalte via
HTTP-Streaming zu liefern.
lecture2go.security.folder – Speicherort für alle Htaccess-Schutzdateien.
Um die letzten zwei Parameter einzutragen, führen Sie folgende Befehle aus und
tragen Sie die Antworten wie folgt bei den "Lecture2Go Properties" ein
your-lecture2go-server:~ # which ffmpeg
/usr/local/bin/ffmpeg
•
lecture2go.ffmpeg.bin - /usr/local/bin/ffmpeg
your-lecture2go-server:~ # which bash
/bin/bash
•
lecture2go.shell.bin - /bin/bash
Falls auf Ihrem Linux-System die FFMPEG – Bibliothek noch nicht vorhanden ist,
müssen Sie diese nachinstallieren (http://www.ffmpeg.org/)! Nachdem die
Konfigurationsdatei mit den notwendigen Parametern betankt wurde und der MySQLDienstag, 18. Februar 2014
[email protected]
4 Server erreichbar ist, fahren Sie das Portal hoch.
Nach der Änderung der Eigenschaften gehen Sie wie folgt vor:
your-lecture2go-server:~ # cd /usr/local/l2go/portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/
your-lecture2go-server:/usr/local/l2go/portal-6.1.1-ce-ga2/tomcat-7.0.27/bin # chmod 755 *
your-lecture2go-server:/usr/local/l2go/portal-6.1.1-ce-ga2/tomcat-7.0.27/bin # ./startup.sh
Vorausgesetzt Sie haben alle erforderlichen Vorbereitungen getroffen, wird die
Portalsoftware erfolgreich gestartet.
Die Serverlogs findet man unter /usr/local/l2go/portal-6.1.1-ce-ga2/tomcat7.0.27/logs. Hier soll der Startvorgang mit einer ähnlichen Logausgabe abschließen:
your-lecture2go-server:~ # tail -f /usr/local/l2go/portal-6.1.1-ce-ga2/tomcat7.0.27/logs/catalina.out
INFO: Starting Coyote HTTP/1.1 on http-80
Jul 25, 2012 12:46:01 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 25, 2012 12:46:01 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/177 config=null
Jul 25, 2012 12:46:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 40776 ms
12:46:49,528 INFO [PluginPackageUtil:1148] Reloading repositories
Nun müssen einige Konfigurationen im Lecture2Go-Portal vorgenommen werden.
Dafür rufen Sie lokal auf dem Server einen Webbrowser auf:
your-lecture2go-server:~ # firefox localhost
Loggen Sie sich unter dem Menüpunkt „Anmelden" (oben rechts unter dem
Lecture2Go-Logo) als Superuser ein.
Die Login-Daten sind:
E-Mail: [email protected]
Password: test
Dienstag, 18. Februar 2014
[email protected]
5 Nach dem Login klicken Sie das "Kontrollbereich" (oben rechts unter dem
Lecture2Go-Logo) an und wählen Sie dort das Hauptmenü "Lecture2Go" ->
"Website-Einstellungen" -> "Webseite URL" aus. Tragen Sie dort in das Feld
"Öffentliche Seiten" den Domainnamen Ihrer Lecture2Go-Installation ein (meine-unidomain.de).
Eine weitere Konfiguration muss im Hauptmenü "Portal" -> "Einstellungen"
vorgenommen werden. Tragen Sie dort die einzelnen Parameter ein, wie auf dem
nachfolgendem Bild gezeigt.
•
•
•
•
Name: my-uni-domain.com - Hier ist der Domainname der Lecture2GoWebseite (obere Instanz) einzutragen.
Virtual Host: localhost - Dieses Parameter kann unverändert bleiben. In der
Regel wird hier der Domainname eingetragen, der auch für die
Netzwerkkonfiguration verwendet wird. Wenn dieser Domainname aufgerufen
wird, leitet Liferay die Anfrage zu der oberen Instanz um.
Output URL: /web/vod - Definiert den Startpunkt der Seitenstruktur. Wenn
man z.B. die URL http://meine-uni-domain.de/web/vod aufrufen würde, würde
man zu der Startseite gelangen, die in der Seitenhierarchie an oberster Stelle
steht.
Mail Domain: meine-unimail-domain.de - Liferay verwendet diese
Emaildomain, um Nachrichten vom Portal aus zu versenden.
Dienstag, 18. Februar 2014
[email protected]
6 Nachdem Sie diese Konfigurationen durchgeführt haben, kann die neue
Portalinstallation von Lecture2Go unter der Web Adresse http://meine-uni-domain.de
erreicht werden.
4. Streamingserver
Der Streamingserver ist eine sehr wichtige Komponente. Erst mit einer laufenden
Implementierung des Streamingservers sind die „schönsten" Lecture2Go-PortalFeatures (Kapitelmarken, manuelle Segmentierung durch Produzenten oder
Studierende) zu genießen. An dieser Stelle ist es wichtig zu erwähnen, dass der
Server für eine bessere Lastverteilung auf einer separaten Maschine installiert
werden sollte.
Die Streaming-Software Wowza Server ist sehr leistungsfähig. Unserer Erfahrung
nach ist eine Lizenz ausreichend, um eine Universität von der Größe der Universität
Hamburg zu bedienen.
Im Folgenden wird eine Kurzanleitung zur Installation gegeben. Für weiterführende
technische Informationen und Konfigurationsmöglichkeiten wird an dieser Stelle auf
die offizielle Dokumentation des Softwareherstellers verwiesen.
Laden Sie zuerst die aktuelle Wowza Server-Version herunter:
your-lecture2go-streamer:~ # wget
http://www.wowza.com/downloads/WowzaStreamingEngine-4-0-0/WowzaStreamingEngine4.0.0.tar
Führen Sie folgende Befehle aus:
your-lecture2go-streamer:~ # sudo chmod +x WowzaStreamingEngine-4.0.0.tar.bin
your-lecture2go-streamer:~ # sudo ./WowzaStreamingEngine-4.0.0.tar.bin
Nach erfolgreicher Installation muss der Lizenzschlüssel eingetragen werden. In der
ersten Zeit können Sie eine kostenlose Lizenz von Wowza bekommen und die
Software testen.
Nachdem die Software registriert wurde, können Sie mit der Konfiguration fortfahren
(Abschnitt 4.1).
4.1.
Verknüpfen vom Wowza mit Lecture2Go
In diesem Abschnitt geht es um die Verknüpfung der Lecture2Go-Medien-Repository
(Speicherort aller Mediendateien) mit dem Streaming-Server.
Damit die hochgeladenen Videoinhalte auf dem Lecture2Go-Portal vom StreamingServer gefunden werden können, müssen einige Einstellungen im Verzeichnis
/usr/local/WowzaStreamingEngine/conf vorgenommen werden.
Dienstag, 18. Februar 2014
[email protected]
7 •
VHost.xml – An dieser Stelle konfigurieren Sie die Portnummer des Servers.
Da der Server über das HTTP-Protokoll erreichbar sein muss, ändern Sie die
Portnummer auf 80 (ca. Zeile 10).
<!-- 80: HTTP, RTMPT -->
<!-- 554: RTSP -->
<Port>80</Port>
•
Application.xml – In dieser Datei wird die Medien-Repository konfiguriert, auf
die der Server zugreift.
<Streams>
<StreamType>default</StreamType>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
In dem Knoten <StorageDir></StorageDir> wird die Medien-Repository des Servers
festgelegt. Der Default-Wert wird nicht verändert und einfach das Verzeichnis
${com.wowza.wms.context.VHostConfigHome}/content mit einem symbolischen Link
ersetzt, der auf die Lecture2Go Medien-Repository verweist. Im Abschnitt 3 wurde
bereits in der Datei portal-ext.properties das Parameter
lecture2go.httpstreaming.video.repository festgelegt. Der Wert dieses Parameters
/l2gomedia/vh_000/ ist die zentrale Lecture2Go Medien-Repository und wird nun bei
der Verknüpfung mit dem Streaming-Server benötigt.
Hierfür bitte folgende Befehle ausführen:
your-lecture2go-streamer:~ # cd /usr/local/WowzaStreamingEngine
your-lecture2go-streamer:/usr/local/WowzaStreamingEngine # rm –r content
your-lecture2go-streamer:/usr/local/WowzaStreamingEngine # ln -s
/l2gomedia/vh_000/ content
Als letzter Schritt muss der Server im Lecture2Go-Portal registriert werden! Jeder
Einrichtung kann ein Streamingserver zugewiesen werden. Loggen Sie sich als
Lecture2Go-Administrator ein ([email protected]). Im Menü "Mein L2Go" ->
"Administration von Streamern" kann ein neuer Streamingserver eingetragen oder
ein vorhandener Server bearbeitet werden.
Dienstag, 18. Februar 2014
[email protected]
8 Ersetzen Sie den vorhandenen Beispiel-Servernamen www.mystreamingserver.com
mit dem Domainnamen oder mit der IP-Adresse ihrer neuen Wowza-ServerInstallation (z.B. www.mywowzastreamer.com). Klicken Sie dann auf den Button
„Bearbeiten". Anschließend rufen Sie das Menü „Administration von Einrichtungen"
auf.
In der Liste der Einrichtungen kann man sehen, dass der neu eingetragene
Streamingserver der Einrichtung „Fakultät 1" zugeordnet ist. Alle Medieninhalte, die
zu dieser Einrichtung gehören, werden nun mit dem Streaming-Server
www.mywowzastreamer.com gestreamt.
5. Downloadserver
Die Medieninhalte landen nach dem Upload im Verzeichnis /l2gomedia (s.a.
Abschnitt 3, ggf. geändertes Verzeichnis). Um diese für den Downloadserver sichtbar
zu machen, muss dieses Verzeichnis z.B. mittels NFS importiert und ebenfalls unter
/l2gomedia gemountet werden.
Installieren und aktivieren Sie auf Ihrem Linux-System den Tomcat-Webserver.
Anschließend muss der Lecture2Go-Download-Servlet in das Webapps-Verzeichnis
des Tomcat-Servers des Downloadservers übertragen werden. Der Servlet befindet
sich im Webapps-Verzeichnis des Lecture2Go-Portalservers (s.a. Abschnitt 3).
Kopieren Sie das Verzeichnis z.B. mittels des SCP-Befehls:
your-lecture2go-portalserver:~ # scp -r -P <Portnummer> /usr/local/l2go/portal-6.1.1-cega2/webapps/download username@your-lecture2go-downloadserver:/tomcat-base/webapps/
Um den Servlet für den Datenbankzugriff zu konfigurieren, tragen Sie in der Datei
/tomcat-base/webapps/download/WEB-INF/web.xml folgende Parameter ein (s.a.
nächste Abbildung):
•
•
•
•
vRep = /l2gomedia (falls geändert, bitte entsprechendes Verzeichnis angeben)
driverUrl = jdbc:mysql://datenbankserver.de/lportal?useUnicode=true&characterEncoding=UTF8&useFastDateParsing=false
dbUsername = DbUsername
dbPassword = DbServerPassword
Damit die durchgeführten Konfigurationen wirksam werden, starten Sie den TomcatServer neu.
Dienstag, 18. Februar 2014
[email protected]
9 Damit der Download-Servlet auch über Port 80 erreichbar ist, schalten Sie den
Apache2 als Proxy vor die Tomcat-Applikation vor. Aktivieren Sie, z.B. über YaST,
für den Apache2-Server folgende Module (Netzwerkdienste – HTTP-Server):
•
•
•
•
•
•
proxy_ajp
proxy_balancer
proxy
proxy_connect
proxy_ftp
proxy_http
In der /etc/apache2/httpd.conf tragen Sie am Ende der Konfigurationsdatei die
folgende Zeile ein:
ProxyPass /download ajp://lecture2go-download-server-name.de:8009/download
Starten Sie den Apache2 neu.
Im htdocs des Apache2-Servers legen Sie folgende symbolische Links an:
Dienstag, 18. Februar 2014
[email protected]
10 lecture2go-download-server:~ # cd /srv/www/htdocs
lecture2go-download-server:/srv/www/htdocs # ln -s /l2gomedia/abo/ abo
lecture2go-download-server:/srv/www/htdocs # ln -s /l2gomedia/vh_001/ vh_001
Alle Medien-Dateien, die unterhalb des Verzeichnisses /l2gomedia/vh_001/
gespeichert werden, wären theoretisch nach außen sichtbar. Dies bezieht sich aber
nur auf Inhalte, die im Lecture2Go Video-Portal zum Download freigegeben wurden.
Medien, die nicht heruntergeladen werden dürfen, werden per .htaccess geschützt.
Dienstag, 18. Februar 2014
[email protected]
11 
Herunterladen