Skip to content

lecture2go/portal-6.2-ce-ga6

 
 

Repository files navigation

Lecture2Go Portal

This software is based on the Liferay 6.2 http://www.liferay.com

Lecture2Go is an open source platform for media management and distribution. Our goal is to support the free access to knowledge. This software solution is aimed at academic institutions and has to strengthen the blended learning.

Change Log

Please visit our Lecture2Go Plugins SDK Projekt here on github to get more information.

Installation Guide

1. System requirements

  • Web server

    • Java -OpenJDK 8, JDK 8, OpenJDK 7 or JDK 7 (newer versions might be incompatible)
    • Operating system - SLES 12 (x86_64) or SUSE 11 (x86_64)
    • CPU – 16 x Intel(R) Xeon(R) E5640 @ 2.67 GHz
    • RAM – 8 GB
    • Hard drive – 500 GB
    • If the FFMPEG-library is not installed on your system, you have to install it (https://www.ffmpeg.org/).
  • Download server

    • Operating system - SLES 12 (x86_64) or SUSE 11 (x86_64)
    • CPU – 16 x Intel(R) Xeon(R) E5640 @ 2.67 GHz
    • RAM – 8 GB
    • Hard drive – 500 GB
    • LAN – 1 Gb/s

2. Database server

For this setup we will use a Maria database. At this point we do not provide any installation instructions for MariaDB because you can find very good guides on the official website of the software distributor as well as on numerous other websites. After setting up the server create a user account which will be used to access the MariaDB server. These login parameters will be required in section 3 - username ( dbuser) and password (dbpassword).

3. Portal server

You have to be a root user for this setup! Create the directory /usr/local/l2go and then unpack the downloaded file portal-6.2-ce-ga6-master.zip (which you can find in the top right corner of this page here) into it and rename the unpacked directory to portal-6.2-ce-ga6.

The unzipped file /usr/local/l2go/portal-6.2-ce-ga6/install.sql contains all necessary tables and settings to integrate the Lecture2Go plugins in Liferay 6.2.

Import install.sql onto the installed MySQL database server.

Afterwards the portal software can be prepared for further installation. First edit the configuration file portal-setup-wizard.properties. Here you enter the installation directory liferay.home=/usr/local/l2go/portal-6.2-ce-ga6.

Now edit the configuration file portal-ext.properties which can be found under portal-6.2-ce-ga6/tomcat-7.0.62/webapps/ROOT/WEB-INF/classes.

Check the general properties lines in the area 'General Properties' (and if needed, configure them by modifying the following lines):

############ General Properties ############
web.server.protocol=http
web.server.http.port=8080
web.server.host=localhost

web.server.http.port – The default port number for the tomcat application server is 8080.
web.server.host – You can define the name of your website here. For this demo installation this is "localhost".

Configure the database access by modifying the following lines in the 'Database Properties':

############ Database Properties ############
jdbc.default.driverClassName=org.mariadb.jdbc.Driver
jdbc.default.url=jdbc:mysql://my-mysql-server.com/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=dbuser
jdbc.default.password=dbpassword

jdbc.default.url – Replace "my-mysql-server.com" with the URL of your database server (for example "localhost") and make sure that between the "/" directly after the URL and the "?" behind it there is only the name of your database.
jdbc.default.username – Enter your user name.
jdbc.default.password – Enter your database password.

In the section 'Lecture2Go Properties', adjust the following parameters:

############ Lecture2Go Properties ############
lecture2go.downloadserver.web.root=${lecture2go.web.root}
lecture2go.media.repository=${liferay.home}/l2gomedia
lecture2go.ffmpeg.bin=/usr/local/bin/ffmpeg
lecture2go.shell.bin=/bin/bash
[email protected]
[email protected]

The most important settings for the installation of the plug-ins are provided with the prefix lecture2go.* .

lecture2go.downloadserver.web.root – For load balancing we recommend to use a separate download server. Then enter here the URL of this server. Otherwise enter 'lecture2go.downloadserver.web.root=${lecture2go.web.root}'. In that case make sure that context.xml contains allowLinking="true".  ( /usr/local/l2go/portal-6.2-ce-ga6/tomcat-7.0.62/conf/context.xml )
lecture2go.media.repository – Enter the file path where the uploaded video content should be stored. The default parameter is ${liferay.home}/l2gomedia. PLEASE NOTE THAT YOU MUST HAVE WRITE PERMISSIONS IN THE PARENT DIRECTORY ${liferay.home}!
Reminder: "liferay.home" is by default "/usr/local/l2go/portal-6.2-ce-ga6"

In order to change the following two parameters run the following commands:

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

Execute on your database (for example „l2go“) the following sql-command – with 'your.domain.name' replaced by your actual domain name:

UPDATE VirtualHost SET hostname="YOUR.DOMAIN.NAME" WHERE virtualHostId="21602"

After the configuration file has been filled with the necessary parameters and the MySQL server is available, you can start the portal. Proceed as follows:

your-lecture2go-server:~ # cd /usr/local/l2go/portal-6.2-ce-ga6/tomcat-7.0.62/bin/
your-lecture2go-server:/usr/local/l2go/portal-6.2-ce-ga6/tomcat-7.0.62/bin # chmod 755 *
your-lecture2go-server:/usr/local/l2go/portal-6.2-ce-ga6/tomcat-7.0.62/bin # ./startup.sh

Assuming you have made all necessary preparations, the portal software will be launched successfully.

The server logs can be found under /usr/local/l2go/portal-6.2-ce-ga6/tomcat-7.0.62/logs. The starting process will finish with a similar log output:

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

Then login as superuser - Menu "Login" (at the top right under the Lecture2Go logo) The login details are:

4. Download server

In order for the uploaded media content - in /path-to-repository/l2gomedia - to be visible for the download server, this directory must be imported e.g. via NFS and also mounted on /path-to-repository/l2gomedia (If changed beforehand use new directory) .

Install and activate the Tomcat Web server (e.g. SLES using the installation tool YAST).

Afterwards transfer the Lecture2Go download servlet into the webapps directory of the Tomcat server on the download machine. The servlet is located in the webapps directory of Lecture2Go portal server (see section 3).

Copy the directory:

your-lecture2go-portalserver:~ #  scp -r  -P <Portnumber> /usr/local/l2go/portal-6.2-ce-ga6/webapps/servlet-file-download username@your-lecture2go-downloadserver:/tomcat-base/webapps/

To configure the servlet for database access, open the file /tomcat-base/webapps/servlet-file-download/WEB-INF/web.xml and enter the following parameters (see next figure):

repositoryRoot = /path-to-repository/l2gomedia
downloadServerName = my-download-server.com

Open the web.xml File to configure the servet - e.g. vim /srv/tomcat/webapps/servlet-file-download/WEB-INF/web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        version="3.0">
        <display-name>servlet-file-download</display-name>
        <welcome-file-list>
                <welcome-file>index.html</welcome-file>
                <welcome-file>index.htm</welcome-file>
                <welcome-file>index.jsp</welcome-file>
                <welcome-file>default.html</welcome-file>
                <welcome-file>default.htm</welcome-file>
                <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>

        <servlet>
                <display-name>Lecture2GoDownload</display-name>
                <servlet-name>Lecture2GoDownload</servlet-name>
                <servlet-class>DownloadManager</servlet-class>
                <init-param>
                        <param-name>repositoryRoot</param-name>
                        <param-value>/path-to-repository/l2gomedia</param-value>
                </init-param>
                <init-param>
                        <param-name>downloadServerName</param-name>
                        <param-value>l2gdownload.rrz.uni-hamburg.de</param-value>
                </init-param>
        </servlet>
        <servlet-mapping>
                <servlet-name>Lecture2GoDownload</servlet-name>
                <url-pattern>/getFile</url-pattern>
        </servlet-mapping>

</web-app>

Restart the Tomcat server so the new configurations are made effective.

You have to activate the following apache modules to run it as proxy:

proxy_ajp
proxy_balancer
proxy
proxy_connect
proxy_ftp
proxy_http

Enter the line at the bottom of the configuration file /etc/apache2/httpd.conf:

ProxyPass /servlet-file-download ajp://lecture2go-download-server-name.de:8009/servlet-file-download

Start the Apache2. In the htdocs directory from Apache2 create the following symbolic links:

lecture2go-download-server:~ #  cd /srv/www/htdocs
lecture2go-download-server:/srv/www/htdocs # ln -s /path-to-repository/l2gomedia/abo/  abo
lecture2go-download-server:/srv/www/htdocs # ln -s /path-to-repository/l2gomedia/vh_000/  vh_000

All media files under the /path-to-repository/l2gomedia/vh_000/ are now theoretically visible and reachable over HTTP. This only refers to content on the Lecture2Go video portal that has been released as downloadable. Media, which may not be downloaded, are protected by .htaccess files.

5. Streaming server

The streaming server is an options component. At this point it is important to mention that due to better load distribution the server should be installed on a separate machine. For further information about connecting your streaming server with Lecture2Go please contact our support team.

6. Optional Opencast-integration

To convert uploaded videos on the server into different quality levels and prepare them for adaptive streaming, an integration with Opencast exists. A separate servlet is required for this purpose, which coordinates the transcoding processes on Opencast and creates necessary SMIL files. A documentation can be found at: https://github.com/lecture2go/servlets/tree/master/video-processor/. If you need further information regarding the implementation of the interface to Opencast, please contact our support team.

Releases

No releases published

Packages

No packages published

Languages

  • Java 55.2%
  • JavaScript 25.6%
  • HTML 10.1%
  • CSS 5.2%
  • Ruby 1.8%
  • SCSS 1.3%
  • Other 0.8%