Auteur Sujet: [APACHE2][DEBIAN] Installation pour les nuls.  (Lu 7373 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne M_le_maudit

  • Administrateur
  • Petit NAS
  • *****
  • Messages: 91
  • Sexe: Homme
  • Il vit ! Il vit !
    • Voir le profil
    • Le Petit Serveur
[APACHE2][DEBIAN] Installation pour les nuls.
« le: 26 Octobre 2006 à 23:59:57 »
Bonsoir, bonsoir,

   Comme promis, je vais tâcher de vous faire partager mes recherches et expèriences concernant la mise en place de mon petit serveur.
Je n'ai pas la prétention de réinventer la poudre, nombres de tutoriaux existent déjà pour nombre de sujets et plus particulièrement les applications phares utilisées dans le cadre de serveurs persos ou professionnels.

   Je vais tâcher simplement d'expliquer et de commenter en bon français les différentes étapes que j'ai pu suivre pour arriver à mes fins. Libre à vous de proposer votre propre vision du sujet ou vos liens dans la section appropriée de ce forum. Il est d'ailleurs là pour ça.

Je m'attaque ce soir à Apache2, pourquoi d'abord lui ? Parce que .

   Inutile de vous présenter Apache , le serveur web certainement le plus utilisé au monde et certainement le plus difficile à comprendre intégralement. Heureusement le paquet Debian est fait de manière à simplifier au maximum la gestion du serveur en séparant les différents éléments qui le constituent. Je ne sais pas si c'est une particularité de la distribution Debian ou bien si cette gestion fait partie tout simplement de la version 2 du serveur;  toujours est-il que par rapport à la version 1 , la configuration se fait les doigts dans le nez pour peu que l'on ai comprit la structure de  la sus-nommée configuration.

   Sachez aussi avant toute chose qu'Apache est aussi reconnu pour sa gourmandise en mémoire vive et en temps machine. Si vous disposez de peu de ressources système, peut-être préfèrerez-vous vous tourner vers d'autres solutions moins gourmandes mais qui remplissent leur office au moins aussi bien (sinon mieux) qu'Apache au prix de quelques fonctions manquantes.
Je connais pour ma part Lighttpd qui semble très apprécié pour ses qualités en terme de rapidité et de simplicité de mise en oeuvre. Si l'un de vous connait le bébé, il peut faire un tuto.  ;)

   Pourquoi ai-je alors choisi Apache2 ? Par simple souci de simplicité et surtout parce que je savais que j'aurai très certainement plus de réponses à d'éventuelles questions en cas de problème (ce qui fut le cas).
Dans ce tuto vous sera également expliqué comment installer le module PHP pour le serveur APACHE2. Cette opération est tellement simple que je pourrais m'abstenir de la décrire, mais comme on dit, qui peux le plus ...
J'allais oublier le pendant presque indispensable de PHP, MYSQL , le messie des forums, le seigneur des blog, le boudha des galeries photos.

   Procédons tout d'abord à l'installation proprement dites des applications. Sur Debian, rien de plus simple, il suffit de connaitre le nom des paquets à installer. Pour celà un petit tour à cette adresse vous permettra facilement de trouver que les paquets nécessaires sont :

  • apache2 pour le serveur en lui-même
  • php5 pour le language script PHP dans sa dernière version
  • libapache2-mod-php5 pour le module PHP du serveur
  • mysql-server , la base mysql
  • php5-mysql pour le module de gestion de base dans PHP

Donc un apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql vous installera tout ça le plus simplement du monde.

   Après installation , votre serveur web, PHP et votre base mysql sont d'ors et déjà fonctionnels et testable. Pour apache2 , normalement un http://localhost/ (ou http://nom-du-serveur/ ou http://IP-du-serveur/ si vous n'êtes pas en local sur votre serveur) dans votre navigateur vous renvoie la page par défaut de l'installation Debian.
