Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

An installation wizard / script is available to install ProVision locally on Ubuntu 20 or Centos 7supported OSes.

Contact support for assistance and instructions. 

...


MinimumRecommended
ProcessorDual-core Xeon class processor or equivalent Quad-core Xeonprocessor
RAM4GB RAM8GB RAM
Storage20 GB100GB

...


RequiredLink
Operating SystemUbuntu 20.04 or Centos 7See List of Supported OSes
ApacheApache 2.4http://httpd.apache.org/
PHPPHP 8.0 / 8.1http://php.net/downloads.php
MySQLMySQL 8.x0http://www.mysql.com/downloads/

...

Some installations may require SSL support for using database connections like MySQL, MariaDB, Azure, etc.

To create server keys and and allow SSL database connections, expand the instructions below.

...

Expand
titleEnable SSL...

Follow the steps below to enable SSL for database connections:

 1) Install MySQL (MariaDB)

2) Generate, process, and sign server keys:

Code Block
languagebash
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
openssl req -newkey rsa:2048 -days 365000 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

 3) Make sure MySQL can read the keys:

Code Block
languagebash
chown mysql

4) Restart MySQL and check that SSL is enabled"

Code Block
languagebash
SHOW VARIABLES LIKE 'have_ssl';

5) Set the following constant in "[installation path]/globals.php":

Code Block
languagebash
define('DB_SSL_CA', '/etc/mysql/ssl/server-cert.pem');

6) If using self-signed certs, also set this constant

Code Block
languagebash
define('DB_SSL_VERIFY_CERT', FALSE);

7) To make sure Provision is using SSL, edit the permissions of the MySQL user account to require SSL. 



Troubleshooting:

Some potential errors and responses are listed below:


ErrorResponse
"Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user"

This means the server-cert is missing or incorrect. Check the cert and defined installation path in globals.php.

"Uncaught PDOException: failed loading cafile stream"

This means cert verification failed. Check permissions, or if using self-signed certs set 'DB_SSL_VERIFY_CERT' to FALSE in globals.php.

"Uncaught PDOException: PDO::__construct(): This stream does not support SSL/crypto"

This means the connection doesn't support SSL. Most likely because you are connecting over the local socket (i.e. the $db_host is set to localhost). Change it from localhost to 127.0.0.1 to connect over TCP/IP


...