The newest Python 3 version available in the CentOS package manager is Python3.6.8, but Workflows needs at least Python 3.11.1 to be fully functional, so we will neeed to install the package from the source code.
Firstly we must install the required libraries (some of them may be already installed and up-to-date):
sudo yum -y install epel-release
sudo yum install wget make cmake gcc bzip2-devel libffi-devel zlib-devel libcurl-devel python-devel openldap-devel
Next we manually mark the group "Development Tools" as installed:
sudo yum groups mark install "Development Tools"
We can check it with:
yum group list
And also see the packages included in the "Development Tools" group with:
yum group info "Development Tools"
Building Python3.11 requires openssl 1.1.1 or newer. The version provided in CentOS repositories is old, so we have to install it also from the source code.
We must download and extract the package, then navigate into the extracted folder:
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz
If we find trouble with the certificate validation we can skip it by adding:
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
tar xvf openssl-1.1.1t.tar.gz
cd openssl-1.1.1t
Before compiling we must configure the paths for openssl 1.1.1, such as:
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
Then we make the build:
make
sudo make install
Afterwards we download and extract the source package for python3.11.1:
wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tgz
tar xvf Python-3.11.1.tgz
Navigate into the extracted folder and configure the build:
./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl/lib" ./configure --with-openssl=/usr/local/openssl
make
sudo make install
Now we can check that Python3.11 has been installed, and that it loads properly the OpenSSL library version:
python3.11
>> import ssl
>> ssl.OPENSSL_VERSION
Finally, before Workflows installation, we must declare the environment variable adding to /home/mistika/.bashrc the lines:
export MISTIKA_PYTHON="/usr/local/"
export MISTIKA_PYTHON_BIN_DIR="/usr/
At this point we can continue with the installation of Mistika Workflows, just download the installer, make it executable, and run it (as normal user! NOT root)