Concernant MYSQL , il faut savoir que par défaut le user est root et sans mot de passe;  il est donc fortement conseillé d'au moins mettre un mot de passe au user root sous MYSQL. Pour celà , le script PHPMYADMIN est très pratique et lui aussi installable via les paquets Debian. Rendez-vous à la fin du tuto pour ce point là.

   Après cette installation , je vais vous décrire un petit peu la structure des fichiers de configuration de APACHE2.
L'ensemble de ces fichiers se trouvent dans le répertoire /etc/apache2/ qui est d'ailleurs aussi la racine de l'application.

Ce répertoire est organisé de cette manière :

apache2
    |_____README
    |_____apache2.conf
    |_____conf.d
    |            |___________charset
    |_____envvars
    |_____httpd.conf
    |_____magic
    |_____mods-available
    |                 |________headers.load
    |                 |________include.load
    |                 |________mime_magic.conf
    |                 |________mime_magic.load
    |                 |________php5.conf
    |                 |________php5.load
    |                 |________etc .....
    |_____mods-enabled
    |                 |________mime_magic.conf (lien symbolique)
    |                 |________mime_magic.load (lien symbolique)
    |                 |________php5.conf (lien symbolique)
    |                 |________php5.load (lien symbolique)
    |_____ports.conf
    |_____sites-available
    |                 |________default       
    |_____sites-enabled
    |                 |________000-default (lien symbolique)
    |_____ssl
              |_____________apache.pem

