This tutorial will guide you trough the setup of a virtual or physical server with Linux operating system.
Article outline:
Edjet LMS can be run on any Linux distribution, that can run the required software. It can also run on Windows and in the Docker container.
This guide will guide you trough installation on the Ubuntu Server 18.04 LTS.
For more info & documentation about Ubuntu Server visit https://help.ubuntu.com/
You can use any cloud provider of your choice to launch virtual machine or use any other way to run a Linux server.
Follow the tutorial Get started with Amazon EC2 Linux instances. We recommend to choose Ubuntu Server 18 AMI over the of Amazon Linux AMI.
Download and install Apache 2.4 webserver and run the webserver as a service.
sudo apt update
sudo apt install apache2
sudo a2enmod rewrite
sudo nano /etc/apache2/sites-available/default-ssl.conf
and add following lines before end of the section <VirtualHost>:
<Directory /var/www/html/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
sudo service apache2 restart
Configure Apache to setup setup HTTPS connection and SSL certificates to run Edjet LMS securely.
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo nano /etc/apache2/sites-available/000-default.conf
and add lines into section <VirtualHost>:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
sudo service apache2 restart
For more information and Apache documentation visit http://httpd.apache.org/
Download and install PostgreSQL and enable support in PHP.
sudo apt install postgresql
sudo apt install php-pgsql
Create a new database to be used by LMS.
sudo su postgres
and then:
psql
CREATE ROLE template_c6 WITH LOGIN PASSWORD '*******' CREATEDB;
Replace ******* with your strong password.
CREATE DATABASE learnis;
*You can choose different name according to your project name.
ALTER DATABASE learnis OWNER TO template_c6;
\q
and then:
exit
sudo service postgresql restart
Download and install PHP and configure php.ini.
sudo apt install libapache2-mod-php php php-gd php-zip php-xml php-mbstring php-ldap
sudo nano /etc/php/7.2/cli/php.ini
and change line:
short_open_tag = Off
to
short_open_tag = On
sudo nano /etc/php/7.2/apache2/php.ini
and change line:
short_open_tag = Off
to
short_open_tag = On
upload_max_filesize = 500M
post_max_size = 508M
max_input_vars = 100000
sudo service apache2 restart
sudo wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
sudo tar zxvf ioncube_loaders_lin_x86-64.tar.gz
sudo mv ioncube /usr/local/
sudo nano /etc/php/7.2/apache2/conf.d/00-ioncube_loader.ini
and add line:
zend_extension=/usr/local/ioncube/ioncube_loader_lin_7.2.so
sudo cp /etc/php/7.2/apache2/conf.d/00-ioncube_loader.ini /etc/php/7.2/cli/conf.d/
sudo service apache2 restart
CRON is used to run Edjet LMS Server scripts periodically.
sudo mkdir /etc/cron.1minute
sudo nano /etc/crontab
Add line to create crontab entry:
* * * * * root cd / && run-parts /etc/cron.1minute
sudo nano /etc/cron.1minute/edjet_lms_cron
Insert code to run cron_launcher.php:
#! /bin/sh
php /var/www/html/components/cron_launcher.php
sudo chmod +x /etc/cron.1minute/edjet_lms_cron
Download Edjet LMS Server installation file (zip archive) to the server and prepare everything for the LMS installation.
The Edjet LMS application files will be placed in the folder "/var/www/html".
sudo rm -rf /var/www/html/{*,.*}
Notices about "." and ".." folders cannot be deleted can be ignored.
sudo wget https://s3-eu-west-1.amazonaws.com/ntv-download/netventic_downloadable_6.4.23.zip -P /home/ubuntu/
sudo apt install unzip
sudo unzip /home/ubuntu/netventic_downloadable_6.4.23.zip -d /var/www/html
sudo chmod -R 775 /var/www/html
sudo chown -R www-data:www-data /var/www/html
Steps 5 and 6 are about making sure the installer/app is able to write where necessary.
You have completed the server setup. Congratulations!
Now you can move to the installation of Edjet LMS Server.
If you are reporting issues, please provide as much info about the error as possible, namely: