Comment passer d'apache à Apache2: Configuration



Documents pareils
TP Service HTTP Serveur Apache Linux Debian

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Installation GLPI-OCSNG-SSL Linux Debian Sarge

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

SERVEUR HTTP Administration d apache

Module 7 : Configuration du serveur WEB Apache

Procédure d'installation

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Installation d un hébergement Web à domicile

Tutoriel compte-rendu Mission 1

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

Réaliser un inventaire Documentation utilisateur

2013 Installation de GLPI-OCS. Florian MICHEL BTS SIO LYCEE SAINTE URSULE

CYBERGATE -TP-APACHE_2.DOC

Installation et présentation du serveur Apache

Les serveurs WEBUne introduction

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Préparation d un serveur Apache pour Zend Framework

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Administration Linux - Apache

REPARTITION DE CHARGE LINUX

Serveur Subversion Debian GNU/Linux

BTS SIO Dossier BTS. PURCHLA Romain

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

Installation d' OCS inventory et de GLPI

Installation Installation. Windows. Tout-en-un. Un livre de Wikilivres.

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

2011 Hakim Benameurlaine 1

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Différentes installations sur un serveur Windows 2000 ou 2003.

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

UE5A Administration Réseaux LP SIRI

installer_un_serveur_debian - Documentation Ubuntu Francophone Installation complète d'un serveur web sous Debian 6.0

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Table des matières Hakim Benameurlaine 1

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

Dans l'épisode précédent

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Projet de mise en œuvre d un serveur ftp sur serveur dédié

TP création et publication d'un site web statique

Gérer ses environnements de développement avec Vagrant RMLL 2012

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

CDS Invenio Installation et configuration de base

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Apache 2.4 Installation et configuration

windows. deb etch main deb-src etch main

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

Séquence 8 - Bases des réseaux - suite Jean.Saquet@info.unicaen.fr, Gaetan.Richard@info.unicaen.fr

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Travaux Pratiques Introduction aux réseaux IP

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Installation et configuration de Vulture Lundi 2 février 2009

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Installation et configuration d Apache sous Linux RedHat 7.1. Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1

Installer un serveur web de développement avec VirtualBox

Procédure d'installation du serveur Apache HTTPD pour Windows

Installation sur un serveur personnel

Administration réseau sous Linux

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Le serveur web Apache

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

CASE-LINUX MAIL - ROUNDCUBE

InstallatIon et configuration d une Infrastructure réseau sans-fil. Avec. Interface de gestion utilisateurs

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Étape 1 : gérer les certificats

PPE Installation d un serveur FTP

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

Hébergement de site web Damien Nouvel

Le serveur Web : Apache

Gestion d identités PSL Installation IdP Authentic

Documentation d'installation Plateforme femme actuelle

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Côté Labo : le service Web

SUPERVISION DE RÉSEAU AVEC NAGIOS

Installer OpenJabNab dans une framboise (un Raspberry Pi)

Petit guide pour l installation de CVW sous Linux

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Utilisation de l espace personnel (Serveur DATA)

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

1. La plate-forme LAMP

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

ITRAINONLINE MMTK INFRASTRUCTURES BASÉES SUR LINUX

Guide Installation Serveur Extensive Testing

Guide Installation Serveur Extensive Testing

Autorité de certification

Mise en place d un serveur Proxy sous Ubuntu / Debian

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

INSTALLATION DE NAGIOS 2.10 et CENTREON sous Debian ETCH 4.0r1

A. Laisser le navigateur Web choisir l'encodage approprié...35 B. Changer le jeu de caractères utilisé par défaut par le Serveur Web Apache2...

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Transcription:

