XIBO cms 2.2.0 on CentOS 7.7 installation guide

Last Update 06 Dec 2019

Just want to share, I’ve installed XIBO cms 2.2.0 on CentOS 7.7.1908 (Core), I read a tutorial based on Almond Wong’s Tutorial guide, I’ve modified it as exactly it’s installed succeed.

#I just finished the install. Hope can save someone’s time. Please feel free to modify, amend and comment.

#Install CentOS minimal. I use CentOS-7-x86_64-minimal-1908

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --enable remi-php72

#edit /etc/sysconfig/selinux

yum -y install net-tools
yum -y install wget
yum -y install mlocate
yum -y install httpd
systemctl enable httpd
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=9505/tcp
firewall-cmd --permanent --add-port=50001/tcp
firewall-cmd --reload

#PHP 7.2
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y php php-opcache php-common
yum install -y php-pear
yum install -y php-devel php-intl php-soap php-mcrypt json
yum install -y php-pdo php-gd
yum install -y php-mysql
yum install -y php-mbstring
yum install -y php-zip
yum install -y php-zmq
yum -y update

#Install MariaDB
yum -y install mariadb-server
systemctl enable mariadb
systemctl start mariadb

yum -y group install “Development Tools”

#Extract cms to /var/www/xibo-cms-2.2.0

#Edit /etc/httpd/conf/httpd.conf change
DocumentRoot “/var/www/xibo-cms-2.2.0/web”
<Directory “/var/www/xibo-cms-2.2.0/web”>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
‘</Directory’> --> without quote

chown -R apache:apache /var/www/xibo-cms-2.2.0

#create file /var/www/xibo-cms-2.2.0/vendor/bin/config.json

“listenOn”: “tcp://localhost:50001”,
“pubOn”: [“tcp://”],
“debug”: false

#copy /var/www/xibo-cms-2.2.0/vendor/bin/config.json to /var/www/xibo-cms-2.2.0/vendor/xibosignage/xibo-xmr/bin/config.json

crontab -u apache -e
‘* * * * * /usr/bin/php /var/www/xibo-cms-2.2.0/bin/xtr.php’ (please add without quote)

#Edit /etc/php.ini
max_execution_time = 120
memory_limit = 256M
post_max_size = 256M
upload_max_filesize = 256M
date.timezone = TIME_ZONE (your timezone)

systemctl restart httpd or reboot if needed

#open browser


1 Like

Thank you for your contribution. I’m afraid there’s a few issues though.

The minimum version of PHP required for Xibo 2.2.0 is PHP 7.0.8 - and ideally 7.2.

2.2.0 release will install on PHP 5.6 but that’s a bug and that was addressed in 2.2.1.

XTR needs to be run as the user that your webserver runs as. Running it as root will cause issues with file permissions in the library and the cache.

I don’t see where you’re running the XMR server. You’ve configured it in there, but you never set it running as a service so that won’t work as it stands either.

I don’t see that you allow port 9505/tcp through the firewall anywhere so when you do have XMR running, nothing will be able to connect to it.

1 Like

Hi @alex thank you for explaination, yes I copied the guide based on Xibo 1.8 and Centos 7.2, and it works with Xibo 2.2.0 on Centos 7.7 but now it’s like Light in darkness :slight_smile: for some bugs I found, yes there’s some bugs with PHP 5.6 i will try to upgrade it as your suggest PHP 7.2 and doing running some services and firewall stuff… I will update the results then

Hi, just a quick information on an issue that I found. I’m currently trying to get the xmr service to work(just installed the cms with the help of your guide @granmahakam). The double quotes (") in the xmr config.json are not the correct ones, therefore you get a syntax error when you try to run xmr.
You can get the correct ones on this page:


Hi J.K
Thank you for your information, indeed the double quotes is not correct, i try to correct it but it’s auto generate quotes from the web editor… thankyou for the shared link you mentioned for the correct double quotes in the xmr config.json…