Gentics CMS Package – RedHat Enterprise Linux 8

1 Installation

1.1 MariaDB SQL Server Installation


  yum install mariadb-server
  service mariadb start
  systemctl enable mariadb.service

  # connect to the database server and change your rootpw
  mysql -u root -h localhost -P 3306
  # SET PASSWORD = PASSWORD('YOUR_NEW_ROOTPW');
  # FLUSH PRIVILEGES;

  cp ${PACKAGEDIR}/dist/mysql/gentics_custom.cnf /etc/my.cnf.d/

  # Restart the MariaDB Server
  service mariadb restart

1.2 Apache Webserver Installation


  yum update

  # Install various dependencies
  yum install httpd php php-cli php-mysqlnd php-gd php-posix php-ldap sed curl wget sudo php-mbstring php-json php-xml
  # Enable the httpd
  systemctl enable httpd.service

  # Change configuration order to enable correct handling of php extensions
  mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/015-php.conf

  # Add vhost configuration to /etc/httpd/conf.d/020-contentnode.conf
  cp ${PACKAGEDIR}/dist/rhel/020-contentnode.conf /etc/httpd/conf.d/

  # Set custom settings for php
  cp ${PACKAGEDIR}/dist/php/gtx_gcn_custom.ini /etc/php.d/
  chmod +r /etc/php.d/gtx_gcn_custom.ini
  # Set your timezone in the gtx_gcn_custom.ini (default: Europe/Vienna)

1.3 Configure SELinux

Currently SELinux is not fully supported. Please disable SELinux on your server. The features autoupdate and import/export will not work properly when selinux is enabled.

Edit the /etc/sysconfig/selinux file and set the SELINUX flag.


  # Disable SELinux
  SELINUX=disabled

Run:


  setenforce 0

1.4 Configure Firewall

Allow external access to port 80 for http (optionally)


  firewall-cmd --add-service http --permanent

1.5 Package Setup


  # Move package into place - This step must be omitted when doing a migration
  mv ${PACKAGEDIR}/Node /opt
  ln -s /opt/Node/ /Node

1.6 GraphicsMagick

GraphicsMagick is the replacement for ImageMagick.


  dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  dnf install GraphicsMagick

After installation, the CMS must be prepared to use GraphicsMagick instead of ImageMagick:

/Node/etc/conf.d/node.graphicsmagick.conf

<?php

// uncomment the following lines, when using GraphicsMagick instead of ImageMagick
$IM_IDENTIFY_PATH = "gm identify";
$IM_CONVERT_PATH  = "gm convert";

1.7 Java setup

OpenJDK 8:


yum install java-1.8.0-openjdk-devel
alternatives --config javac
alternatives --config java

Please verify that “java -version” prints the right Java version and that the command “jar” (part of JDK) exists in PATH.

1.8 Set the license key


  # Add your license key to /Node/etc/tomcat/gentics/license.key
  echo "1111-2222-3333-4444-5555-6666-7777-8888" > /Node/etc/tomcat/gentics/license.key

1.9 Filesystem permission setup


  # Creation of mandatory groups and permissions
  groupadd node
  useradd -d /Node -g node node
  usermod -a -G node apache
  usermod -G apache node
  /Node/dist_setperm.sh

  # Add this sudo rule to your sudoers file. This allows the apache to execute processes with the node user.
  echo 'Defaults:apache !requiretty' > /etc/sudoers.d/gtx_contentnode
  echo "apache  ALL=(node)NOPASSWD: ALL" >> /etc/sudoers.d/gtx_contentnode
  chmod 0440 /etc/sudoers.d/gtx_contentnode

  # Restart your apache
  service httpd restart

1.10 Database setup and package configuration

Run the following shell commands. Remove the -p option if there is no password set for the root user.


  # Setup the database
  echo "CREATE DATABASE node_utf8" | mysql -u root -p
  echo "GRANT ALL PRIVILEGES ON node_utf8.* TO 'node_cms'@'localhost' identified by 'YOUR_PASSWORD'" | mysql -u root -p
  mysql -u root -p node_utf8 < /Node/etc/dumps/node_utf8.sql

  echo "CREATE DATABASE contentrepository" | mysql -u root -p
  echo "GRANT ALL PRIVILEGES ON contentrepository.* TO 'node_cr'@'localhost' identified by 'YOUR_PASSWORD'" | mysql -u root -p
  mysql -u root -p contentrepository < /Node/etc/dumps/contentrepository.sql

  # Configure database settings
  # Edit the /Node/etc/conf.d/node.db.conf file and update the following settings.
  # $SETTINGS["server"] = "localhost:3306:/var/lib/mysql/mysql.sock";
  # $SETTINGS["login"] = "node_cms";
  # $SETTINGS["pw"] = "YOUR_PASSWORD";

  # Start the Tomcat
  /Node/bin/nodectl start

  # Add cronjob task for node user
  crontab -e -u node
  # * * * * *         /Node/bin/scheduler.sh >> /Node/node/log/scheduler.log 2>&1

You maybe also need to configure SSL properties in the $SETTINGS[“jdbcparameters”] setting. Read the MariaDB SSL documentation for more information.

1.11 Startup script


  cp ${PACKAGEDIR}/dist/rhel/genticscms.service  /etc/systemd/system/genticscms.service
  systemctl enable genticscms

1.12 Cleanup


  # Remove no longer needed files
  rm -rf ${PACKAGEDIR}

1.13 Login

A password for the node CMS user will be generated automatically. See: How can I set the password of the node CMS user?

1.14 Finalizing

Please also check the final recommendations and suggestions for additional information.