Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Apache 2.4
  3. Cas pratiques
Extrait - Apache 2.4 Installation et configuration
Extraits du livre
Apache 2.4 Installation et configuration
1 avis
Revenir à la page d'achat du livre

Cas pratiques

Introduction

Les cas pratiques décrits ci-dessous sont réalisés dans le contexte suivant :

  • Système d’exploitation : distribution Debian GNU/Linux version 7.8 - installation minimale.

  • Apache/2.4.12 MPM Event compilé.

  • PHP 5.5.22 compilé.

  • MySQL Server version 5.5.41 de la distribution Debian GNU/Linux.

Environnement et contexte d’installation

  • Les sources sont téléchargées et décompressées dans le répertoire /opt/src.

  • Les logiciels compilés sont installés dans le répertoire /opt/prod.

1. Prérequis système

Afin de compiler Apache et pour son fonctionnement par la suite, l’installation de packages est nécessaire :


apt-get install build-essential make gcc libpcre3-dev lynx curl unzip
 

2. Apache

L’une des nouveautés de la version 2.4 est l’utilisation par défaut du MPM Event.

Nous allons donc utiliser Apache avec ce dernier.

Apache est compilé et installé dans le répertoire /opt/prod/apache :


./configure --prefix=/opt/prod/apache --enable-nonportable-  
atomics=yes --with-included-apr
 

3. MySQL

Le serveur MySQL est installé à partir du gestionnaire de packages Debian.


apt-get install mysql-server-5.5
 

Les bases de données et utilisateurs seront créés par la suite.

Hébergement d’un CMS PHP

1. CMS eZ Publish

eZ Publish est un système de gestion de contenu (CMS ou Content Management System) développé et maintenu par l’entreprise norvégienne eZ Systems.

Disponible en version Entreprise (avec support) ou en version communautaire open source (sous licence GPL), ce CMS couvre la grande majorité des besoins liés à la gestion de contenu :

  • édition de contenu,

  • gestion d’utilisateurs, de groupes et de rôles associés,

  • workflows de publication,

  • sites multilingues,

  • gestion de flux RSS,

  • moteur de recherche.

La version installée est la « Community Project 2014.11 » disponible sur le site communautaire http://share.ez.no/downloads.

2. Prérequis du CMS

Les prérequis du CMS sont essentiellement liés aux composants PHP.

De manière globale, les besoins sont :

  • PHP (5.4/5.5/5.6, minimum 5.4.4)

  • Base de données SQL : MySQL/MariaDB ou PostgreSQL

  • Serveur web : Apache 2.2, Apache 2.4 ou Nginx 1.4+

Concernant les modules PHP :

  • Zend OpCache (installé avec PECL)

  • bz2

  • Curl

  • dom

  • exif

  • fileinfo

  • ftp

  • gd

  • Iconv

  • json

  • mbstring

  • mysqli

  • pdo-mysql (5.x)

  • pecl_http

  • pcntl

  • pcre

  • posix

  • reflection

  • simplexml

  • spl

  • ssl

  • xmlreader

  • xsl

  • zlib

  • php-intl

3. Préparation du système

Modification du path sytème

Le path système est modifié afin de donner un accès direct aux binaires :


echo 'PATH=$PATH:/opt/prod/php/bin' > /etc/profile.d/php.sh  
echo 'PATH=$PATH:/opt/prod/php/sbin' > /etc/profile.d/php-fpm.sh
 

À la prochaine connexion (SSH par exemple), le path sera mis à jour :


root@eni-front1:/opt/src/php-5.5.22# echo $PATH  
/  
usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/  
prod/apache/bin:/opt/prod/php/sbin:/opt/prod/php/bin
 

Création d’un compte utilisateur système et de l’arborescence du projet

Un compte utilisateur « ezpublish » est créé spécifiquement pour le projet :

  • gid et uid à 10000

  • répertoire de l’utilisateur : /home/app/ezpublish


addgroup --system --gid 10000 ezpublish  
adduser --home /home/app/ezpublish --shell /bin/false\  
--uid 10000 --gid 10000 --disabled-password --disabled-login  
ezpublish
 

L’arborescence de notre projet est :


/home/app/ezpublish/...

Utilisation de plusieurs versions de PHP sur un même serveur Apache

La version de PHP actuellement installée sur notre serveur Apache étant la 5.5.22 pour le CMS eZ Publish, nous allons installer WordPress avec la dernière version de la branche 5.4 à la date de rédaction de cet ouvrage, à savoir la 5.4.38.

Nous aurons donc hébergé sur le même serveur :

  • eZ Publish avec PHP 5.5.22

  • WordPress avec PHP 5.4.38

1. CMS WordPress

WordPress est un système de gestion de contenu ou CMS (Content Management System en anglais) distribué sous licence GNU GPL version 2 et utilisant une base de données MySQL.

WordPress est surtout utilisé pour la création de blogs, mais ses fonctionnalités lui permettent de répondre à des besoins divers et variés.

La version installée est la 4.1.1 en version française, téléchargeable à l’adresse http://fr.wordpress.org/.

2. Prérequis de WordPress

Les prérequis de WordPress dans sa dernière version sont :

  • PHP 5.4 ou version supérieure,

  • MySQL 5.5 ou version supérieure,

  • Le module mod_rewrite d’Apache.

3. Installation de PHP

Spécificités de l’installation de PHP

PHP est installé dans le répertoire /opt/prod/php54 avec les options de compilation suivantes :


'./configure' \  
'--prefix=/opt/prod/php54' \  
'--with-bz2' \  
'--with-curl' \  
'--enable-exif' \  
'--enable-gd-native-ttf' \  
'--enable-gd-jis-conv' \  
'--with-gd' \  
'--with-jpeg-dir' \  
'--with-png-dir' \  
'--with-freetype-dir' \  
'--enable-mbstring' \  
'--with-mysqli' \  
'--enable-mysqlnd' \  
'--enable-embedded-mysqli' \  
'--with-zlib' \  
'--enable-fpm' \  
'--enable-zip' \  
'--disable-cgi' \  
"$@"
 

Le résultat de la commande make install est :


Installing PHP CLI binary:        /opt/prod/php54/bin/  
Installing PHP CLI man page:      /opt/prod/php54/php/man/man1/  
Installing PHP FPM binary:        /opt/prod/php54/sbin/  
Installing...