Installing InteLIS on a Windows Machine¶
Install InteLIS on a Windows machine with WampServer.
The machine needs an internet connection and an account with administrator
rights. The installation goes into C:\wamp64\www\vlsm and opens at
http://vlsm.
InteLIS requires PHP 8.4+ (minimum 8.4.1) for both WampServer and the command line. PHP 8.2, 8.3, and older versions are not supported. This guide uses PHP 8.4 paths. If you use PHP 8.5, substitute its installed folder name.
Why the folder is named vlsm
InteLIS was previously called VLSM. The Windows install folder, the site hostname and the database still carry that name, so they match existing installations.
Follow the steps from top to bottom. Each part ends with a check. Do not go on until the check passes.
Prepare Windows¶
- Install all pending Windows updates.
- Install a text editor: Notepad++ or Microsoft VS Code.
- Download the Visual C++ packages: https://wampserver.aviatechno.net/files/vcpackages/all_vc_redist_x86_x64.zip
- Extract the zip file and install the packages inside it. On 64-bit Windows, install all of them. On 32-bit Windows, install only the x86 packages.
- Restart the machine.
- Download WampServer from https://www.wampserver.com/en/. Choose the 64-bit installer on 64-bit Windows.
- Install WampServer into
C:\wamp64. - Start WampServer.
Check: the WampServer icon in the system tray turns green.
Configure PHP¶
- Download
cacert.pemfrom https://curl.se/docs/caextract.html and save it asC:\wamp64\cacert.pem. - Select the WampServer tray icon, then PHP → Version. Choose the newest
version that starts with
8.4. - Open
C:\wamp64\bin\phpin File Explorer. Note the name of the folder that starts withphp8.4, for examplephp8.4.1. The steps below call itphp8.4.x. -
Select the WampServer tray icon, then PHP → php.ini. Change these settings, then save the file:
Setting New value memory_limit2G, or higher if the machine allowspost_max_size500Mupload_max_filesize500Mmax_execution_time1200error_reportingE_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING;openssl.cafile=openssl.cafile='C:\wamp64\cacert.pem'(remove the leading;);curl.cainfo =curl.cainfo ='C:\wamp64\cacert.pem'(remove the leading;) -
Make the same changes in
C:\wamp64\bin\php\php8.4.x\php.ini. The command line uses this file. -
Turn on the PHP extensions InteLIS needs:
bcmath,curl,fileinfo,gd,gettext,intl,json,mbstring,openssl,pdo,pdo_mysql,sodium,zipandzlib.- Select the WampServer tray icon, then PHP → PHP extensions. Select each of these extensions that has no tick. An extension missing from the list is built into PHP.
- In
C:\wamp64\bin\php\php8.4.x\php.ini, remove the leading;from theextension=line of each of these extensions, for example;extension=intl. Save the file.
-
Open Command Prompt and run:
set PATH=C:\wamp64\bin\php\php8.4.x;%PATH% php -v php -i | findstr memory_limit php -m
Check: php -v reports PHP 8.4.1 or newer, the second command prints
memory_limit => 2G, and php -m lists every extension from step 14.
Configure MySQL¶
- Select the WampServer tray icon, then MySQL → my.ini.
- Find the
sql_modeline and put;at its start. -
Add these lines below it:
sql_mode = innodb_strict_mode = 0 -
Find
innodb_default_row_format=compactand change it toinnodb_default_row_format=dynamic. If the line is missing, addinnodb_default_row_format=dynamic. - Save the file.
- Select the WampServer tray icon, then MySQL → MySQL Console. Log in as
rootwith an empty password. -
Set a root password. Replace
PASSWORDwith a new password, and write it down:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD'; FLUSH PRIVILEGES; exit;If MySQL rejects
mysql_native_passwordNewer MySQL versions do not load
mysql_native_password, and replyPlugin 'mysql_native_password' is not loaded. Use MySQL's default method instead. PHP connects with it.ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD'; FLUSH PRIVILEGES; exit; -
Select the WampServer tray icon, then Restart All Services.
Check: the tray icon turns green again, and http://localhost/phpmyadmin
accepts root with the new password.
Get InteLIS¶
- Download the current release: https://github.com/deforay/intelis/archive/refs/heads/stable.zip
- Extract the zip file. It holds one folder,
intelis-stable. - Create the folder
C:\wamp64\www\vlsm. - Copy everything inside
intelis-stableintoC:\wamp64\www\vlsm. - Download
composer.pharfrom https://getcomposer.org/download/latest-stable/composer.phar and save it inC:\wamp64\www\vlsm. -
In Command Prompt, install the packages:
cd C:\wamp64\www\vlsm set PATH=C:\wamp64\bin\php\php8.4.x;%PATH% php composer.phar install --no-dev --no-scripts php composer.phar dump-autoload -o
Check: the file C:\wamp64\www\vlsm\vendor\autoload.php exists.
Create the database¶
- Open http://localhost/phpmyadmin and log in as
root. -
Select SQL, run this, and select Go:
CREATE DATABASE `vlsm` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -
Select the
vlsmdatabase in the left panel. - Select Import, choose
C:\wamp64\www\vlsm\sql\init.sql, and select Import or Go at the bottom of the page.
Check: the vlsm database in the left panel lists its tables.
Configure InteLIS¶
- Copy
C:\wamp64\www\vlsm\configs\config.production.dist.phptoC:\wamp64\www\vlsm\configs\config.production.php. -
Open
config.production.phpin the text editor and set the database details:$systemConfig['database']['host'] = 'localhost'; $systemConfig['database']['username'] = 'root'; $systemConfig['database']['password'] = 'PASSWORD'; $systemConfig['database']['db'] = 'vlsm';Replace
PASSWORDwith the root password from step 22. -
If the lab sends results to an STS, set its address in the same file:
$systemConfig['remoteURL'] = 'https://sts.example.org'; -
Save the file.
Set up the web server¶
-
Open Notepad as administrator. Open
C:\Windows\System32\drivers\etc\hostsand add this line at the end:127.0.0.1 vlsm -
Open
C:\wamp64\bin\apache. Inside the folder that starts withapache2.4, openconf\extra\httpd-vhosts.confand add:<VirtualHost *:80> ServerName localhost ServerAlias vlsm DocumentRoot "${INSTALL_DIR}/www/vlsm/public" <Directory "${INSTALL_DIR}/www/vlsm/public/"> AddDefaultCharset UTF-8 Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>If other computers in the lab open InteLIS on this machine
Require localaccepts only this machine. Replace it with the lab network's address range, for example:Require ip 192.168.1Use
Require all grantedonly on a machine that cannot be reached from outside the lab network. After the change, open InteLIS from a second computer to confirm. -
Select the WampServer tray icon, then Restart All Services.
Initialize InteLIS¶
-
In Command Prompt, run:
cd C:\wamp64\www\vlsm set PATH=C:\wamp64\bin\php\php8.4.x;%PATH% php composer.phar post-install -
Answer the STS questions at the end:
Question Answer Is this STS URL correct? Press Enter (Yes). Enter STS URL (or press Enter to skip) The STS address. Press Enter if the lab has no STS. Number to select, text to filter Type the number of this lab, then press Enter. Type part of the lab name to shorten the list. InteLIS asks only the questions that apply. With a single lab on the STS, it selects that lab without asking.
-
Wait for
STS setup complete!.If the lab has no STS
After Enter at the STS question, the run ends with
Setup complete. Configure STS URL before proceeding.and Composer reports an error code forsts-setup. Every earlier part ofpost-installhas finished. Continue with step 44.If it prints
Cannot connect to STS at this URLCheck the address and the internet connection, then type the address again. If it still fails, run
php composer.phar sts-setuplater to repeat only the STS questions.If it prints
Metadata refresh failedThe STS did not send the lab list. Check the internet connection, then run
php composer.phar sts-setup.
Complete setup in the browser¶
- Open http://vlsm. The setup page opens.
- Under Database Setup, check the values match
config.production.php. Select Next. -
Fill in Instance Setup, then select Next:
Field Value Instance type LIS with Remote Ordering Enabled if the lab sends results to an STS. Standalone (no Remote Ordering) if it does not. STS URL The STS address. It is filled in from config.production.php.Testing lab The lab chosen in step 42. If the list is empty, select the refresh button next to the STS URL. Choose Modules to Enable The tests this lab runs. Country of installation The country the lab is in. Timezone The lab's time zone. Choose System Language The language of the screens. -
Fill in Admin Setup with the email, full name, login ID and password of the lab's first administrator. Select Finish.
- Log in with that administrator account.
Check: the dashboard opens, and the page footer shows the version, for
example v5.7.72.
Register the system administrator¶
- Open http://vlsm/system-admin. The Register new System Admin page opens.
- Open
C:\wamp64\www\vlsm\var\secret-key.txtin the text editor. Copy the key. - Paste the key into Secret Key. Fill in the user name, email, login ID and password. Select Submit.
- Sign out of the system admin area.
Schedule background tasks¶
- Open Task Scheduler and select Create Task. Name it
InteLIS Task. - On the General tab, select Run whether user is logged on or not.
-
On the Triggers tab, create a trigger:
- Select Daily.
- Select Repeat task every and set it to 1 minute, for a duration of Indefinitely.
- Select Stop task if it runs longer than and keep 3 days.
-
On the Actions tab, create an action:
Field Value Program/script C:\wamp64\bin\php\php8.4.x\php.exeAdd arguments C:\wamp64\www\vlsm\vendor\bin\crunz schedule:runStart in C:\wamp64\www\vlsmStart in is required. Without it, the task runs but does nothing: no backups, no synchronisation and no result imports.
-
Select OK and enter the Windows password when asked.
Check: after two minutes, the file C:\wamp64\www\vlsm\var\.cron_heartbeat
shows a modified time from the last minute or two.
Connect instruments¶
-
If the lab connects instruments, follow Connect an Instrument.
Differences on Windows
intelis interface setupdoes not exist on Windows. Where the guide offers it, use its steps for doing the same work by hand.- Create the
interfacingdatabase by importingC:\wamp64\www\vlsm\sql\interface-init.sqlin phpMyAdmin. - Run the guide's SQL in phpMyAdmin's SQL tab.
- Edit
C:\wamp64\www\vlsm\configs\config.production.phpinstead of the Ubuntu path. - Skip the Ubuntu-only commands:
nano,setfacl,ufwandsystemctl.