On va passer rapidement sur le fichier README  :pinch:
  • apache2.conf : fichier principal de configuration, incluant la configuration de base générale du serveur.
  • conf.d : répertoire dans lequel on mettra les configurations supplémentaires générales au serveur (j'y ai par exemple inclu un fichier ssl.conf pour la configuration https/ssl).
  • envvars : fichier pour les variables d'environnement, inutilisé dans mon cas.
  • httpd.conf : ce fichier était à l'origine le fichier principal de configuration de apache, il n'est pas utilisé ici (en tout cas sur Debian) et n'est présent que par souci de compatibilité.
  • magic : données de configuration du module mime_magic.
  • mods-available : ce répertoire contient tous les fichiers de configuration et de chargement des modules apache installés. Lorsque vous installez un module via apt-get (tel que libapache2-mod-php5), les fichiers de load et de conf correspondants sont automatiquement créés ici.
  • mods-enabled : voilà la subtilité de la configuration apache2 de Debian (et peut-être d'autres distrib); lorsque vous voulez activer un module apache2, il vous suffit de créer un lien symbolique du fichier de conf et/ou de load du module désiré ici même. Le module sera alors chargé lors du prochain redémarage du serveur apache.
    Pour celà, soit vous créez ce lien à la main, soit vous pouvez utiliser l'utilitaire a2enmod (par exemple pour php : a2enmod php5). Une fois les liens créés vous pouvez relancer apache pour les activer (/etc/init.d/apache2 restart).
  • ports.conf : liste simplement les ports internet que le serveur doit écouter (dans mon cas les ports 80 et 443).
  • sites-available : comme pour les modules, ce répertoire contient la configuration spécifique à chaque site web que vous voudrez installer sur votre serveur. Pour le moment seul le site "default" est créé; à vous de vous inspirer de ce fichier pour créer le votre ou les votre (pas d'inquiétude, je vous explique comment plus loin  :ouf:).
  • sites-enabled : là aussi, comme pour les modules, ce répertoire contient les liens symboliques vers les fichiers de configuration des sites web que vous désirerez activer ou non. De la même manière, vous pouvez créer ces liens manuellement ou plus simplement à l'aide de la commande a2ensite votre-fichier-de-site-web.
  • ssl : dans le cas de l'utilisation du module ssl pour créer des pages cryptées (protocol https), ce répertoire contient le fichier PEM et le lien vers la clé de cryptage SSL.

   Maintenant il vous faut déclarer un site web. Avant toute chose vous devez avoir au moins un nom de domaine associé à votre adresse IP publique (celle fournie par votre provider internet). Chez free il est possible d'avoir gratuitement un nom sous la forme votrenom.hd.free.fr, le formulaire est sur la page de l'interface de gestion, dans le cadre "FONCTIONNALITÉS OPTIONNELLES" , menu "Personnaliser mon reverse DNS", champs "Entrée DNS personnalisée".
Sinon vous pouvez aussi prendre un nom gratuit chez DynDNS par exemple (il doit y en avoir d'autres).
Après rien ne vous oblige à avoir un nom mais vous ne pourrez bien évidemment accèder à votre site que par votre adresse ip.

   Voilà par exemple le fichier de configuration du site www.lepetitserveur.fr, le fichier est donc présent dans le sous-répertoire sites-available et logiquement nommé lepetitserveur.fr :

NameVirtualHost *

<VirtualHost *>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ServerAdmin Mlemaudit1@gmail.com
        ServerName www.lepetitserveur.fr
ServerAlias lepetitserveur.fr forum.lepetitserveur.fr
        DocumentRoot /mnt/web/lepetitserveur.fr/forum
<Directory /mnt/web/lepetitserveur.fr/forum>
Options FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>

        ErrorLog /var/log/apache2/error_petitserveur.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
       LogLevel warn
       CustomLog /var/log/apache2/access_petitserveur.log "combined"
       ServerSignature On
</VirtualHost>

    Je ne vais pas vous détailler l'ensemble des options de configuration , la documentation d'apache est là pour celà et plutôt bien faite.
Je m'attarderai simplement sur le ServerName qui doit donc correspondre à votre nom de domaine (si vous n'en avez pas, votre adresse IP publique). Les ServerAlias correspondent ici aux noms de sous-domaines que je me suis réservé (vous pouvez essayer l'adresse http://forum.lepetitserveur.fr, vous tomberez au même endroit  :ninja:).
Les fichiers de votre site peuvent se trouver n'importe où sur votre disque dur, essayez quand même de respecter une certaine logique. Pour moi , tout ce qui est destiné au service web se trouve dans le répertoire /mnt/web. Comme j'héberge trois sites différents, j'ai créé trois sous répertoires leur correspondant, dont lepetitserveur.fr.
Comme j'ai l'intention d'installer un CMS ou un portail pour le site , j'ai installé provisoirement la racine du site sur le répertoire forum; lorsque j'installerai le CMS , je repositionnerai la racine du site sur le répertoire parent lepetitserveur.fr.
 
   Ainsi, si vous disposez de plusieurs noms de domaines, il vous suffit de créer un fichier de configuration pour chacun d'eux et de positionner les fichiers web de chaque site dans un répertoire séparé. Vous pouvez donc héberger autant de sites que de noms de domaines; en effet vous pouvez avoir autant de noms que vous voulez pointant sur une seule et même adresse IP.
 
   Après vous pouvez même attribuer une certaine quantité de votre disque dur à des utilisateurs en utilisant le système de quotas de linux et limiter leur accès à leur répertoire /home respectifs, vous déclarez la racine de leur site sur un sous répertoire /home/user/www et voilà, vous avez créé un serveur web mutualisé chez vous.

Mais c'est une autre histoire...

Cadeau bonux, l'installation de PhpMyAdmin.

   Comme promis plus haut, voilà une petite description de l'installation sous Debian du script de gestion de bases Mysql fonctionnant sous PHP.
Il est bien évidemment possible de gérer ses bases Mysql via la ligne de commande de votre serveur, mais c'est tout de même très rébarbatif. De plus, PhpMyAdmin existe, alors pourquoi s'en priver.

   Pour l'installation, vous êtes maintenant des dieux et tapez donc sans hésitation un superbe apt-get install phpmyadmin.
Bien évidemment, l'installation ne va pas vous balancer le script sur votre serveur web comme par magie. Le répertoire d'installation de PhpMyAdmin se trouve en fait dans /usr/share/phpmyadmin et l'installation créé un lien symbolique vers ce répertoire dans le répertoire d'installation du site par défaut d'apache /var/www/ (si si, souvenez vous : la page par défaut de l'installation Debian ) ce site ce trouvant dans /var/www/apache2-default (jetez donc un oeil sur le fichier default dans votre /etc/apache2/sites-available)

   Et bien il vous suffit simplement de copier ce lien symbolique dans le répertoire de votre site et voilà, un petit http://www.votresite.fr/phpmyadmin devrait vous envoyer sur cette page.
Normalement, si vous n'avez rien touché le user root sans mot de passe vous permettra de vous loguer sur PhpMyAdmin. Bien évidemment vous allez vous précipiter sur l'option "Privilèges" dans PhpMyAdmin pour affecter immédiatement un mot de passe à votre user root.

   Voilà, j'espère ne pas avoir oublié trop de choses. Ce tuto n'est finalement qu'une compilation des différentes recherches et réponses aux questions que j'ai pu poser lors de l'installation du Petit Serveur. J'espère malgré tout que ce tutoriel vous sera utile.
« Modifié: 01 Février 2011 à 21:00:11 par M_le_maudit »
Serveur SOHO
Boitier HTPC
Intel Core I5 760
16 Go DDR3
4xSATA 1.5 To + 1xSATA 500 Go
Seven (Eeeeehh oui !)

Hors ligne cben76

  • Disque externe
  • *
  • Messages: 48
    • Voir le profil
Re : [APACHE2][PHP][MYSQL][DEBIAN] Pour les nuls.
« Réponse #1 le: 27 Octobre 2006 à 17:51:13 »
Super travail M !
Continue, c'est super bien !


Hors ligne cben76

  • Disque externe
  • *
  • Messages: 48
    • Voir le profil
Re : [APACHE2][DEBIAN] Installation pour les nuls.
« Réponse #2 le: 01 Novembre 2006 à 00:24:51 »
Excellent Tuto M !
Dés que j'aurai reussi a installer mes drivers, je pourrais essayer tout ca ^^ (putain de recompilation de noyau  :puke:)

Hors ligne Leks

  • Disque externe
  • *
  • Messages: 1
    • Voir le profil
Re : [APACHE2][DEBIAN] Installation pour les nuls.
« Réponse #3 le: 30 Juin 2007 à 00:43:35 »
Ce tuto est fortement inspiré de cette page http://www.libordux.org/doc/debian/lamp.php.

De plus il un lien cassé pointant sur l'exemple qui a été déplacé sur le site de Libordux.Org.

Je pense donc qu'il y a violation de licence GNU FDL, les sources ne sont pas sitées.

Librement

Hors ligne M_le_maudit

  • Administrateur
  • Petit NAS
  • *****
  • Messages: 91
  • Sexe: Homme
  • Il vit ! Il vit !
    • Voir le profil
    • Le Petit Serveur
Re : Re : [APACHE2][DEBIAN] Installation pour les nuls.
« Réponse #4 le: 01 Juillet 2007 à 21:09:56 »
Ce tuto est fortement inspiré de cette page http://www.libordux.org/doc/debian/lamp.php.

De plus il un lien cassé pointant sur l'exemple qui a été déplacé sur le site de Libordux.Org.

Je pense donc qu'il y a violation de licence GNU FDL, les sources ne sont pas sitées.

Librement


J'adore , le gars s'inscrit sur un forum autant fréquenté qu'une plaine d'afghanistan après le passage des migs et la seule chose qu'il écrit est une critique à deux balles. Fabuleux !

Pour ton info mon coco , sache que je ne suis jamais allé sur http://www.libordux.org/doc/debian/lamp.php j'avais simplement besoin d'un exemple de page d'install par défaut d'apache, ayant viré la mienne, et que rien ne ressemble plus à un tuto concernant une appli qu'un autre tuto concernant la même appli. Donc si tu t'es inscrit juste pour celà, tu peux repartir, merci.

Violation de licence parce que le lien n'est pas mis à jour , uh uh uh uh ! Il est trop fort !

EDIT : Tiens ! J'ai remis la mienne , comme ça , tu viendra plus faire chier les mérous.
« Modifié: 01 Juillet 2007 à 21:36:42 par M_le_maudit »
Serveur SOHO
Boitier HTPC
Intel Core I5 760
16 Go DDR3
4xSATA 1.5 To + 1xSATA 500 Go
Seven (Eeeeehh oui !)