Note: I did all of this as user root. Also, I was typing an octothorpe to show linux commands but it took those out and formatted them in big and bold so I replaced them with two colons ::
Apache2 and PHP were already installed on my server. Had to install MySQL and a few required packages for PHP.
:: apt-get install mysql-server
:: apt-get install php-cli php-zmq php-curl
:: apt-get install php-soap php-gd php-mcrypt php-zip
Download and unpack Xibo.
:: wget https://github.com/xibosignage/xibo-cms/releases/download/1.8.11/xibo-cms-1.8.11.tar.gz
:: tar xzf xibo-cms-1.8.11.tar.gz
:: mv xibo-cms-1.8.11 /
:: vi /etc/apache2/sites-enabled/000-default.conf
Change DocumentRoot to /xibo-cms-1.8.11/web, write the file, and quit vim.
:: vi /etc/apache2/apache2.conf
Change <Directory /var/www/> to <Directory /xibo-cms-1.8.11/web/>, write the file and quit vim.
Change owner of files to www-data
:: chown www-data.www-data -R /xibo-cms-1.8.11/
:: vi /etc/php/7.0/apache2/php.ini
Change post_max_size and upload_max_filesize to equal 128M, change max_execution_time to 120, write the file, and quit vim.
:: systemctl restart apache2.service
Open a browser and go to http://localhost. The installer should have checkboxes under Status for all Items. If not, correct those by installing the necessary parts before continuing.
Click to go to the next screen.
Set up your database. This is a completely fresh install of MySQL, so create users and set a root password first.
:: mysql -u root
USE mysql;
GRANT ALL on . TO ‘xibouser’@‘locahost’ IDENTIFIED BY ‘xibopassword’;
CREATE DATABASE xibodata;
(Feel free to make your MySQL options more restrictive, of course).
Add those values to the field on the database screen (localhost, xibodata, xibouser, xibopassword).
Click to go to the next screen.
Admin username: xiboadmin
Admin password: xiboadminpassword
Click to go to the next screen.
Need an image folder so we’ll create one in the terminal.
:: mkdir /xibo-cms-1.8.11/images
:: chown www-data.www-data /xibo-cms-1.8.11/images
Then use that directory for “Library Location.”
That’s it!