ToutSurTout.biz
Mise à jour de la version 2.2 vers la version 2.4 - Serveur Apache HTTP Version 2.4


https://httpd.apache.org/docs/2.4/fr/upgrading.html

Une liste des changements qui m'ont affecté lors du passage de Wheezy à Jessie et donc d'Apache httpd 2.2 à Apache 2.4 :

   * « NameVirtualHost has no effect and will be removed in the next release » : « La directive NameVirtualHost n'a plus aucun effet, si ce n'est l'émission d'un avertissement. Toute combinaison adresse/port apparaissant dans plusieurs serveurs virtuels est traitée implicitement comme un serveur virtuel basé sur le nom. ». J'ai donc simplement supprimée cette directive de configuration. Ça signifie également que la création de plusieurs VirtualHost TLS (reposant sur SNI) fonctionne désormais out-of-box ce qui représente un beau progrès.

   * « Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration » : « Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la directive unique Mutex. ». Voir https://askubuntu.com/questions/368515/ … e-to-start pour une directive de configuration de remplacement. Notons que c'est bien la même qui a été retenu dans la conf' par défaut chez Debian.

   * « Ignoring deprecated use of DefaultType in line NN of /path/to/httpd.conf - supprimez la directive DefaultType et remplacez-la par les directives de configuration appropriées. ». Cette ligne a simplement été supprimée de la config' par défaut chez Debian. J'en ai fait autant.

   * Chez Debian et Ubuntu, le nom des fichiers contenant les différents VirtualHosts doit terminer par « .conf » sinon ils sont ignorés, voir https://www.linode.com/docs/security/up … apache-2-4 . Il faut donc :
       * rm /etc/apache2/sites-enabled/*
       * cd /etc/apache2/sites-available
       * for vhost in 'ls'; do mv $vhost $vhost.conf; sudo a2ensite $vhost; done;
       * systemctl reload apache2

   * « Either all Options must start with + or -, or no Option may. ». En effet, j'avais des « SymLinksIfOwnerMatch » qui n'ont jamais posés de problèmes... Il suffit donc d'ajouter un « + » devant pour confirmer qu'on veut bien activer cette option. Voir https://serverfault.com/questions/64766 … option-may

   * Le mécanisme de contrôle d'accès change. Pour l'instant, la compatibilité est assurée mais il vaut bien se préparer en avance :
       * « Order deny,allow Deny from all » devient « Require all denied »

       * « Order allow,deny Allow from all » devient « Require all granted »

       * « Order Deny,Allow Deny from all Allow from <IP> » (très utile pour faire une maintenance peinard wink ) devient « Require all denied Require ip <IP> »

       * « Order Allow,Deny Deny from <IP> Allow from all » (très utile contre les pénibles wink ) devient
       « <RequireAll>
               Require all granted
               Require not ip <IP>
         </RequireAll>
   Voir https://httpd.apache.org/docs/2.4/fr/howto/access.html