Release v23.12.02 includes an update to the Apache2 server’s module and configuration to disable php8.1 and mpm_prefork and enable mpm_event and http2. Note: Submitty uses php8.1-fpm NOT php8.1.

  1. If you have load balancers and firewalls in front of the Apache server for Submitty, please make sure they support HTTP/2 redirections.

  2. Disable php8.1 and mpm_prefork:

    a2dismod php8.1 mpm_prefork
    
  3. Enable mpm_event and http2:

    a2enmod mpm_event http2
    
  4. If you are not already using TLS/SSL HTTPS encryption for Submitty, we strongly recommend enabling it. See System Administrator Installation Instructions.

  5. Review your current performance tuning for php-fpm.
    /etc/php/8.1/fpm/pool.d/submitty.conf
    

    You will probably not need to change these settings.

  6. With the switch from mpm_prefork to mpm_event, you will probably want to take any customization from this file:
    /etc/apache2/mods-available/mpm_prefork.conf
    

    And adapt it to this file:

    /etc/apache2/mods-available/mpm_event.conf
    
  7. Final check for Apache2’s configuration;
    apachectl -t
    
  8. Reload Apache2 to apply changes.

    sudo systemctl restart apache2.service
    sudo systemctl restart php8.1-fpm
    
  9. Run the update script.

    sudo /usr/local/submitty/.setup/INSTALL_SUBMITTY.sh
    

NOTE: If you need to downgrade from HTTP/2 back to HTTP/1.1 and re-enable mpm_prefork, please follow the steps below:

  1. Disable http2 and mpm_event:

    a2dismod http2 mpm_event
    
  2. Enable mpm_prefork:

    a2enmod mpm_prefork
    
  3. Alternatively, if the PHP does not use a fpm server, consider enabling php8.1 by a2enmod php8.1.