Xibo windows server 2012


Is it possible to install the latest version on windows 2012 R2 server? I have a problem with windows 10 / docker. If y reboot windows, docker starts up, xibo interface not. If y run the command docker-compose up -d, it works. If y reboot, it works not.

Best regards

Yes, there is a good procedure on how to do this. Also, make sure you patch the bad php code in the 2.0.1 files as I noted in an earlier post before initiating the final installation.

My notes:

XIBO 2.0 Manual Software Installation Guide
This guide will explain every step for installing Xibo 2.0.x on IIS 8 on WINDOWS SERVER 2012 r2 Standard 64Bit. Reference Xibo document from site: https://xibo.org.uk/docs/setup/xibo-on-a-web-server
Xibo Server requirements:
• MySQL 5.6 or 5.7 (only)
• A web server (iis)
• PHP 5.6+ (Recommend PHP7.2)
• PHP-CLI 5.6+ (Recommend PHP7.2)
• PHP PHAR support
• ZeroMQ bindings for PHP
• URL Rewriting
• Virtual Hosts or dedicated web server (modify DocumentRoot)
• CRON/Scheduled Tasks https://xibo.org.uk/docs/setup/xtr-routine-tasks
Confirm that all required server Settings and Features are enabled

If you were using IIS 10, the PHP manager will not recognize the IIS 10 as the IIS 8 and earlier is the only PHP supported version. You will need to use the one compiled from this link.


Install Microsoft Web Platform Installer from Windows
Download and install x64 installer
After installation is complete - Launch the new application
Click on the “Products” tab
Add the following Products:
URL Rewrite 2.1
MySQL Windows 5.1
MySQL Connector/Net
PHP 5.6
Windows Cache Extension 2.0 for PHP 7.2 in IIS Express (may not need this)
.NET 4.5 for Windows 8
.NET 3.5 for Windows 8
PHP Manager for IIS (only works if IIS is not version 10)

Click Finish & Exit


Mysql 5.6 or 5.7 download from community and install
I setup the SQL server as a Server type role
Root account password is: Xiborootpassword
Important: CMS Installation fails against MySQL 5.7
Edit the “my-default.ini” file located in the mysql installation folder
Remove “STRICT_TRANS_TABLES” from sql-mode
Or do this if error occurs during Xibo installation try changing it to:

Launch “Files and Folders” and perform the following:

In this Manual web site is: Default Web Site you can use which you want in IIS
Extract all Xibo CMS Files to C:\PHP_FILES - And Give Permission for IUSR and IIS_IUSR

Apply the bug fixes manually (or wait for release Xibo CMS 2.0.2) which I did and it worked for fresh installation and migration (with some additional minor changes).Ignore the docker file as it won’t be used in this type of Windows installation.

Failure to make these changes may result in having this error during the final installation:

SQLSTATE[220001] String data, right truncated:

Create directory for your Library Files C:\XIBO_LIB - And Give Permission for IUSR and IIS_IUSR

IIS Settings
Launch IIS Manager
Default Web Site -> Basic Settings-Change Physical path to your XiboFiles folder in this manual C:\PHP_FILES\web

Default Web Site-> Request Filtering
Edit Feature Settings…
Set Maximum Query String (Bytes) to 4096 (otherwise you will get datatables.ajax error)
Set Maximum allowed content length (Bytes) (3000000 to 30000000) (Add one more zero)

Default Web Site->URLRewrite
Import Rules
Browse the Configuration files and import the .htaccess file in C:\PHP_FILES\web
Click “Import”
(remove the problem line and import by placing a “#” comment in the front of the code)
Click on “Apply” to make changes

Default Web Site->MimeTypes -> Add (.woff = font/x-woff ) If missing
Default Web Site-> MimeTypes -> Add (.woff2 = font/woff2 ) If missing

Default Web Site->Default Document
Move to the top of the list “index.php”

Default Web Site->PHP Manager-Select Checkbox If Not optimal PHP configuration detected-View recommendations
Default document <===== *** This should not be an issue if step performed above is done ***
monitorChangesTo (otherwise you will get HTTP 500 error when start install.php)

Default Web Site->Handler Mappings
Edit PHP_via_FastCGI
Click on “Request Restrictions”
Select Verbs tab and choose “All verbs”. (Otherwise you will get HTTP 405 error when try to save a setting in portal)
IMPORTANT: You need the double quotes for start and end of the line of php.exe path, othervise windows won’t let you save the setting for Handler Mappings for Php)

Default Web Site->PHP Manager
Edit Configuration file: PHP.ini (DefaultWebSite-Php Manager-Php.ini)

Add line in [PHP] section:

Change other lines as below in PHP.ini;

SMTP = yourdomain.com
smtp_port = 25
sendmail_from =xibo@yourdomain.com
mail.add_x_header = On

Now save the file and close notepad

Skip this SMTP setup as not required so skip down to ZeroMq section