Comment passer d'apache à Apache2: Configuration Suite à la panne, d'un serveur «web» qui tournait avec Apache sous Etch, le problème de passer sous la dernière version de Debian (Lenny) s'est posé. Rien de bien dramatique à priori si ce n'est que Lenny ne propose plus que les paquets d'apache2. Je n'ai trouvé sur Internet que peu de documentations permettant de comprendre les opérations à effectuer pour faire ce passage rapidement. J'espère que ce document apporte un petit plus dans cette démarche finalement assez simple. Apache2: Présentation rapide Apache2 est plus «modularisé» qu'apache, ce qui rend l'exploitation des modules et sites plus «lisibles». Les fichiers de configuration se situent dans le répertoire /etc/apache2. Le fichier de configuration général est /etc/apache2/apache2.conf. Il contient de nombreux Include, dont les plus importants : # Include module configuration: Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf # Include all the user configurations: Include /etc/apache2/httpd.conf # Include ports listing Include /etc/apache2/ports.conf Puis en fin de fichier les lignes : # Include generic snippets of statements Include /etc/apache2/conf.d/ # Include the virtual host configurations: Include /etc/apache2/sites-enabled/ Le fichier /etc/apache2/ports.conf contient la liste des ports en écoute. Les fichiers concernant les modules installés se situent dans le répertoire /etc/apache2/modsavailable. Les fichiers *.load chargent les modules dynamiques et les fichiers *.conf sont utilisés pour la configuration de ceux-ci. Les modules sont appelés dans le fichier /etc/apache2/apache2.conf par les lignes Include /etc/apache2/mods-enabled/*.load et Include /etc/apache2/mods-enabled/*.conf. Pour les modules, comme pour les sites, la règle est la suivante : Les modules disponibles sont stockés dans un répertoire mods-available. Pour activer un module il suffit de faire un lien sur le fichier module correspondant dans le répertoire modsenabled ou d'utiliser la commande a2enmod (a2dismod pour le désactiver).

