Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:apache2.4 [09-07-2025 20:36] – edmc73 | linux:apache2.4 [27-08-2025 08:53] (Version actuelle) – edmc73 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Apache 2.4 ====== | ====== Apache 2.4 ====== | ||
| + | |||
| + | Petite config d' | ||
| + | |||
| + | apt install libapache2-mod-fcgid | ||
| + | a2enmod actions fcgid alias proxy_fcgi | ||
| + | |||
| + | * **actions** est utilisé pour exécuter des scripts CGI sur la base de type de média ou de méthode de requête. | ||
| + | * **fcgid** est une alternative haute performance à mod_cgi qui démarre un nombre suffisant d’instances du programme CGI pour traiter des requêtes simultanées. | ||
| + | * **alias** permet le mappage des différentes parties du système de fichiers hôte dans l’arborescence du document, et la redirection des URL. | ||
| + | * **proxy_fcgi** permet à Apache de transmettre des requêtes à PHP-FPM. | ||
| Ligne 33: | Ligne 43: | ||
| Faites de même pour chaque site. | Faites de même pour chaque site. | ||
| + | ===== PHP-FPM ===== | ||
| Configurer des pools PHP-FPM séparés : | Configurer des pools PHP-FPM séparés : | ||
| Si vous utilisez PHP-FPM (ce qui est fortement recommandé pour cette configuration), | Si vous utilisez PHP-FPM (ce qui est fortement recommandé pour cette configuration), | ||
| Ligne 63: | Ligne 74: | ||
| Répétez cette configuration pour chaque site, en changeant [site1], user, group, listen et chdir en conséquence. | Répétez cette configuration pour chaque site, en changeant [site1], user, group, listen et chdir en conséquence. | ||
| - | Configurer votre serveur web (Nginx ou Apache) | + | |
| + | ===== Configurer votre serveur web (Nginx ou Apache) | ||
| Nginx : Pour chaque hôte virtuel (server block), configurez-le pour qu'il utilise le socket PHP-FPM du pool correspondant. | Nginx : Pour chaque hôte virtuel (server block), configurez-le pour qu'il utilise le socket PHP-FPM du pool correspondant. | ||
| Ligne 107: | Ligne 119: | ||
| </ | </ | ||
| - | < | + | < |
| SetHandler " | SetHandler " | ||
| </ | </ | ||
| Ligne 115: | Ligne 127: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | Exemple avec plusieurs version de php pour le même site en fonction du répertoire | ||
| + | < | ||
| + | < | ||
| + | ServerName monsite.com | ||
| + | DocumentRoot / | ||
| + | |||
| + | # Version par défaut pour toutes les URL (PHP 8.2) | ||
| + | < | ||
| + | SetHandler " | ||
| + | </ | ||
| + | |||
| + | # Utiliser PHP 7.4 pour toutes les requêtes vers /blog | ||
| + | < | ||
| + | SetHandler " | ||
| + | </ | ||
| + | |||
| + | # Utiliser PHP 8.0 pour toutes les requêtes vers /api | ||
| + | < | ||
| + | SetHandler " | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| Redémarrer les services : | Redémarrer les services : | ||
| Après toutes ces modifications, | Après toutes ces modifications, | ||
| Ligne 130: | Ligne 168: | ||
| Isolation des processus : Les processus PHP de chaque site sont isolés, ce qui améliore la stabilité. | Isolation des processus : Les processus PHP de chaque site sont isolés, ce qui améliore la stabilité. | ||
| - | Facilite la configuration de Postfix : Avec chaque site s' | + | ===== Postfix ===== |
| + | Facilite la configuration de Postfix : Avec chaque site s' | ||
| + | |||
| + | Configurer main.cf pour utiliser | ||
| + | |||
| + | Modifiez votre fichier / | ||
| + | < | ||
| + | # Pour réécrire l' | ||
| + | sender_canonical_maps = hash:/ | ||
| + | # Alternativement, | ||
| + | smtp_generic_maps = hash:/ | ||
| + | </ | ||
| + | sender_canonical_maps est généralement préféré pour les envois spécifiques de vos applications, | ||
| + | |||
| + | smtp_generic_maps peut aussi être utilisé, mais il est plus " | ||
| + | |||
| + | Créer les fichiers de mappage : | ||
| + | |||
| + | Pour sender_canonical_maps (recommandé) : | ||
| + | |||
| + | Créez un fichier / | ||
| + | < | ||
| + | # / | ||
| + | webuser1@yourserver.com | ||
| + | webuser2@yourserver.com | ||
| + | @site1.local | ||
| + | @site2.local | ||
| + | </ | ||
| + | Remplacez yourserver.com, | ||
| + | |||
| + | Pour smtp_generic_maps (alternative ou complément) : | ||
| + | |||
| + | Créez un fichier / | ||
| + | < | ||
| + | # / | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | Cette approche utilise des expressions régulières pour capturer n' | ||
| + | |||
| + | Générer les bases de données Postfix : | ||
| + | Après avoir modifié les fichiers sender_canonical ou generic, vous devez les convertir en une base de données que Postfix peut utiliser efficacement. Exécutez les commandes suivantes : | ||
| + | |||
| + | Bash | ||
| + | < | ||
| + | sudo postmap /etc/ | ||
| + | # Si vous utilisez aussi generic: | ||
| + | sudo postmap / | ||
| + | </ | ||
| + | Recharger Postfix : | ||
| + | |||
| + | Pour que les modifications prennent effet, rechargez Postfix : | ||
| + | |||
| + | Bash | ||
| + | |||
| + | sudo postfix reload | ||
| + | |||
| + | Points importants à considérer : | ||
| + | |||
| + | DNS (SPF, DKIM, DMARC) : Pour que vos e-mails ne soient pas marqués comme spam, il est crucial de configurer correctement les enregistrements DNS SPF, DKIM et DMARC pour chaque domaine qui envoie des e-mails. Ces enregistrements indiquent aux serveurs de messagerie destinataires que votre serveur Postfix est autorisé à envoyer des e-mails pour ces domaines. | ||
| + | |||
| + | Utilisateurs système et PHP : Assurez-vous que vos applications PHP envoient les e-mails en utilisant des utilisateurs système distincts ou des adresses d' | ||
| + | |||
| + | Nom d' | ||
| C'est la méthode standard pour héberger plusieurs sites PHP de manière isolée et sécurisée. | C'est la méthode standard pour héberger plusieurs sites PHP de manière isolée et sécurisée. | ||
| + | |||