LAMP : 2ème Etape - INSTALLATION APACHE

Le serveur a redémarré correctement et l’invite système est dispo.
Se logger en root, MotdePasse_root.

MISE A JOUR DE TOUS LES PAQUETS ET LE NOYAU

apt-get update
(pour mettre à jour la liste des paquets)

puis

apt-get upgrade
(pour mettre à jour les paquets eux-même)

Astuce : A n’importe quel moment, si le système de mise à jour demande le cd et pour éviter de l’insérer à chaque fois, il suffit de commenter la ligne dans source.list. Pour ce faire, taper la commande nano /etc/apt/sources.list ou vi /etc/apt/sources.list , et mettre en commentaire la ligne deb/cdrom. Ainsi, le système ne demandera plus le cd et ira chercher les informations sur le net.

Ensuite, l’installation d’apache passe par les étapes suivantes :

- installation des paquets d’apache, et intégration des paquets ssl à apache.

- configuration d’apache et création des virtual hosts

- paramétrer les ports d’écoute d’apache

- création des répertoires d’accueil pour héberger les sites décrits dans les virtual hosts.

- générer les certificats ssl pour les connections sécurisées

INSTALLATION DES PAQUETS D’APACHE

Installation des paquets de base d’apache :

apt-get install apache2

Installation des librairies ssl pour apache :

apt-get install libapache-mod-ssl

Intégration des librairies ssl dans apache :

a2enmod ssl

Relance obligatoire d’apache avec rechargement de ses fichiers de config :

/etc/init.d/apache2 force-reload

NOTES PARTICULIERES SUR CES COMMANDES

La deuxième commande installe l’interpréteur de commande ssl (pour les sites sécurisés utilisant le ssl ) - egroupware par exemple.

Attention : bien installer ce deuxième module ci-dessus (ibapache-mod-ssl) et surtout pas apache-ssl qui est un serveur web à part entière qui entre en conflit avec apache2.

Apache dispose de son interpréteur de commande (comme mysql par exemple). Pour intégrer la librairie ssl à apache, il a fallu exécuter la commande A2 (qui est une commande debian installée par apache - se référer à la doc d’apache2). Cependant on peut avoir l’intuition de demander au système toutes les commandes qui commencent par "a" comme apache. Pour cela, taper "a", puis tabulation deux fois. Debian affiche toutes les commandes commençant par a.

CONFIGURATION D’APACHE - VIRTUAL HOSTS

Dans /etc/apache2/ se trouvent tous les fichiers de configuration d’apache.

Les virtual-hosts :

cd sites-enabled

Puis éditer le fichier 000-default

vi 000-default

Pour éviter d’ouvrir tous les ports, remplacer les * par les adresses ip, suivies du port utilisé (ouvert).



CONTENU D’UN FICHIER DE CONFIGURATION COMMENTE

Le fichier est joint à l’article sans les commentaires.


PARAMETRER LES PORTS D’ECOUTE D’APACHE

Editer le fichier /etc/apache2/ports.conf.

Vérifier que les lignes suivantes soient présentes :

Listen 80

Listen 443

CREATION DES REPERTOIRES D’ACCUEIL


cd /var/www/

mkdir www.inter

mkdir www.intra

mkdir www.egroup

La commande ls -l permet de vérifier que les créations ont bien été faites. Cependant, on remarque la présence du répertoire apache2-default, qui correspond au répertoire par défaut d’apache qui permet de vérifier le bon fonctionnement d’apache, et qui peut être utilisé sans modifier les fichiers de configuration. http://192.22.1.1/ sur un explorateur internet doit aboutir sur cette page par défaut.

GENERER LES CERTIFICATS SSL

Pour se connecter en ssl, il faut générer un certificat électronique qui se présentera sous la forme de plusieurs fichiers, qu’on copiera dans le dossier d’apache2, et qui seront utilisés à chaque connection ssl par les accès virtual host. (l’accès à ces certificats est décrit dans le fichier de configuration que nous avons évoqué ci-dessus.)

Un lien utile pour générer les certificats

  1. Installer le paquet open-ssl

apt-get install openssl

  1. se placer dans le rep apache2, pour que les certificats soient générés au bon endroit.

cd /etc/apache2

  1. générer la clé privée (stockée sur le serveur - server.key)

openssl genrsa -out server.key 1024

  1. générer le certificat autosigné (clé publique, accès public, stockée sur le serveur - server.crt)

openssl req -new -x509 -days 1000 -key server.key -out server.crt

Ici, il est intéressant de noter que la clé publique est générée pour 1000 jours, et qu’il faudra le renouveler à la fin de cette période pour accéder en ssl aux services. Même commande en cours de description.

Le système renvoit au retour de la commande ci-dessus, les demandes de précision suivante :

Initiales du Pays :

Country Name (2 letter code) [AU] :

Réponse : FR

State or Province Name (full name) [Some-state] :

Réponse : Rhône-Alpes

Locality Name (eg. city) [] :

Réponse : MaVille .. attention, ne pas mettre d’accent ...

Organization Name (eg, Company) [Internet Widgits Pty Ltd]

Réponse : MonEntreprise ... attention les accents....

Organizational Unit Name (eg, section) [] :

Réponse : MonService

Common Name (eg, YOUR name) [] :

Réponse : MonNom

Email-Adress [] :

Réponse : MonAdresseEmail

Les fichiers nécessaires aux connections ssl sont générés, il s’agit des fichiers /etc/apache2/server.crt et /etc/apache2/server.key.

APACHE EST INSTALLE (BRUT DE FONDERIE..)

On peut se connecter en ssl et http, sur des sites statiques à ce stade.
Pour héberger des sites dynamiques, il faut aussi installer php, mysql, etc ...

REGLER LES PROBLEMES D’ACCENTS

Si vous avez installé apache sur un serveur avec le jeu de caractères utf8, et si vous exporter des bases mysql d’un autre serveur avec un jeu de caractère différent (par ex ISO-8859-15), pour les importer dans votre serveur tout neuf, vous aurez la désagréable surprise de trouver de nombreuses anomalies dans les affichages de caractères accentués.

Pour réparer celà, il est nécessaire de préciser à apache le jeu de caractères supplémentaires à utiliser.

Pour celà, il suffit de retrouver dans /etc/apache2/apache2.conf la ligne

#AddDefaultCharset ISO-8859-15 pour la décommenter (enlever le #)

Documents joints