Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


Cohabitation apache2 et nginx

...@...:~ $ sudo apt install {apache2,php,php-{pear,mysql},libapache2-mod-php,mariadb-server}
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
php est déjà la version la plus récente (2:7.4+75).
php-mysql est déjà la version la plus récente (2:7.4+75).
apache2 est déjà la version la plus récente (2.4.41-4ubuntu3.9).
mariadb-server est déjà la version la plus récente (1:10.3.32-0ubuntu0.20.04.1).
Les paquets supplémentaires suivants seront installés : 
  libapache2-mod-php7.4
Les NOUVEAUX paquets suivants seront installés :
  libapache2-mod-php libapache2-mod-php7.4 php-pear
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 1 654 ko dans les archives.
Après cette opération, 6 801 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
Réception de :1 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 libapache2-mod-php7.4 amd64 7.4.3-4ubuntu2.8 [1 364 kB]
Réception de :2 http://fr.archive.ubuntu.com/ubuntu focal/main amd64 libapache2-mod-php all 2:7.4+75 [2 836 B]
Réception de :3 http://fr.archive.ubuntu.com/ubuntu focal-updates/main amd64 php-pear all 1:1.10.9+submodules+notgz-1ubuntu0.20.04.3 [287 kB]
1 654 ko réceptionnés en 1s (1 609 ko/s)
Sélection du paquet libapache2-mod-php7.4 précédemment désélectionné.
(Lecture de la base de données... 381128 fichiers et répertoires déjà installés.
)
Préparation du dépaquetage de .../libapache2-mod-php7.4_7.4.3-4ubuntu2.8_amd64.d
eb ...
Dépaquetage de libapache2-mod-php7.4 (7.4.3-4ubuntu2.8) ...
Sélection du paquet libapache2-mod-php précédemment désélectionné.
Préparation du dépaquetage de .../libapache2-mod-php_2%3a7.4+75_all.deb ...
Dépaquetage de libapache2-mod-php (2:7.4+75) ...
Sélection du paquet php-pear précédemment désélectionné.
Préparation du dépaquetage de .../php-pear_1%3a1.10.9+submodules+notgz-1ubuntu0.
20.04.3_all.deb ...
Dépaquetage de php-pear (1:1.10.9+submodules+notgz-1ubuntu0.20.04.3) ...
Paramétrage de libapache2-mod-php7.4 (7.4.3-4ubuntu2.8) ...
No module matches 
apache2_switch_mpm: MPM prefork not found
libapache2-mod-php7.4: Could not switch to prefork MPM, not enabling PHP 7.4
Paramétrage de php-pear (1:1.10.9+submodules+notgz-1ubuntu0.20.04.3) ...
Paramétrage de libapache2-mod-php (2:7.4+75) ...
Traitement des actions différées (« triggers ») pour man-db (2.9.1-1) ...
Traitement des actions différées (« triggers ») pour libapache2-mod-php7.4 (7.4.
3-4ubuntu2.8) ...
nicolas@chateau:~$

Je souhaiterais mettre en place un serveur apache2 avec un site web pour le faire fonctionner en parallèle avec nginx, par exemple :

  • gitlab.monurl.fr pour gitlab sous nginx
  • et web.monurl.fr pour mon site web sous apache

Cela devrait être possible si on passe par apache pour rediriger les requêtes qui sont pour gitlab.monurl.fr.

serveur nginx apache
site gitlab.monurl.fr web.monurl.fr
DNS → IP 80.20.30.4 80.20.30.4
Port d'écoute 8080 (ou 8008) 80
virtualhost

Hypothèses:

  1. Il y a une entrée DNS gitlab.monurl.fr (ex: gitlab.monurl.fr → 80.20.30.4)
  2. Il y a une entrée DNS web.monurl.fr (ex: web.monurl.fr → 80.20.30.4)
  3. Le serveur NGinx écoute sur le port 8080
  4. Le serveur Apache écoute sur le port 80
  5. Le site web.monurl.fr est configuré dans un virtualhost.

Sur la configuration apache, il faut activer le module rewrite.

Ensuite, créez une redirection pour les requêtes http qui sont pour gitlab.monurl.fr, vers l'url suivante : http://gitlab.monurl.fr:8080/

Exemple de configuration pour le virtualhost web.monurl.fr:

web.monurl.fr.com
<VirtualHost *:80>
    ServerName web.monurl.fr
    ServerAlias web.monurl.fr gitlab.monurl.fr 

    # -------------------------------------------
    RewriteEngine On
    RewriteCond %{HTTP_HOST}   !^gitlab\.monurl\.fr [NC]
    RewriteRule ^/(.*) http://gitlab.monurl.fr:8080/$1 [L,R]

    #---------------
    #  Ta configuration pour ton site apache web.monurl.fr
    #---------------
</VirtualHost>

ps: Je n'ai pas testé ma proposition. Ce n'est qu'une idée de travail.

Voir aussi