Sending Mail in PHP (If your environment doesn’t have a SMTP server)
Xibo uses PHPMail to connect your local SMTP Server Application but PHPMail cannot send directy from itself. You need a 3rd party smtp server for sending mail from php.
I am using sendmail.exe
Download and extract all sendmail files to a folder ex.C:\Sendmail

modify files as below;
sendmail.ini (samples for office 365mail setting, use your smtp provider setting)

error_logfile=error.log (it creates a text file in sendmail folder to track errors.)
debug_logfile=debug.log (it creates a text file in sendmail folder to track errors.)
auth_password=password of your email

You also need to modify PHP.ini for your mail settings;
[mail function]
sendmail_path =“C:\sendmail\sendmail.exe”

No Need to install Any Seperate Server for Zero Mq

Php Xmr Settings
Download zero mq package from php.net 91 (this is PHP 5.6 and must be x86 even in x64 Windows)


http://windows.php.net/downloads/pecl/releases/zmq/1.1.2/php_zmq-1.1.2-5.6-nts-vc11-x86.zip 387

copy php_zmq.dll to your ext folder in PHP installation (ex. C:\Program Files (x86)\PHP\v5.6\ext)
copy libzmq.dll to your PHP installation folder (ex. C:\Program Files (x86)\PHP\v5.6)

If your package is wrong you could get error. You can check from Windows Event Viewer-Application Logs (PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\Program Files (x86)\PHP\v5.6\ext\php_zmq.dll’ - The specified module could not be found.)

Modify php.ini


Xibo Cms Side

Copy from C:\PHP_FILES\vendor\xibosignage\xibo-xmr
or Create new file as the below content
config.json content:

