This article explains in detail how to upgrade Edjet LMS Server using semi-automatic upgrade process.
Article outline:
You can only upgrade to Edjet LMS Server 6.4 from Edjet LMS Server 5.3.
In this tutorial we will stop users coming to an old environment, backup everything, prepare a new environment, migrate all user data, verify upgrade, switch domain to new environment and open a new environment to the users.
This scenario assumes 2 environments:
Also, the installation address of LMS installations in both environments is the same. If the address should be different, see how to change installation address.
If anything goes wrong, the old environment is always ready in production state and you can re-open it anytime to users.
The backup of the old environment can be used in case of an human error or other circumstances, causing a damage the old environment.
This procedures was tested with a Windows Server 2016 and Windows Server 2019. These are minimal steps, if your concern is to minimize the downtime, see the recommendations below.
Let's assume the LMS installation directory is "C:\Apache24\htdocs\" for both old and new environments.
Before doing any other steps, create a full backup of your old environment (server).
c:\Apache24\bin\httpd.exe -k stop
c:\PostgreSQL\bin\pg_dump.exe -U template_c6 -d learnis -f c:\db_dump.sql
You can open the dump file with any text editor and check it's content.
You will need the db dump data later on.
c:\PostgreSQL\bin\psql.exe -U template_c6 -d elms -f "C:\db_dump.sql
Warning about "public" scheme can be ignored
c:\PostgreSQL\bin\psql.exe -U template_c6 -d elms -f "C:\2022-01-17-update_5-3-1_6-4-23.sql"
We are working in this tutorial.
If your priority is to minimize the downtime during the upgrade, here are some recommendations. In general you can stop the webserver after the new environment is ready and tested and just get fresh database dump and fresh copy of the repository folder.
This procedure let's you also test the upgrade process safely and without time pressure, which is always a good idea anyway.
In the first part of the procedure there is no downtime yet:
The above steps might take some time, especially when done for the first time.
After the upgrade verification, if the status is satisfactory, you can carry on with the final steps where a short downtime is necessary.
The second part of the procedure require the downtime but can only take couple of minutes to proceed. So the downtime length will be probably determined by the DNS TTL of your domain. In most cases, you can expect 15-30 minutes to update the DNS of the sub-domain to the end users.
Check the TTL value of your domain before you begin (it can be anything from 600 s to 48 hrs) to plan around it.
Steps:
At this point the new LMS is opened to the users. Some users might experience longer downtime due to DNS caching.
Upgrade process has some limitations. In general, no customizations are migrated. This include and is not limited to:
All customizations must be migrated separately after the upgrade.