Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
apache2 [Le 08/05/2013, 15:40] 109.28.132.11 [Installation] |
apache2 [Le 22/07/2014, 03:33] 135.19.38.121 $HOME n'a aucune raison de voir son groupe assigné à www-data. Mauvaise pratique à éviter |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
Des liens vers [[tutoriel:securiser_apache2_avec_ssl|sécuriser Apache avec SSL]], [[tutoriel:virtualhosts_avec_apache2|virtualhosts avec Apache]] et d'autres documentations seront donnés au moment opportun.\\ | Des liens vers [[tutoriel:securiser_apache2_avec_ssl|sécuriser Apache avec SSL]], [[tutoriel:virtualhosts_avec_apache2|virtualhosts avec Apache]] et d'autres documentations seront donnés au moment opportun.\\ | ||
+ | <note important>Utilisateurs de Ubuntu 13.10 et suivante : | ||
+ | |||
+ | La version de Apache installée sur cette distribution est la version 2.4.6-2. | ||
+ | Ce changement de version implique des changements de certaines directives présentes dans vos VHOSTS. | ||
+ | |||
+ | Référez-vous à la page : [[http://httpd.apache.org/docs/2.4/upgrading.html]] ; cette page décrit, en détails, les changements entre la version 2.2 et la version 2.4. | ||
+ | </note> | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 20: | Ligne 27: | ||
* Un serveur [[:bind9|DNS]] configuré (pour le domaine). | * Un serveur [[:bind9|DNS]] configuré (pour le domaine). | ||
- | ===== Introduction : HTTP l====== | + | ===== Introduction : HTTP ====== |
==== Qu'est-ce que le Web ? ==== | ==== Qu'est-ce que le Web ? ==== | ||
Ligne 82: | Ligne 89: | ||
Apache est composé de plusieurs paquets. | Apache est composé de plusieurs paquets. | ||
- | |||
- | béta installation apache 2.4.4 | ||
- | |||
- | installer les depots officiel multiverse et backport ainsi que leur sources | ||
- | |||
- | ex ubuntu 12.04 | ||
- | |||
- | |||
- | <code>sudo su</code> | ||
- | <code>cat > /etc/apt/sources.list <<EOF | ||
- | deb http://fr.archive.ubuntu.com/ubuntu/ precise main restricted | ||
- | deb http://security.ubuntu.com/ubuntu precise-security main restricted | ||
- | deb http://fr.archive.ubuntu.com/ubuntu/ precise-updates main restricted | ||
- | |||
- | # Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) | ||
- | deb-src http://fr.archive.ubuntu.com/ubuntu/ precise main restricted | ||
- | deb-src http://security.ubuntu.com/ubuntu precise-security main restricted | ||
- | deb-src http://fr.archive.ubuntu.com/ubuntu/ precise-updates main restricted | ||
- | |||
- | deb http://fr.archive.ubuntu.com/ubuntu/ precise universe multiverse | ||
- | deb http://security.ubuntu.com/ubuntu precise-security universe multiverse | ||
- | deb http://fr.archive.ubuntu.com/ubuntu/ precise-updates universe multiverse | ||
- | |||
- | # Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) | ||
- | deb-src http://fr.archive.ubuntu.com/ubuntu/ precise universe multiverse | ||
- | deb-src http://security.ubuntu.com/ubuntu precise-security universe multiverse | ||
- | deb-src http://fr.archive.ubuntu.com/ubuntu/ precise-updates universe multiverse | ||
- | deb http://fr.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse | ||
- | |||
- | # Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) | ||
- | deb-src http://fr.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse | ||
- | EOF | ||
- | exit</code> | ||
- | |||
- | |||
- | installer les dépendance | ||
- | |||
- | |||
- | <code>sudo apt-get update</code> | ||
- | <code>sudo apt-get -y upgrade</code> | ||
- | <code>sudo apt-get -y install git vim libmcrypt-dev</code> | ||
- | <code>sudo apt-get -y purge apache2 php5</code> | ||
- | <code>sudo apt-get -y build-dep apache2 php5</code> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | compilation manuelle | ||
- | |||
- | <code>cd /usr/local/src</code> | ||
- | <code>git clone https://github.com/apache/httpd.git httpd-2.4.4</code> | ||
- | <code>cd httpd-2.4.4</code> | ||
- | <code>git clone https://github.com/apache/apr.git srclib/apr</code> | ||
- | <code>./buildconf</code> | ||
- | <code>./configure -enable-modules=all --with-included-apr --enable-mpm=worker --enable-suexec --enable-rewrite</code> | ||
- | <code>make</code> | ||
- | <code>sudo apt-get -y install checkinstall</code> | ||
- | <code>sudo checkinstall --pkgname=apache2-4 --pkgversion="2.4.4" --backup=no --deldoc=yes --fstrans=no --default</code> | ||
- | <code>mkdir $HOME/deb</code> | ||
- | <code>sudo mv *.deb $HOME/deb</code> | ||
- | vous pouvez récupérer le pacquet deb dans votre répertoire perssonelle $HOME/deb | ||
- | celui ci a déjà était installer | ||
- | |||
- | |||
- | |||
- | |||
- | installation depuis pacquet deb ubuntu 12.04 and 64 uniquement | ||
- | |||
- | |||
- | <code>wget http://www.petit-fichier.fr/2013/05/08/apache2-4-2-4-4-1-amd64/apache2-4-2-4-4-1-amd64.deb</code> | ||
- | <code>sudo dpkg -i apache2-4-2-4-4-1-amd64.deb</code> | ||
- | |||
- | configurer | ||
- | |||
- | |||
- | <code>sudo ln -s /usr/local/apache2/bin/* /usr/local/bin/</code> | ||
- | <code>sudo rm -rf /etc/init.d/apache2</code> | ||
- | <code>sudo ln -s /usr/local/bin/apachectl /etc/init.d/apache2</code> | ||
- | <code>sudo update-rc.d -f apache2 remove</code> | ||
- | <code>sudo sed -i 's|Define DOCROOT "/usr/local/apache2/htdocs"|Define DOCROOT "/var/www"|' /usr/local/apache2/conf/httpd.conf</code> | ||
- | <code>sudo chown -Rf www-data:www-data /var/www</code> | ||
- | <code>sudo update-rc.d -f apache2 defaults 91 09</code> | ||
- | <code>sudo /etc/init.d/apache2 stop</code> | ||
- | <code>sudo mkdir /usr/local/apache2/logs/</code> | ||
- | <code>sudo /etc/init.d/apache2 start</code> | ||
- | |||
- | désinstaller | ||
- | |||
- | <code>sudo /etc/init.d/apache2 stop | ||
- | sudo rm -f /usr/local/bin/ab /usr/local/bin/apachectl /usr/local/bin/apr-2-config /usr/local/bin/apxs /usr/local/bin/checkgid /usr/local/bin/dbmmanage /usr/local/bin/envvars /usr/local/bin/envvars-std /usr/local/bin/fcgistarter /usr/local/bin/firehose /usr/local/bin/htcacheclean /usr/local/bin/htdbm /usr/local/bin/htdigest /usr/local/bin/htpasswd /usr/local/bin/httpd /usr/local/bin/httxt2dbm /usr/local/bin/logresolve /usr/local/bin/rotatelogs /usr/local/bin/suexec | ||
- | sudo update-rc.d -f apache2 remove | ||
- | sudo rm -rf /etc/init.d/apache2 | ||
- | sudo apt-get -y purge apache2-4 | ||
- | sudo rm -rf /usr/local/apache2</code> | ||
====Installation de base==== | ====Installation de base==== | ||
Ligne 677: | Ligne 589: | ||
# Le * derrière VirtualHost définit ici que le vhost est valable pour toutes les IPs sur lesquelles apache écoute. | # Le * derrière VirtualHost définit ici que le vhost est valable pour toutes les IPs sur lesquelles apache écoute. | ||
<VirtualHost domain.tld:80> | <VirtualHost domain.tld:80> | ||
- | # ServerName définie le nom utilisé pour le vhost. Mettez le nom de l'hôte du domaine | + | # ServerName définit le nom utilisé pour le vhost. Mettez le nom de l'hôte du domaine |
ServerName www.domain.tld | ServerName www.domain.tld | ||
- | # ServerAlias définie les autres sous domaines pour lesquels le serveur répondra. | + | # ServerAlias définit les autres sous domaines pour lesquels le serveur répondra. |
ServerAlias domain.tld *.domain.tld | ServerAlias domain.tld *.domain.tld | ||
# ServerAdmin vous permet de spécifier un email à utiliser en cas de problème, sur une page d'erreur 404 par exemple. | # ServerAdmin vous permet de spécifier un email à utiliser en cas de problème, sur une page d'erreur 404 par exemple. | ||
Ligne 892: | Ligne 804: | ||
Il est possible d'ajouter des modules à apache, ajoutant des fonctionnalités à votre serveur web. | Il est possible d'ajouter des modules à apache, ajoutant des fonctionnalités à votre serveur web. | ||
- | Tous les modules sont répertoriés ici : | + | Tous les modules sont répertoriés ici : /etc/apache2/mods-available |
==== Activer l'url rewriting ==== | ==== Activer l'url rewriting ==== | ||
Chargez le module rewrite : | Chargez le module rewrite : | ||
- | <code>sudo a2enmod rewrite</code> | + | <code>a2enmod rewrite</code> |
Ensuite, deux possibilités s'offrent à vous suivant vos capacités de gestion de votre serveur : | Ensuite, deux possibilités s'offrent à vous suivant vos capacités de gestion de votre serveur : | ||
Ligne 1047: | Ligne 959: | ||
Créer un dossier nommé public_html dans votre home et essayer, ça devrait marcher :) | Créer un dossier nommé public_html dans votre home et essayer, ça devrait marcher :) | ||
- | |||
- | <note warning> Sur Ubuntu 11.04, les droits d'accès au répertoire /home/user sont insuffisants. Vous risquez d'avoir une erreur 403 "permission denied". SI le user est john, faire la manip suivante : | ||
- | |||
- | chgrp www-data /home/john/ | ||
- | chmod 750 /home/john/ | ||
- | | ||
- | </note> | ||
<note warning>Sur Ubuntu 10.04 (Lucid) et 11.04 l'exécution en php est désactivée par défaut avec ce module. Pour changer ça et éviter que le navigateur télécharge le code php directement, éditer le fichier ''/etc/apache2/mods-enabled/php5.conf'' et commentez les lignes comme ci dessous : | <note warning>Sur Ubuntu 10.04 (Lucid) et 11.04 l'exécution en php est désactivée par défaut avec ce module. Pour changer ça et éviter que le navigateur télécharge le code php directement, éditer le fichier ''/etc/apache2/mods-enabled/php5.conf'' et commentez les lignes comme ci dessous : | ||
Ligne 1159: | Ligne 1064: | ||
* [[tutoriel/securiser_apache2]] | * [[tutoriel/securiser_apache2]] | ||
* [[tutoriel/securiser_apache2_avec_ssl]] | * [[tutoriel/securiser_apache2_avec_ssl]] | ||
- | * (fr) [[http://www.neoflow.fr/tutoriels.category.51/apache.html|Plusieurs tutoriels sur la configuration d'Apache]] | + | * (fr) [[http://www.it-connect.fr/tutoriels/serveur-web/apache/|Plusieurs tutoriels sur la configuration d'Apache sur IT-Connect]] |
---- | ---- | ||
// Contributeurs : [[:utilisateurs:benje]], [[:utilisateurs:Pepou06]], [[:utilisateurs:Oxossi]], [[:utilisateurs:Karting06]]. // | // Contributeurs : [[:utilisateurs:benje]], [[:utilisateurs:Pepou06]], [[:utilisateurs:Oxossi]], [[:utilisateurs:Karting06]]. // |