“listenOn”: “tcp://”,
“pubOn”: [“tcp://yourip:9505”, “tcp://yourip:50002”],
“debug”: true

copy the file in to C:\PHP_FILES\vendor\bin folder.
in same folder open command prompt (Pressing Shift and right mouse key and select Open Command prompt from here)

run the command: iisreset
run the command: php xmr.phar
you will get debug console with information on xmr events
if everything is correct you will get a screen like this

C:\PHP_FILES\vendor\bin>php xmr.phar
[2017-05-04 22:13:19] xmr.INFO: Starting up - listening for CMS on tcp:// [] []
[2017-05-04 22:13:19] xmr.INFO: Bind to tcp://yourip:9505 for Publish. [] []
[2017-05-04 22:13:19] xmr.INFO: Bind to tcp://yourip:50002 for Publish. [] []
[2017-05-04 22:13:49] xmr.DEBUG: Heartbeat… [] []
[2017-05-04 22:14:19] xmr.DEBUG: Heartbeat… [] []
[2017-05-04 22:14:49] xmr.DEBUG: Heartbeat… [] []
[2017-05-04 22:15:19] xmr.DEBUG: Heartbeat… [] []
Note: Dont forget to run “php xmr.phar” command when you restart your server

CMS Settings for Zeromq
Settings-Displays-XMR Private Address: tcp://
Settings-Displays-XMR Public Address: tcp://x.x.x.x:9505
Displays-Display Setting for your display group-Edit-XMR Public Address:tcp://x.x.x.x:9505
After players get those settings you will see XMR Status: Connected (tcp://x.x.x.x:9505, last activity 04.05.2017 12:23:22) It will update every 30 seconds


(In 2.0.0 or later upgrading the CMS can be done by your web server administrator from the terminal. In versions earlier than 2.0.0 upgrading is completed in a wizard and can be done by the CMS administrator).
Please check the release notes for the version you want to upgrade to before starting the upgrade.
You should always take a backup before upgrading your CMS Installation.
• If upgrading to 1.8 series, ensure your environment meets the requirements for installation. If it does not then correct that before continuing.
• Backup settings.php from your installation (found in web/settings.php )
• Manually take a backup of your database
• Replace your existing installation with the new version from the tar.gz or zip file. Do not copy over the top.
• Add security access to new installation files for users IUSR & IIS_IUSRS (exclude “Full Control” &“Special Access”)
• Removing STRICT_TRANS_TABLES from sql-mode
• Browse to http://localhost/ as confirm all setting pass
If any issues are encountered - resolve them before proceeding.
• Replace your backup settings.php file in your Xibo installation directory
• Close browser
• Open a command terminal
• cd into your installation folder C:\PHP_FILES
• Run this command: php vendor\bin\phinx migrate -c phinx.php

If there isn’t any verbose conversion data showing do this.
I was successful with following these steps. Upgrading to xibo v2, unable to do database migrations
Here is how:

  1. Copy folder “app” from “vendor\robmorgan\phinx” to “vendor\bin”
  2. Copy folder “src” from “vendor\robmorgan\phinx” to “vendor\bin\app”
  3. In folder “vendor\bin” using Notepad edit file “phinx”:
    change line
    $app = require DIR . ‘/…/app/phinx.php’; to be this $app = require DIR . ‘/app/phinx.php’;
  4. In folder “vendor\bin\app” using Notepad edit file “phinx.php”:
    change line
    $autoloader = require DIR . ‘/…/src/composer_autoloader.php’; to be this $autoloader = require DIR . ‘/src/composer_autoloader.php’;
  5. change directory to C:\PHP_FILES\

Run this command: php vendor\bin\phinx migrate -c phinx.php
Couple of seconds later, migration is complete and I can login to my Xibo.
Now Xibo 2.0.x is running with PHP 5.6


launch browser and connect to your ip address: http://localhost

confirm all checks are good and start installation

I had to clean up some cut&paste issues from my notes as this was done over serveral edit changes.

It should be good to go now


Thank you! Almost everything works, y get only 1 error in the zeroms module?

PHP Fatal error: Uncaught InvalidArgumentException: Cannot decode config file Syntax error config string is [{
“listenOn”: “tcp://”,
“pubOn”: [“tcp://yourip:9505”, “tcp://yourip:50002”],
“debug”: true
}] in phar://C:/PHP_FILES/vendor/bin/xmr.phar/index.php:37
Stack trace:
#0 C:\PHP_FILES\vendor\bin\xmr.phar(10): require()
#1 {main}
thrown in phar://C:/PHP_FILES/vendor/bin/xmr.phar/index.php on line 37

Did you change the code where it says “yourip” to the actual IP address of your server?

I would also recommend that you get the “myPHPadmin” utility and dump it into your web environment to help manage your SQL database. It is very simple to do so if you need help let me know.


Thanks for the help. Now this works, the cms create a new database and y get this error

The CMS has already been installed. Please contact your system administrator.

#0 [internal function]: {closure}() #1 C:\PHP_FILES\vendor\slim\slim\Slim\Route.php(468): call_user_func_array(Object(Closure), Array) #2 C:\PHP_FILES\vendor\slim\slim\Slim\Slim.php(1355): Slim\Route->dispatch() #3 C:\PHP_FILES\vendor\slim\slim\Slim\Middleware\Flash.php(85): Slim\Slim->call() #4 C:\PHP_FILES\vendor\slim\slim\Slim\Middleware\MethodOverride.php(92): Slim\Middleware\Flash->call() #5 C:\PHP_FILES\vendor\slim\slim\Slim\Slim.php(1300): Slim\Middleware\MethodOverride->call() #6 C:\PHP_FILES\web\install\index.php(134): Slim\Slim->run() #7 {main}


I try to reset everything now y get this error

Fatal Error - sorry this shouldn’t happen. SQLSTATE[HY000] [1049] Unknown database ‘xibovoeren’

SQLSTATE[HY000]: General error: 1364 Field ‘exceptions’ doesn’t have a default value

[2019-05-12 18:36:19] INSTALL.INFO: Installer Step 1 [] {“uid”:“bd03301”,“method”:“GET”,“route”:"/"}
[2019-05-12 18:36:41] INSTALL.INFO: Installer Step 1 [] {“uid”:“537a56e”,“method”:“GET”,“route”:"/"}
[2019-05-12 18:36:44] INSTALL.INFO: Installer Step 2 [] {“uid”:“9efedba”,“method”:“GET”,“route”:"/2"}
[2019-05-12 18:37:01] INSTALL.INFO: Installer Step 3 [] {“uid”:“f65b634”,“method”:“POST”,“route”:"/3"}
[2019-05-12 18:37:01] INSTALL.INFO: Setting unlimited max execution time. [] {“uid”:“f65b634”,“method”:“POST”,“route”:"/3"}
[2019-05-12 18:40:59] INSTALL.INFO: Installer Step 3 [] {“uid”:“558cb6f”,“method”:“POST”,“route”:"/3"}
[2019-05-12 18:42:01] INSTALL.INFO: Installer Step 1 [] {“uid”:“7bb19d5”,“method”:“GET”,“route”:"/"}


Y have reading problems with 2.1 installation. Y have do all fixes. Now the installation works till the end. Now the login screen say:


Unexpected Error, please contact support.

SQL 5.6.44

Did you apply the patches to those four files I referenced above on the link? If you didn’t make those changes you will get that error.


I did many changes, y think yes. Have you any idea where y must search?


Can you check the “.php” files within this link and see if you changed the code in red to look like the green line? You may need to scroll the window to the right as the line is not able to display within a small window.


once you’ve done that, you will need to redo the installation. My suggestion is that you start again with a fresh db installation and use another fresh copy of your CMS installation files (with the modified php changes)


I have done that 3 times. Version 1.8 works

Wait for 2.0.2 to be released then and that should have all the necessary patches rolled in and should be good to go.

Ok, you now the release date?


The server is up and running. Now y get one error if y want add a display

syntax error, unexpected ‘catch’ (T_CATCH)

Best regards