When I spied a recent budget line for Industry Weapon, a digital signage company, I was surprised at how much we paid. We have tweleve or so digital signs running on various models of Cisco DMPs and it all adds up to quite a bit. Xibo is an open-source digital signage solution I'd seen recommended around reddit.com/r/sysadmin so I figured I'd give it a shot.I did not find the various guides, link or winlink, very helpful. Neither was complete or easily followed for me and it ended up at a dead end. So here is my attempt at a novice level guide (could I write anything other than a novice level guide?) for setting up Xibo in a Windows environment using IIS. I tried both Ubuntu with Apache and Windows Server 2016 with IIS; I'm a Next-pert so Windows was much easier for me in the end. Nearly our whole environment is Windows so if this ever was put into production it would be Windows so it could be managed by our team, powershell is too useful and no one here has any expertise in Linux.
Overview
- Install OS environment
- Install pre-requesites
- .Net Framework 3.5 and 4.X
- IIS
- PHP
- MySQL
- Xibo CMS
- Xibo Client
Install pre-requesites
a. Both .Net Framework 3.5 and 4.X are required. I had a
problem installing PHP Manager and it turned out PHP Manager requires .Net
Framework 3.5, Xibo requires 4.X and at the time of this writing 4.6.2 is the
version I installed.
b. IIS, ensure CGI under Application Development is
checked. I'm not 100% positive a restart is required after a. and b. but I
performed one anyway.
c. PHP v5.3.28 is what I ended up installing. v7 might
work, but it didn't on Ubuntu so when it came time to install on Windows I went
with the v5.3 that I saw others installing. In addition I had to set
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/Parameters/MajorVersion
to decimal value 8 in order for PHP Manager to install. You can revert it back to
10 after installation. (link http://stackoverflow.com/questions/21216228/php-
manager-for-iis-fails-to-install)
The following configuraiton of PHP was lifted from (link
http://xibo.org.uk/manual/en/install_environment_windows_iis.html ), I'm not sure
what much of this does but it's in their official documentation.
Ensure that the below values are correct in C:\Program
Files (x86)\PHP\v5.3\php.ini
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect=0
Set the following values to your desired specifications, I
set to 300 seconds and removed the ';', 256M, and 256M respectively.
max_execution_time
post_max_filesize
upload_max_filesize
Restart server after making the above configuration.
d. Download MySQL installer for Windows, install Server Only option.
Select Config Type Server Machine, check Named Pipe, Shared Memory and Show Advanced Options.
Enter in root account password.
Defaults on Windows Service tab is fine.
Defaults for Plugins and Extensions are fine
Check General Log and Bin Log in Advanced Options
Execute and finish installation. Restart server.
Xibo CMS
Download Xibo CMS .zip and extract it to C:\inetpub\wwwroot; rename the folder to just Xibo.
Open IIS and select Sites>Default Web Site>Xibo then Browse*:80 (http) on the right. After all of the configuration above I recieved
checkmarks on all pre-requesites for installation except for File System Permissions. An exclamation point for Internationalization was received, this was
not important for me. To resolve the File System Permissions I ran into a bit of
trouble but the solution ended up being very simple, give Modify permisions to
Users, or whichever user will be launching IIS.
Enter information about database
Create library, I used C:\XiboLibrary, give modify permissions to .\Users
You're done!