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/07/2014 17:26]
captnfab [Installation de apache par compilation des sources]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== serveur apache ====== 
  
-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 : ===== 
- 
-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 ===== 
- 
-__**Distribution utilisée:​**__ Debian stable 
- 
-__**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 
- 
-__**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 ==== 
- 
-Mettez à jour la liste des paquetages et votre système: 
-<code root>​apt-get update && apt-get upgrade</​code>​ 
- 
-Tapez en console: 
-<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. 
- 
-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 : === 
- 
-<code root>​service apache2 start</​code>​ 
- 
-=== Pour arrêter le serveur : === 
- 
-<code root>​service apache2 stop</​code>​ 
- 
-=== Pour redémarrer le serveur === 
- 
-À faire pour prendre en compte des modifications 
-<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 ==== 
- 
-<code root>​apt-get install php-pear php5-cli php5-gd php5-xsl php5-mcrypt php5-curl php5-imap</​code>​ 
- 
-==== Vérification ==== 
- 
-Si vous êtes sur la machine locale, ouvrez votre navigateur internet et allez à l'URL : 
-    * http://​127.0.0.1/​ 
-ou 
-    * http://​localhost/ ​ 
- 
-Et nous devons obtenir : \\  
- ​\\ ​ 
-{{/​file-Rc55b1dc4f1c12b08ba49582b21f2f0ee.png?​300}} 
- 
-==== Tester php5 ==== 
- 
-Nous allons tester l'​installation de php5 en créant la page web ''​phpinfo''​. 
- 
-Avec la commande [[:​doc:​systeme:​cat]],​ créez le fichier ''/​var/​www/​phpinfo.php''​ ainsi : 
-<code user>cat > /​var/​www/​phpinfo.php <<EOF 
-<?php 
-    phpinfo(); 
-?> 
-EOF</​code>​ 
- 
-Puis, vous relancez votre navigateur en indiquant l'​adresse : ''​http://​localhost/​phpinfo.php''​ \\ 
-Ce qui donne : 
-{{/​file-R9ec00abdc2fe18c09b455627705bf3cc.png?​300}} 
- 
-==== Quelques options du fichier php.ini ==== 
- 
-Editez le fichier de configuration ''/​etc/​php/​apache2/​php.ini''​ ainsi : 
-<code root> nano /​etc/​php/​apache2/​php.ini</​code>​ 
- 
-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é. 
- 
-Voici un lien expliquant la raison de cette désactivation :  
-   ​manuel php 
-en root et recherchez la ligne commençant par : 
-      register_globals 
- 
-et remplacez off par on. 
- 
----- 
- \\ 
- 
-Ensuite : 
-      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 : 
-      error_reporting ​ =  E_ALL 
- 
-Utile lors du développement,​ mais préférable de le désactiver sur un serveur en prod. 
- 
----- 
- \\ 
- 
-      display_errors = On 
- 
-Avec cette fonction activée, les erreurs sont affichées à l'​écran. Pour ne plus afficher les erreurs, remplacer ''​on''​ par ''​off''​. 
- 
----- 
- \\ 
- 
-      log_errors = On 
- 
-Sur ''​on'',​ ce paramètre enregistrera toutes les erreurs dans un fichier. 
- 
----- 
- \\ 
- 
-      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 à dé-commenter la ligne pour activer la fonction. ​ 
- 
-==== Personnaliser les messages d'​erreurs ==== 
- 
-Si vous voulez offrir autre chose que les traditionnelles : 
-      Not Found 
-      The requested URL /foru was not found on this server. 
- 
-ou 
-      Forbidden 
-      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é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 choisie, on va utiliser la directive ''​ErrorDocument''​. Exemple : 
-      ErrorDocument 404 /​erreur/​404.html 
- 
-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''​ : ====  
-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 
- 
-On va remplacer 
-      AllowOverride None 
- 
-par : 
-      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 : 
-      /​etc/​apache2/​sites-enabled/​000-default 
- 
-==== Activer l'url rewriting ==== 
- 
- 
-1) Avant toute chose, assurez vous d'​avoir activé la prise en compte des fichiers ''​htaccess''​. Cf plus haut. 
- 
-Entrez simplement la ligne suivante : 
-<code root>​a2enmod rewrite</​code>​ 
-Et redémarrer apache2 
-<code root>​service apache2 restart</​code>​ 
- 
-===== mysql ===== 
- 
-Voir : 
-  * [[:​doc:​programmation:​mysql]] 
- 
- 
- 
-===== phpmyadmin ===== 
- 
-Voir : 
-  * [[:​doc:​reseau:​phpmyadmin]] 
- 
-===== Installation de apache par compilation des sources ===== 
- 
-//Il est intéressant d'​installer son //**serveur web**// de façon manuelle, afin de bénéficier des //​**dernières versions stables**// , et d'​optimiser l'​utilisation ou non de certains modules afin d'​améliorer les performances en générale .// 
- 
-==== I. Téléchargement des sources ==== 
- 
-Commençons par télécharger les dernières sources disponibles depuis le site d'​apache : 
-  * http://​apache.multidist.com/​httpd/​httpd-2.2.11.tar.gz 
- 
-<code bash>$ cd /​usr/​local/​src/</​code>​ 
-<code bash>$ wget http://​mirror.mkhelif.fr/​apache/​httpd/​httpd-2.2.11.tar.gz</​code>​ 
-<code bash>$ tar xzf httpd-2.2.11.tar.gz</​code>​ 
-<code bash>$ rm -f httpd-2.2.11.tar.gz</​code>​ 
-<code bash>$ cd httpd-2.2.11/</​code>​ 
- 
- 
-==== II Configuration avant compilation ==== 
- 
-Il n'est pas nécessaire d'​avoir tous les modules actifs , selon l'​utilisation d'​apache , vous pouvez spécifier quels sont les modules que vous souhaitez activer ou non , ainsi que de nombreux autres paramètres ​ 
- 
-Pour avoir la liste des paramètres lancez cette commande 
-  ./configure --help | less 
- 
- 
-Nous allons donc créer notre fichier de configuration , pour effectuer une compilation aux petits oignons 
-  vim my_configure 
- 
-Voici un exemple de ce fichier , je vous laisse lire la documentation d'​apache , pour voir ce qui a été activé/​désactivé , bien que le nom de ces paramètres sont assez parlant ​ 
-  #!/bin/sh 
- 
-  #​optimisation pour la compilation 
-  export CC="​gcc"​ 
-  export CFLAGS="​-02"​ 
- 
-  #Config des sources pour l'env 
-  ./configure --prefix=/​usr/​local \ 
-        --enable-rewrite \ 
-        --enable-so \ 
-        --enable-cache \ 
-        --enable-mem-cache \ 
-        --enable-alias \ 
-        --enable-vhost-alias \ 
-        --enable-ssl=shared \ 
-        --disable-status \ 
-        --disable-cgi \ 
-        --disable-cgid \ 
-        --enable-unique-id \ 
-        --enable-ssl \ 
-  
-Nous allons ensuite changer le mode du fichier de configuration afin de pouvoir l'​exécuter comme un script 
- 
-  chmod 700 my_configure 
- 
-Enfin , nous allons exécuter notre petit script de configuration . 
-En cas d'​erreurs , il vous faudra peut être installer des librairies supplémentaires , celles-ci seront spécifiées dans le message d'​erreur .  
- 
-  ./​my_configure 
- 
-Si plus aucun message d'​erreurs n'​apparait , on peut passer à l'​étape suivante. 
- 
-==== III Compilation ==== 
- 
-Nous y sommes , l'​étape finale de cette installation manuelle, pour finir , deux commandes suffisent 
- 
-  make 
- 
-puis 
- 
-  make install 
- 
- 
-==== IV Après la compilation ==== 
- 
- 
-=== Le fichier de configuration === 
- 
-Une fois installé , apache se trouve à l'​endroit spécifié par la ligne **prefix** de notre fichier de configuration . Le fichier de configuration d'​apache se trouve donc dans **/​usr/​local/​conf/​httpd.conf** 
- 
-  vim /​usr/​local/​conf/​httpd.conf 
- 
- 
-=== Lancer apache au démarrage du serveur === 
- 
-Le script **apachectl** est conçu pour fonctionner comme un script d'​initialisation SysV standard; il accepte les arguments **start**, **restart**,​ et **stop** , nous allons donc pouvoir directement le mettre dans le répertoire **init.d** 
- 
-  ln -s /​usr/​local/​bin/​apachectl /​etc/​init.d/​apache2 
-  update-rc.d apache2 default 
- 
-===== Sources et Remerciements ===== 
- 
-  * [[http://​lindev.fr/​|Lindev.fr]] 
-  * http://​doc.ubuntu-fr.org/​lamp 
doc/obsolete/apache.1404574012.txt.gz · Dernière modification: 05/07/2014 17:26 par captnfab

Pied de page des forums

Propulsé par FluxBB