De même, pour les sites hébergés : sites-available pour les sites disponibles et sites-enabled pour les sites activés, avec la commande a2ensite pour les activer et a2dissite pour les désactiver. Remarque : Les fichiers dans les répertoires enabled ne sont en fait que des liens vers des fichiers des répertoires available. Chaque module est associé à un fichier. Ainsi pour le module php le fichier est php5.conf, son contenu est : <IfModule mod_php5.c> AddType application/x-httpd-php.php.phtml.php3 AddType application/x-httpd-php-source.phps </IfModule> a2enmod php5 active le module php, il est nécessaire de redémarrer le serveur Apache2 (/etc/ init.d/apache2 restart). Pour la ligne Include /etc/apache2/sites-enabled/ : Ce répertoire doit donc contenir les fichiers de configuration pour chaque site hébergé. Remarque : Il est possible de modifier cette ligne et rajouter *.conf (Include /etc/apache2/sitesenabled/*.conf) pour que tous les fichiers en.conf soit lu et associé à un site. Les directives de configuration dans ces fichiers sont les mêmes que pour Apache mais il est important de signaler que la directive de configuration <VirtualHost adresse_ip> a été transformée en <VirtualHost adresse_ip:80> Quelques informations supplémentaires : Apache2 ne se lance plus qu'en standalone, la directive ServerType n'existe plus. Devant cette «multitude» de fichiers de configuration il peut être très difficile de localiser une directive de configuration, la commande peut être utile: grep -nir scriptalias * -n préfixe chaque ligne de sortie avec un numéro. -R permet de faire une recherche récursive. -i ignore la casse. Installation d'apache2 L'installation est très simple, elle s'apparente beaucoup à celle d'apache pour ce qui est des modules. J'utilise l'outil dselect pour choisir les paquets à installer. J'installe donc sur le serveur les modules nécessaires: Opt web apache2 Opt web php5 Opt web php5-mysql Opt web php5-gd Opt web php5-cgi Opt web php5-imagick Opt web php5-mcrypt Opt web php5-squid Ou la commande apt-get install noms_paquets.

Configuration d'apache2 Après l'installation de ces paquets, le module php5 est normalement activé. Il suffit de regarder dans le répertoire mods-enabled si les fichiers php5.* sont présents. Le site activé par défaut est le site default, si nous listons le contenu du répertoire /etc/apache2/sites-enabled nous voyons un lien (000-default) sur le fichier /etc/apache2/sites-available/default lrwxrwxrwx 1 root root 36 2009-06-30 14:49 000-d -> /etc/apache2/sitesavailable/ Les pages de mon site par défaut se situent dans le répertoire /var/www/html (j'ai gardé au fil des années une ancienne configuration). Il est donc nécessaire de modifier la ligne DocumentRoot dans le fichier 000-default, et au passage la ligne ServerAdmin. ServerAdmin webmaster@ies.univ-montp2.fr DocumentRoot /var/www/html/ <Directory /> Options FollowSymLinks <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews allow from all On remarque aussi que tous les paramètres sont contenus entre des directives Virtualhost qui sont utilisés pour gérer les sites hébergés. Comme vu plus haut, voici le contenu du fichier /etc/apache2/ports.conf # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/news.debian.gz and # README.Debian.gz NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> # SSL name based virtual hosts are not yet supported, therefore no # NameVirtualHost statement here Listen 443 </IfModule> Ici Apache2 est en écoute sur le port 80.

L'ancien fichier de configuration du serveur Apache était httpd.conf. On retrouve l'inclusion de ce fichier dans /etc/apache2/apache2.conf. Pour commencer la transition, il suffit d'ôter dans le fichier httpd.conf toutes les lignes concernant la configuration proprement dite d'apache, comme les modules, les répertoires spéciaux et de ne conserver que ceux qui concernent les différents sites ou répertoires qui ont des modalités d'accès différentes (.htaccess, options Indexes ou autres). Puisqu'Apache2 le gère déjà dans son fichier de configuration. On obtient ainsi un fichier épuré ne contenant que la gestion des répertoires et des sites virtuels. Une fois le fichier obtenu il est nécessaire (si vous ne l'avez pas déjà fait) de désigner l'utilisateur qui sera utilisé pour lancer le service. Là aussi, aucune surprise, c'est l'utilisateur www-data. Je place donc les lignes suivantes au début de mon fichier httpd.conf. # Configuration de l'utilisateur utilise par Apache2 User www-data Group www-data Fichier httpd.conf Voici des extraits de mon ancien fichier httpd.conf dans lequel je n'ai gardé que mes «rajouts» personnels, exceptés ceux qui concernent la configuration de l'utilisateur et du groupe utilisés par Apache2 pour se lancer. Il est bien sûr indispensable que l'utilisateur www-data ait les bons droits sur les répertoires. # Configuration de l'utilisateur utilise par Apache2 User www-data Group www-data <Directory "/var/www/html/moreau"> Options Includes FollowSymLinks ExecCGI Indexes Allow from all <Directory "/var/www/html/ies"> Options Includes FollowSymLinks ExecCGI Indexes Allow from all Ici sont indiqués le nom et le groupe de l'utilisateur qu'utilise Apache2 pour s'exécuter et des répertoires avec des droits spéciaux, (Indexes pour pouvoir «visualiser» le contenu du répertoire si aucun fichier index.* n'est présent, ignore les fichiers.htaccess).

<Directory /var/www/html/radecsorg/radecs05/restricted> Options Indexes MultiViews AuthUserFile /etc/apache/photosrad AuthName "RADECS 2005" Authtype Basic <Limit GET> require user photos </Limit> <Directory /var/www/html/private> Options Indexes MultiViews Allow from 162.38.134 162.38.135 162.38.133 #Allow from 162.38 Répertoires avec un contrôle d'accès : - par utilisateur (fichier généré par htpasswd), ne pas oublier de déplacer les fichiers contenant les mots de passe ou dans mon cas de copier les fichiers dans un répertoire /etc/apache. - par adresse IP. Gestion des sites (Directive VirtualHost) <VirtualHost adresse_ip> # ServerAdmin webmaster@host.some_domain.com DocumentRoot "/var/www/html/mitea" ServerName mitea.univ-montp2.fr <VirtualHost adresse_ip> # ServerAdmin webmaster@host.some_domain.com DocumentRoot "/var/www/html/capteurs" ServerName capteurs.univ-montp2.fr <VirtualHost adresse_ip> # ServerAdmin webmaster@host.some_domain.com DocumentRoot "/var/www/html/ctm" ServerName www.ctm.univ-montp2.fr

Les différents sites hébergés sur le serveur doivent être séparés, enlevés du fichier httpd.conf et placés dans le répertoire /etc/apache2/sites-available. Pour chaque site un fichier avec la directive VirtualHost. Chaque site pourra être activé par la commande a2ensite nom_fichier_site et désactivé avec la commande a2dissite nom_fichier_site. Il est important de noter que la directive <VirtualHost adresse_ip> a été transformé en <VirtualHost adresse_ip:80> Exemple: Pour le site capteurs.univ-montp2.fr un fichier /etc/apache2/sites-available/capteurs contient les lignes suivantes : <VirtualHost adresse_ip:80> ServerAdmin webmaster@ies.univ-montp2.fr DocumentRoot "/var/www/html/capteurs" ServerName capteurs.univ-montp2.fr #ErrorLog logs/host.some_domain.com-error_log #CustomLog logs/host.some_domain.com-access_log common Pour l'activer, a2ensite /etc/apache2/sites-available/capteurs. Pour valider toutes ces modifications et vérifier que votre serveur fonctionne, relancer le serveur Apache2 /etc/init.d/apache2 restart En fait, il manque la directive NameVirtualHost adresse_ip:80. En se penchant sur le problème, de nombreux pages indiquent qu'il est facile de rajouter plusieurs sites en créant un fichier pour chacun, avec en début la ligne NameVirtualHost adresse_ip:80. Cette directive ne doit apparaître qu'une seule fois sinon Apache2 ne se lancera pas correctement. Je place donc ma directive dans mon fichier /etc/apache2/apache2.conf juste avant la ligne qui fait appel aux sites: # Include generic snippets of statements Include /etc/apache2/conf.d/ # Inclusion des VirtualHosts NameVirtualHost adresse_ip:80 # Include the virtual host configurations: Include /etc/apache2/sites-enabled/ Remarque : Il sera peut être nécessaire (pour ceux qui les auront) de supprimer ces lignes dans le fichier de configuration du site par défaut (/etc/apache2/sites-available/default) pour la gestion des options sur le répertoire /var/www. # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place RedirectMatch ^/$ /apache2-default/

Cette directive redirige automatiquement vers l'affichage par défaut d'apache2 qui est une page blanche avec la belle phrase «It works». Pages webs utilisateurs Chaque utilisateur peut disposer d'un espace réservé sur le serveur. Les pages webs doivent être déposées dans un répertoire public_html du répertoire de l'utilisateur. L'accès à ces pages se fait par l'adresse http://nom_serveur/~utilisateur. Ce module n'est pas activé par défaut. La commande pour activer ce module est a2enmod userdir Ce qui créera un lien dans /etc/apache/mods-available. Il est bien sûr très important de faire attention aux droits attribués aux répertoires de ces utilisateurs. Dans notre cas Apache2 est lancé avec les droits de l'utilisateur www-data (groupe www-data) et chaque utilisateur appartient au groupe www-data. Module Rewrite De la même façon, pour activer le module rewrite qui permet de réécrire les adresses, il est nécessaire d'activer le module par la commande a2enmod rewrite. Il faut bien évidemment penser à modifier dans le fichier de configuration du site la ligne en AllowOverride All Création d'un site supplémentaire Pour être un peu plus complet, voici un exemple de création d'un nouveau site web. Le serveur web héberge un site dans le répertoire /var/www/html/linux qui doit être accessible via http://linux.ies.univ-montp2.fr Création d'un fichier linux dans le répertoire /etc/apache2/sites-available/ <VirtualHost adresse_ip:80> ServerAdmin webmaster@ies.univ-montp2.fr DocumentRoot "/var/www/html/linux" ServerName linux.ies.univ-montp2.fr Activation du site : a2ensite /etc/apache2/sites-available/linux Redémarrage d'apache2 : /etc/init.d/apache2 restart (ou reload pour recharger la nouvelle configuration) Le site est maintenant accessible. Stephane.Arnal@ies.univ-montp2.fr