Welcome to Centmin Mod Community
Register Now

How To Beta Test Centmin Mod On AlmaLinux 8 & Rocky Linux 8 OSes

Discussion in 'AlmaLinux 8 & Rocky Linux 8 Beta Testing' started by eva2000, Sep 21, 2022.

Thread Status:
Not open for further replies.
  1. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    This forum was created to discuss Centmin Mod's public beta testing for AlmaLinux 8 and RockyLinux 8 (EL8) compatibility support. All beta testing will be done on Centmin Mod 130.00beta01 version via an EL8 specific installer only - installer-el8x.sh (outlined below). The regular installers will NOT work with EL8.

    Example AlmaLinux 8 install of Centmin Mod 130.00beta01 on DigitalOcean droplet VPS server.

    Background Information:
    1. Centmin Mod EL8 installs will default to GCC 11.2 for compilation routines instead of the current Centmin Mod 130.00beta01 default for GCC 10.2 and EL8 system default GCC 8.5
    2. Centmin Mod EL8 installs will default to PHP 8.0.x installation (PHP-FPM). EL9 OS will default to a minimum PHP 8.1.x version and PHP versions below PHP 8.1 won't work right now with EL9 OSes. If you need PHP 7.4 to 8.0 then stick with EL8 OSes like Alma Linux 8 or Rocky Linux 8. However, as of October 26, 2023, the latest Centmin Mod 130.00beta01 for EL9 now has backport patched PHP 7.4 and PHP 8.0 in EL9 to work with OpenSSL 3.x.
    3. Centmin Mod EL8 installs as at September 27, 2022 onwards (in private beta testing), will switch from official MariaDB YUM repo provided MariaDB 10.3 which has support ending May 2023 to native EL8 Appstream module provided MariaDB 10.3 version which has extended support until May 2029. Update: Centmin Mod EL8 now defaults to MariaDB 10.4.
    4. The installer-el8x.sh sets by default certain persistent config variables in /etc/centminmod/custom_config.inc for EL8 installs right now. They're for the following:
      Code (Text):
      CENTOS_ALPHATEST='y'
      NGINX_VERSION='1.25.3'
      NGINX_ONETWOTHREE_COMPAT='y'
      DEVTOOLSETTEN='n'
      DEVTOOLSETELEVEN='y'
      SELFSIGNEDSSL_ECDSA='y'
      PHPFINFO='y'
      
      You maybe also have MARCH_TARGETNATIVE='n' depending on your web host i.e. Linode, Vultr, Hetzner, Upcloud will. There's also an edge installer for newer and other features enabled by default outlined here.
    5. You may notice install times posted at https://community.centminmod.com/threads/post-your-130-00beta01-el8-install-times.23265/ being slightly longer than CentOS 7 equivalents due to both PHP 8.x being default installed version instead of PHP 7.4. But also because PHPFINFO='y' is force enabled to enable PHP info extension which takes longer to compile and uses more memory. As EL8+ memory requirements are higher than CentOS 7, it makes sense to enable PHP info extension by default as the system will more likely have the required memory amount installed.
    Minimum System Requirements:
    1. For AlmaLinux & Rocky Linux 8, the minimum system requirements are 1GB memory and 20GB disk. Recommended system requirements are at least 2GB memory and 40GB disk.
    2. For Centmin Mod on AlmaLinux & Rocky Linux 8, the minimum system requirements are 2GB memory + 4GB swap disk and 40GB disk. using a swap disk when there's no enough memory will still allow Centmin Mod to operate just it will be a lot slower - as slow as the swap disk's underlying disk performance. Recommended system requirements are at least 4GB memory + 4GB swap disk and 60GB disk. If you plan to install any type of Linux anti-malware/virus scanning software, you would want to add at least another 1-4GB of memory on top of those requirements. The optimal CPU core/threads is between 2-4. Though 1 CPU core is fine. The more CPU cores/threads, the faster the Centmin Mod source compiled routines will complete and the more concurrent workloads your server stack will generally be able to handle.
    Beta Testing Notes:
    1. Please DO beta testing on a test server and not your live production website(s). There are no guarantees that non-reversible bugs may arise and the only remedy is to delete the test server and start over. You can use hourly billed VPS providers that offer AlmaLinux 8 or Rocky Linux 8 OSes for a quick few hours or days or testing at a relatively affordable price. I recommend the following providers - referral links at Upcloud, Linode, DigitalOcean, Hetzner and Vultr. You can use whichever web host you want, which allows you to expand the beta testing scope further :)
    2. This is NOT for AlmaLinux 9 or Rocky Linux 9 (EL9) yet. Only for AlmaLinux 8 and RockyLinux 8 (EL8) compatibility support.
    3. The public EL8 worklog still applies where it's relevant at https://community.centminmod.com/threads/centmin-mod-centos-8-compatibility-worklog.18372/
    4. Only Centmin Mod 130.00beta01 version supports EL8 installations. You will not be able to install Centmin Mod 124.00stable or no longer supported 123.09beta01 on EL8 OSes like AlmaLinux 8 or Rocky Linux 8
    5. Centmin Mod 130.00beta01 on EL8 OSes is not yet production live site ready and is currently in beta testing. Your beta testing feedback and bug reporting will help make it ready for production live usage :)
    Centmin Mod 130.00beta01 Install For EL8 OS:

    To install Centmin Mod 130.00beta01 on EL8 OSes, you will use this specific installer - installer-el8x.sh during beta testing. Eventually, when out of beta, all installers will be updated to support EL8.

    If you want the install to survive your local ISP connection disconnecting you from your SSH session, you can use screen before running below installers.

    Install screen and start a new screen session called cminstall and allow for it to buffer up to 2 million lines in history scroll back buffer. Then run installer commands.
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    

    If you SSH session is disconnected for whatever reason, the install run will continue and when you log back into SSH session, just run

    To restore screen session named cminstall
    Code (Text):
    screen -r cminstall
    

    If the screen session is still attached, run
    Code (Text):
    screen -r -d cminstall
    

    To list all your screen sessions
    Code (Text):
    screen -ls

    If within a screen session, you want to check if you're in a screen session, you can check via command below which will output the screen session name you're currently in
    Code (Text):
    echo $STY


    Centmin Mod 130.00beta01 EL8 Installers



    Default PHP 8.0
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x.sh -o installer-el8x.sh; bash installer-el8x.sh
    


    Default PHP 8.1
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-81.sh -o installer-el8x-81.sh; bash installer-el8x-81.sh
    

    There's also an edge installer based on PHP 8.1 below here.

    Default PHP 8.2
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-82.sh -o installer-el8x-82.sh; bash installer-el8x-82.sh
    


    Default PHP 7.4
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-74.sh -o installer-el8x-74.sh; bash installer-el8x-74.sh
    


    Additional installers for MariaDB 10.4/10.5/10.6 default as referenced at https://community.centminmod.com/threads/mariadb-10-4-upgrades-testing.23277/#post-96145


    MariaDB 10.4 default with PHP 8.0 default
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-mariadb10.4.sh -o installer-el8x-mariadb10.4.sh; bash installer-el8x-mariadb10.4.sh
    

    MariaDB 10.5 default with PHP 8.0 default
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-mariadb10.5.sh -o installer-el8x-mariadb10.5.sh; bash installer-el8x-mariadb10.5.sh
    

    MariaDB 10.6 default with PHP 8.0 default
    Code (Text):
    yum -y update
    yum -y install epel-release
    yum -y install screen
    screen -S cminstall -h 2000000
    curl -4sL https://centminmod.com/installer-el8x-mariadb10.6.sh -o installer-el8x-mariadb10.6.sh; bash installer-el8x-mariadb10.6.sh
    
     
    Last edited: Nov 28, 2023
  2. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
  3. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
  4. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
  5. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Revised background info in 1st post switching EL8 MariaDB 10.3 to EL8 native Appstream module provided version.
    1. Centmin Mod EL8 installs will default to GCC 11.2 for compilation routines instead of the current Centmin Mod 130.00beta01 default for GCC 10.2 and EL8 system default GCC 8.5
    2. Centmin Mod EL8 installs will default to PHP 8.0.x installation (PHP-FPM)
    3. Centmin Mod EL8 installs as of September 27, 2022, onwards (in private beta testing), will switch from the official MariaDB YUM repo provided MariaDB 10.3 which has support ending May 2023 to the native EL8 Appstream module provided MariaDB 10.3 version which has extended support until May 2029
    Note that native EL8 Appstream MariaDB 10.3's YUM package names are different from the official MariaDB YUM repo's YUM package names.

    EL8 Appstream MariaDB 10.3's YUM package name
    Code (Text):
    rpm -qa mariadb*
    mariadb-server-utils-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-connector-c-3.1.11-2.el8_3.x86_64
    mariadb-errmsg-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-server-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-backup-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-gssapi-server-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    mariadb-connector-c-config-3.1.11-2.el8_3.noarch
    mariadb-common-10.3.35-1.module_el8.6.0+3265+230ed96b.x86_64
    

    official MariaDB YUM repo's YUM package names
    Code (Text):
    rpm -qa MariaDB*
    MariaDB-devel-10.3.36-1.el8.x86_64
    MariaDB-shared-10.3.36-1.el8.x86_64
    MariaDB-server-10.3.36-1.el8.x86_64
    MariaDB-client-10.3.36-1.el8.x86_64
    MariaDB-common-10.3.36-1.el8.x86_64
    


    No longer applicable as switched to MariaDB 10.4 now.
     
    Last edited: Sep 27, 2022
  6. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Added a new separate edge installer for EL8 with PHP 8.1 default and more optional features enabled at initial install time to see how it goes for my own usage.

    For installer-el8x-81-edge.sh install without Mold linker
    Code (Text):
    yum -y update
    curl -4sL https://centminmod.com/installer-el8x-81-edge.sh -o installer-el8x-81-edge.sh; bash installer-el8x-81-edge.sh
    

    For installer-el8x-81-edge-mold.sh install with Mold linker
    Code (Text):
    yum -y update
    curl -4sL https://centminmod.com/installer-el8x-81-edge-mold.sh -o installer-el8x-81-edge-mold.sh; bash installer-el8x-81-edge-mold.sh
    


    With setup persistent config file at /etc/centminmod/custom_config.inc defaults below switching from GCC 11 to GCC 12 compiler and enabling additional features and defaulting to Nginx compiles with OpenSSL 3.1.0 instead of OpenSSL 1.1.1 and using with or without Mold linker for Nginx (and OpenSSL) and PHP-FPM and also enable MariaDB major upgrade options for 10.4, 10.5 and 10.6 so need to set them.
    Code (Text):
    NGINX_VERSION='1.24.0'
    NGINX_ONETWOTHREE_COMPAT='y'
    DEVTOOLSETTEN='n'
    DEVTOOLSETELEVEN='n'
    DEVTOOLSETTWELVE='y'
    SELFSIGNEDSSL_ECDSA='y'
    PHPFINFO='y'
    DMOTD_PHPCHECK='y'
    NGINX_GEOIPTWOLITE='y'
    NGXDYNAMIC_GEOIPTWOLITE='y'
    NGINX_HPACK='y'
    NGINX_DYNAMICTLS='y'
    NGINX_PCRE_TWO='y'
    OPENSSL_VERSION='3.1.0'
    OPENSSL_VERSIONFALLBACK='3.1.0'
    OPENSSL_VERSION_OLDOVERRIDE='3.1.0'
    NGX_LDMOLD='y'
    PHP_LDMOLD='y'
    NGINX_NJS='y'
    NGXDYNAMIC_NJS='y'
    NGXDYNAMIC_BROTLI='y'
    NGINX_LIBBROTLI='y'
    NGINX_VIDEO='y'
    ENABLE_MARIADBTENFOURUPGRADE='y'
    ENABLE_MARIADBTENFIVEUPGRADE='y'
    ENABLE_MARIADBTENSIXUPGRADE='y'
    

    With Mold linker will enable
    Code (Text):
    NGX_LDMOLD='y'
    PHP_LDMOLD='y'
    
     
    Last edited: Apr 15, 2023
  7. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Been working on Centmin Mod's Github automated workflow testing :cool:

    cmm-github-workflow-status-badges-00.png
     
  8. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Sharing some of the behind the scenes work I've been doing on Centmin Mod's EL8/EL9 compatibility testing using Github Workflow automated actions. The testing now allows me to do 100s of automated tests installing Centmin Mod 130.00beta01's private EL8/EL9 compatible installer on AlmaLinux 8/9, RockyLinux 8/9 and Oracle Linux 8/9 and has already helped me find and fix quite a few EL8/EL9 related bugs for Centmin Mod :D

    I posted some automated testing screenshots for one test which installs Centmin Mod on AlmaLinux 8, RockyLinux 8 and Oracle Linux 8 concurrently on 3 servers and runs through a whole suite of tests for various Centmin Mod features - including centmin.sh menu option 4 and 5 routines for compiling Nginx with OpenSSL 1.1.1, OpenSSL 3.0, BoringSSQL, QuicTLS and also compiling PHP 8.0, 8.1, 8.2 and 8.3 :D

    Some of the automated testing done for AlmaLinux 8 part shown below. For the rest check out https://community.centminmod.com/media/albums/centmin-mod-el8-el9-automated-tests.21/. These extensive automated tests will help me speed up EL8/EL9 compatibility testing and development for Centmin Mod - allowing to properly test 3 different OSes for AlmaLinux, RockyLinux and OracleLinux :)

    [​IMG] [​IMG]

    Example for automated testing on Nginx built with OpenSSL 3.0 - soon to be the default for Centmin Mod 130.00beta01 as OpenSSL 1.1.1 is EOL ;)

    [​IMG]
     
  9. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
  10. eva2000

    eva2000 Administrator Staff Member

    53,554
    12,135
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,678
    Local Time:
    1:07 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
Thread Status:
Not open for further replies.