logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:obsolete:apache [05/01/2013 05:01]
smolski [Installation d'un serveur LAMP]
doc:obsolete:apache [05/07/2014 17:27]
captnfab supprimée
Ligne 3: Ligne 3:
 Ou comment installer un serveur web. Ou comment installer un serveur web.
  
 +**ATTENTION !** \\ 
 +Tuto en GRANDE PARTIE obsolète. **smolski** le 05/01/2013
 +  * Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=2805 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
 ===== Débutant, à savoir : ===== ===== Débutant, à savoir : =====
  
-Toutes les commandes qui ne commencent pas par ''​$''​ sont à faire dans un terminal **root** (voir : [[commande:su|La commande su]]).+Toutes les commandes qui ne commencent pas par ''​$''​ sont à faire dans un terminal **root**((voir : [[:​doc:​systeme:su|La commande su]])).
  
 ===== Installation d'un serveur LAMP ===== ===== Installation d'un serveur LAMP =====
Ligne 11: Ligne 14:
 __**Distribution utilisée:​**__ Debian stable __**Distribution utilisée:​**__ Debian stable
  
-__**Pré-requis:​**__ 1 ordinateur ou une machine virtuelle avec le port TCP 80 ouvert sur le lan+__**Pré-requis:​**__ 1 ordinateur ou une machine virtuelle avec le port TCP 80 ouvert sur le réseau local (LAN)
  
-__**Paquetage à installer:​**__ apache2, php5, libapache2-mod-php5,​ mysql-server,​ mysql-client,​ php5-mysql, phpmyadmin+__**Paquetage à installer:​**__ apache2, php5, libapache2-mod-php5,​ mysql-server,​ mysql-client,​ php5-mysql
  
-__**Note:​**__ On considèrera une adresse ​réseau 192.168.0.0/​24,​ et un serveur ayant l'ip 192.168.0.1+__**Note:​**__ On considérera que le réseau ​local est ''​192.168.0.0/​24''​, et que l'adresse IP du serveur ''​apache''​ est ''​192.168.0.1''​
  
 ==== Installation de apache2 + mysql + php5 ==== ==== Installation de apache2 + mysql + php5 ====
 +
 +Mettez à jour la liste des paquetages et votre système:
 +<code root>​apt-get update && apt-get upgrade</​code>​
  
 Tapez en console: Tapez en console:
-<​code ​bash>aptitude ​install apache2 mysql-server php5 libapache2-mod-php5 php5-mysql</​code>​+<​code ​root>apt-get ​install apache2 mysql-server php5 libapache2-mod-php5 php5-mysql</​code>​
  
 Il faut ensuite confirmer les dépendances en tapant ''​O''​ ou ''​Y''​ selon la langue de votre système. Il faut ensuite confirmer les dépendances en tapant ''​O''​ ou ''​Y''​ selon la langue de votre système.
  
-Le mot de passe pour **mysql** vous sera automatiquement demandé, renseignez-le à votre convenance.+On vous demandera de définir un mot de passe pour l'​administration du serveur de gestion de bases de données ''​mysql''​. 
 +Renseignez-le à votre convenance.
  
 === Pour démarrer le serveur : === === Pour démarrer le serveur : ===
  
-      /​etc/​init.d/​apache2 start+<code root>​service ​apache2 start</​code>​
  
 === Pour arrêter le serveur : === === Pour arrêter le serveur : ===
  
-      /​etc/​init.d/​apache2 stop+<code root>​service ​apache2 stop</​code>​
  
 === Pour redémarrer le serveur === === Pour redémarrer le serveur ===
  
 À faire pour prendre en compte des modifications À faire pour prendre en compte des modifications
-      /​etc/​init.d/​apache2 restart+<code root>​service ​apache2 restart</​code>​
  
 +=== Redémarrer un serveur en production intense ===
 +Relancer apache sans interrompre son fonctionnement,​ utile si vous voulez juste faire prendre en compte les modifications de configuration et que votre serveur est en production :
 +<code root>​service apache2 reload</​code>​
 ==== Installation de modules complémentaires pour php5 ==== ==== Installation de modules complémentaires pour php5 ====
  
-<​code ​bash>aptitude ​install php-pear php5-cli php5-gd php5-xsl php5-mcrypt php5-curl php5-imap</​code>​+<​code ​root>apt-get ​install php-pear php5-cli php5-gd php5-xsl php5-mcrypt php5-curl php5-imap</​code>​
  
 ==== Vérification ==== ==== Vérification ====
  
 Si vous êtes sur la machine locale, ouvrez votre navigateur internet et allez à l'URL : Si vous êtes sur la machine locale, ouvrez votre navigateur internet et allez à l'URL :
-    * http:%%/%%/127.0.0.1/+    * http://​127.0.0.1/​
 ou ou
-    * http:%%/%%/​localhost/ ​+    * http://​localhost/ ​
  
 Et nous devons obtenir : \\  Et nous devons obtenir : \\ 
  ​\\ ​  ​\\ ​
-{{http://​images.debian-facile.org/​file-Rc55b1dc4f1c12b08ba49582b21f2f0ee.png?​300 ​ }}+{{/​file-Rc55b1dc4f1c12b08ba49582b21f2f0ee.png?​300}}
  
 ==== Tester php5 ==== ==== Tester php5 ====
Ligne 58: Ligne 68:
 Nous allons tester l'​installation de php5 en créant la page web ''​phpinfo''​. Nous allons tester l'​installation de php5 en créant la page web ''​phpinfo''​.
  
-Avec la commande [[commande:cat]], créez le fichier /​var/​www/​phpinfo.php ainsi : +Avec la commande [[:​doc:​systeme:cat]], créez le fichier ​''​/​var/​www/​phpinfo.php'' ​ainsi : 
-<​code ​bash>cat > /​var/​www/​phpinfo.php <<EOF</​code>​ +<​code ​user>cat > /​var/​www/​phpinfo.php <<EOF
-<​code>​+
 <?php <?php
     phpinfo();     phpinfo();
Ligne 66: Ligne 75:
 EOF</​code>​ EOF</​code>​
  
-Puis, vous relancez ​l'url de votre navigateur en indiquant ​la page créée ​: ''​phpinfo.php'' ​ainsi : +Puis, vous relancez votre navigateur en indiquant ​l'​adresse ​: ''​http://​localhost/​phpinfo.php''​ \\ 
-\\  +Ce qui donne : 
-\\ +{{/​file-R9ec00abdc2fe18c09b455627705bf3cc.png?​300}}
-{{http://​images.debian-facile.org/​file-R9ec00abdc2fe18c09b455627705bf3cc.png?​300 ​ }} +
-\\  +
-\\+
  
 ==== Quelques options du fichier php.ini ==== ==== Quelques options du fichier php.ini ====
  
 Editez le fichier de configuration ''/​etc/​php/​apache2/​php.ini''​ ainsi : Editez le fichier de configuration ''/​etc/​php/​apache2/​php.ini''​ ainsi :
-<​code ​bash> nano /​etc/​php/​apache2/​php.ini</​code>​+<​code ​root> nano /​etc/​php/​apache2/​php.ini</​code>​
  
 Activer les variables globales : \\  Activer les variables globales : \\ 
-Depuis la version 4.2.0 de PHP, cette option est par défaut initialisée à ''​OFF''​ et ce pour des raisons de sécurité.+Depuis la version 4.2.0 de ''​PHP''​, cette option est par défaut initialisée à ''​OFF''​ et ce pour des raisons de sécurité.
  
-Voici un lien expliquant la raison de cette desactivation ​+Voici un lien expliquant la raison de cette désactivation ​
    ​manuel php    ​manuel php
 en root et recherchez la ligne commençant par : en root et recherchez la ligne commençant par :
Ligne 94: Ligne 100:
       error_reporting ​ =  E_ALL & ~E_NOTICE       error_reporting ​ =  E_ALL & ~E_NOTICE
  
-avec cette configuration,​ seulement les avertissements dus à des erreurs seront affichés. Si vous voulez afficher tous les messages, enlevez le dernier paramètre ainsi :+Avec cette configuration,​ seulement les avertissements dus à des erreurs seront affichés. Si vous voulez afficher tous les messages, enlevez le dernier paramètre ainsi :
       error_reporting ​ =  E_ALL       error_reporting ​ =  E_ALL
  
-utile lors du développement,​ mais préférable de le désactiver sur un serveur en prod.+Utile lors du développement,​ mais préférable de le désactiver sur un serveur en prod.
  
 ---- ----
Ligne 104: Ligne 110:
       display_errors = On       display_errors = On
  
-avec cette fonction ​activé, les erreurs sont affichés ​à l'ecran. Pour ne plus afficher les erreurs, remplacer on par off.+Avec cette fonction ​activée, les erreurs sont affichées ​à l'écran. Pour ne plus afficher les erreurs, remplacer ​''​on'' ​par ''​off''​.
  
 ---- ----
Ligne 111: Ligne 117:
       log_errors = On       log_errors = On
  
-sur on, ce paramètre enregistrera toutes les erreurs dans un fichier.+Sur ''​on''​, ce paramètre enregistrera toutes les erreurs dans un fichier.
  
 ---- ----
Ligne 118: Ligne 124:
       error_log = filename       error_log = filename
  
-ici on définit le nom du fichier de log en remplaçant filename par le chemin complet vers le fichier à écrire. Pensez à decommenter ​la ligne pour activer la fonction. ​+Ici on définit le nom du fichier de log en remplaçant ​''​filename'' ​par le chemin complet vers le fichier à écrire. Pensez à dé-commenter ​la ligne pour activer la fonction. ​
  
 ==== Personnaliser les messages d'​erreurs ==== ==== Personnaliser les messages d'​erreurs ====
Ligne 130: Ligne 136:
       You don't have permission to access /.htaccess on this server.       You don't have permission to access /.htaccess on this server.
  
-et ainsi de suite, vous pouvez demander à apache de rediriger le visiteur sur une page défini ​sur laquelle vous préciserez ce que vous voulez lorsqu'​il générera une erreur. ​pour ce faire, 2 possibilités s'​offrent à nous : +et ainsi de suite, vous pouvez demander à apache de rediriger le visiteur sur une page définie ​sur laquelle vous préciserez ce que vous voulez lorsqu'​il générera une erreur. ​Pour ce faire, 2 possibilités s'​offrent à nous : 
--soit définir les pages à afficher dans le fichier /​etc/​apache2/​httpd.conf ​soit dans un fichier .htaccess à placer à la racine du serveur pour qu'il agisse partout. Pour ce faire, quelque soit la méthode ​choisi, on va utiliser la directive ErrorDocument. Exemple :+Soit définir les pages à afficher dans le fichier ​''​/​etc/​apache2/​httpd.conf'',​ \\ 
 +- Soit dans un fichier ​''​.htaccess'' ​à placer à la racine du serveur pour qu'il agisse partout.\\ 
 +Pour ce faire, quelque soit la méthode ​choisie, on va utiliser la directive ​''​ErrorDocument''​. Exemple :
       ErrorDocument 404 /​erreur/​404.html       ErrorDocument 404 /​erreur/​404.html
  
-ici, on redirige le visiteur vers une page nommé ​404.html se trouvant dans le dossier ​erreur lui meme à la racine du serveur. On peut très bien mettre l'​adresse d'une page externe en mettant son adesse ​complète genre http://​www.lapage_a_afficher.html. Vous pouvez faire ceci pour chaque message d'​erreur pouvant apparaître comme le 401, 402, 403, etc...+Ici, on redirige le visiteur vers une page nommée ''​404.html'' ​se trouvant dans le répertoire ''​erreur'' ​lui même à la racine du serveur. On peut très bien mettre l'​adresse d'une page externe en mettant son adresse ​complète genre ''​http://​www.lapage_a_afficher.html''​. Vous pouvez faire ceci pour chaque message d'​erreur pouvant apparaître comme le 401, 402, 403, etc...
  
-==== Activer la prise en compte des fichiers .htaccess : ====  +==== Activer la prise en compte des fichiers ​''​.htaccess'' ​: ====  
-pour ce faire, nous allons modifier quelques fichiers afin d'​ordonner ​à apache de prendre en compte les fichiers htaccess. Premier fichier à éditer,+Pour ce faire, nous allons modifier quelques fichiers afin d'​ordonner ​au serveur ''​apache'' ​de prendre en compte les fichiers ​''​htaccess''​. Premier fichier à éditer,
       /​etc/​apache2/​sites-available/​default       /​etc/​apache2/​sites-available/​default
  
Ligne 146: Ligne 154:
       AllowOverride All       AllowOverride All
  
-ceci est à effectuer pour les 2 premières apparitions de cette directive, c'est à dire, pour ce qui concerne /var/www seulement. On fait la même chose pour le fichier :+Ceci est à effectuer pour les 2 premières apparitions de cette directive, c'est à dire, pour ce qui concerne ​''​/var/www'' ​seulement. On fait la même chose pour le fichier :
       /​etc/​apache2/​sites-enabled/​000-default       /​etc/​apache2/​sites-enabled/​000-default
  
Ligne 152: Ligne 160:
  
  
-1) Avant toute chose, assurez vous d'​avoir ​activer ​la prise en compte des fichiers htaccess. Cf plus haut. +1) Avant toute chose, assurez vous d'​avoir ​activé ​la prise en compte des fichiers ​''​htaccess''​. Cf plus haut.
-2) Maintenant, il ne reste plus qu'a éditer le fichier +
-      /​etc/​apache2/​httpd.conf+
  
-dans lequel on va ajouter à la fin : +Entrez simplement ​la ligne suivante ​
-      LoadModule rewrite_module /​usr/​lib/​apache2/​modules/​mod_rewrite.so +<code root>a2enmod rewrite</code> 
- +Et redémarrer apache2 
-cette ligne indique à apache de charger le module permettant la réécriture d'url à la volée. Pour vérifier que la modif a bien été prise en compte, vous pouvez créer un script php contenant ceci +<code root>​service apache2 restart</code>
-      <?php phpinfo(); ?> +
- +
-ceci une fois exécuter dans votre navigateur vous montrera les détails de la configuration d'​apache. L'​information qui nous intéresse se trouve dans le section apache2handler,​ dans la sous section Load modules vous devriez voir à la fin mod_rewrite ce qui signifie que le mode est bien activé. +
-3)Passons à la pratique : je ne m'​étalerais pas sur la syntaxe à adopter pour la mise en place des redirections,​ je vais simplement donner un exemple basic. Commençons par créer un fichier php contenant un banal texte genre : +
-      si je vois ce message c'est que l'url rewriting fonctionne bien +
- +
-Mettez ce fichier à la racine de votre serveur et créez aussi un fichier .htaccess dans lequel vous allez mettre : +
-      RewriteEngine on +
-      RewriteRule ^test\.html$ ​/test.php [L] +
- +
-La première ligne demande l'​activation du mod rewrite et celle d'​après indique que lors d'une requête sur la page test.html, il faut renvoyer test.php . Une fois ceci fait, dans votre navigateur favoris tapez : **http:%%/%%/​localhost/​test.html** et si tout s'est bien passé, vous devriez voir apparaître le contenu de la page test.php.+
  
 ===== mysql ===== ===== mysql =====
  
 Voir : Voir :
-  * [[config:mysql]]+  * [[:​doc:​programmation:mysql]]
  
  
Ligne 182: Ligne 177:
  
 Voir : Voir :
-  * [[config:​phpmyadmin]]+  * [[:doc:reseau:​phpmyadmin]]
  
 ===== Installation de apache par compilation des sources ===== ===== Installation de apache par compilation des sources =====
Ligne 271: Ligne 266:
   ln -s /​usr/​local/​bin/​apachectl /​etc/​init.d/​apache2   ln -s /​usr/​local/​bin/​apachectl /​etc/​init.d/​apache2
   update-rc.d apache2 default   update-rc.d apache2 default
- 
-==== Installation par compilation de php ==== 
- 
-Voir :  
-  * [[config:​php | Compilation de php]] 
- 
  
 ===== Sources et Remerciements ===== ===== Sources et Remerciements =====

Pied de page des forums

Propulsé par FluxBB