tutorial_ créer un serveur web complet sous debian -

Upload: balzofaye

Post on 02-Mar-2016

26 views

Category:

Documents


0 download

TRANSCRIPT

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 1/8

    TUTO APPLICATIONFACEBOOK

    Crer une application Facebookde A Z en PHP. API Facebook,viralit, montisation ...

    TUTO SYMFONY2

    A travers le projet WatchMyDesk,apprenez matriser leFramework PHP5 Symfony2.

    CRATION SITE WEB

    Cration de sites web,applications Facebook surmesure, e-commerce,applications iPhone ...

    08JAN

    TUTORIAL: CRER UN SERVEUR WEB COMPLET SOUS DEBIAN - #1 APACHE

    Publi le 08/01/09 08h48 par DJo

    Voici un nouveau tutorial qui vous sera sans doute utile si vous venez d'installer la distribution linux Debian (Ou Ubuntu)sur votre serveur.

    INTRODUCTION

    OBJECTIF DE CE TUTORIAL

    L'objectif du tutorial est d'obtenir un serveur linux debian permettant d'hberger et de grer vos sites web PHP / MySQL distance, uniquement avec un accs SSH.

    Voici les diffrentes parties du tutorial qui seront divises en 5 billets:

    Configuration de Debian

    Installation et configuration d'Apache 2

    Installation et configuration de PHP 5

    Installation et configuration de la base de donnes: MySQL

    Installation de phpMyAdmin

    Installation et configuration d'un serveur FTP: pureFTPd + MySQL

    Installation et configuration d'un serveur d'email: Postfix + Courier

    Mise en place d'un Webmail: RoundCube

    Installation d'un script de Backup

    Chercher

    ACCUEIL

    FORUM

    LA FERME

    Toutes les actus

    S'inscrire

    S'identif ier

    Forum

    Web Event

    Contactez-nous

    A propos

    LES TUTOS

    LA VEILLE TWITTER

    LES ARCHIVES

    NUAGE DE TAGS

    SERVICES

    Guide Hbergeur / Serveur

    www.guide-hebergeur.fr

    Comparer les offres d'hbergement Domaine, Mutualis, VDS/VPS, Ddi

    SeConnecter

    Crerun compte

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 2/8

    Un peu de scurit serveur

    PR REQUIS

    Pour raliser ce tutorial, vous devrez au pralable avoir des connaissances en ligne de commande linux (Au moins les

    commandes basiques: cd, mkdir, mv ...).

    Disposer d'un client SSH (Comme Putty), d'un client FTP (Comme FileZilla), et bien sr de votre serveur avec une

    Debian fraichement installe.

    Vous aurez aussi besoin d'au moins un nom de domaine pointant sur votre serveur.

    CONFIGURATION DE DEBIAN

    Ca y'est on entre dans le vif du sujet.

    Votre distribution Debian est correctement installe (Pas besoin d'installer d'environnement graphique).

    Ouvrez votre client SSH (Putty ou autre), et connectez-vous votre serveur en mode root

    (Note aux puristes: Je suis un fainant, je n'utilise pas sudo, mais je vous recommande de ne pas faire comme moipour viter les btises irrversibles)

    Une fois connect, je vous conseille de modifier directement le fichier .bashrc pour plus de confort:

    root$ nano .bashrc

    Dans le fichier, dcommentez ou rajoutez les lignes suivantes:

    if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=auto'

    fi

    # ls Aliasesalias ll='ls -alL'alias la='ls -A'

    alias l='ls -CF'

    Elles nous permettront d'utiliser des raccourcis, et modifiez aussi le 'PS1'

    PS1="\u [\w] > "

    Ctrl + X pour quitter nano, puis O (ou Y suivant la langue) pour sauvegarder et entrer pour valider le nom du fichier.

    Il faut que la console actuelle prenne en compte nos modifications, tapez la commande suivante:

    root$ source .bashrc

    Et vous remarquerez que le curseur de votre console chang. Il affichera dsormais l'utilisateur logu en premier puis

    entre crochet, le chemin du rpertoire o vous vous trouvez.

    Nous sommes prts dsormais attaquer la configuration !

    MISE JOUR DE LA DISTRIBUTION ET SOURCES.LIST

    Votre distribution de Debian n'est peut tre pas la dernire version, nous allons donc tout mettre jour maintenant.

    Nous allons utiliser le plus bel outil de Debian: apt-get

    root [~] > apt-get update

    puis

    root [~] > apt-get upgrade

    rpondez oui si il vous ai demand d'installer les dernires versions des logiciels et enfin

    root [~] > apt-get dist-upgrade

    Mettez tout jour si vous en avez besoin.

    Ensuite, nous allons renseigner les sources des dpts que l'on va utiliser plus tard.

    root [~] > nano /etc/apt/sources.list

    Ajoutez ou dcommentez les lignes suivantes:

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 3/8

    deb http://ftp.easynet.be/ftp/debian/ etch main non-free contribdeb http://security.debian.org/ etch/updates main contrib non-free

    Vous pouvez choisir d'autres dpts officiels.

    Assurez-vous surtout de ne pas avoir uniquement la source CD-Rom comme dpot.

    Aprs modifications du fichier sources.list, mettez jour la liste des dpts:

    root [~] > apt-get update

    Installez les librairies de bases:

    root [~] > apt-get install build-essential

    INSTALLATION ET CONFIGURATION D'APACHE 2

    Commenons dj par installer apache2, le serveur web.

    root [~] > apt-get install apache2

    Rpondez oui pour installer les packages dpendants:

    The following extra packages will be installed:

    apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libexpat1 libmagic1 libpcre3 libpq4 libsqlite3-0 mime-support

    Et voil, apache2 est prt emploi ! Pour vrifier si tout s'est bien pass, ouvrez votre navigateur prfr et entrez l'IPde votre serveur. Vous devriez avoir le message suivant:

    It works!

    UN PETIT TOUR DANS LE FICHIER DE CONFIG D'APACHE

    Nous allons faire quelques petites modifications dans la configuration de base d'apache2:

    root [/var/www] > nano /etc/apache2/conf.d/charset

    1) Changement du Charset

    Si vous souhaitez que votre serveur web prenne en charge par dfaut le charset utf-8 ou ISO-8859-1, je vous

    recommande de dcommenter la ligne suivante:

    AddDefaultCharset UTF-8

    Supprimez simplement le # devant la ligne.

    Sauvegardez et quittez.

    2) Fichiers index

    Il faut spcifier Apache les fichiers qu'il doit considrer comme des fichiers index et qui seront donc automatiquementappels.

    Pour faire plus propre, nous mettrons tous nos ajouts en terme de configuration dans le fichier httpd.confautomatiquement charg par apache2.

    root [/var/www] > nano /etc/apache2/httpd.conf

    Ajoutez la ligne suivante en spcifiant les types de fichier index prendre en compte:

    DirectoryIndex index.html index.htm index.xhtml index.php

    Dans ce mme fichier, ajoutez le reverse-DNS de votre serveur ou dfaut localhost:

    ServerName debian.domain.tld#ServerName localhost

    3) Dossiers web personnels

    Optionnellement, si vous souhaitez que chaque utilisateur de votre serveur linux dispose d'un espace web, vous pouvez

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 4/8

    ajouter la ligne suivante:

    UserDir www

    Sauvegardez et quittez.

    Dans la version 2.2 d'apache, il faut activer le module userdir, tapez:

    root [/var/www] > a2enmod userdir

    Ainsi vous pourrez accder au contenu de l'espace web /home/NOMUSER/www/ partir de l'adressehttp://www.votredomaine.com/~NOMUSER/

    4) Reboot du serveur web

    Pour qu'apache prenne en compte ces modifications, nous rebootons le serveur web:

    root [/var/www/] > apache2ctl restart

    Si tout s'est correctement droul, vous ne devriez avoir aucun message et votre serveur web devrait toujours treaccessible.

    Nous aurons sans doute retourner dans ces fichiers de configuration plus tard, pour le moment, passons aux virtualshost.

    CONFIGURATION DES VHOSTS ET RPERTOIRES WEB

    Apache cr le dossier /var/www/ o seront stocks vos sites web.

    Nous allons commencer par dplacer le rpertoire par dfaut d'apache qui se trouve la racine :

    root [/var/www] > mkdir default-site

    Puis modifiez le vhost par dfaut en ouvrant le fichier /etc/apache2/sites-available/default.

    Si le documentRoot se rsume /var/www, remplacez le par /var/www/default-site. Faire de mme pour la directiveDirectory.

    Sauvegarder et fermer ce fichier, puis ouvrez la version ssl, /etc/apache2/sites-available/default-ssl, et effectuer les

    mmes changements.

    Puis, dplacez le fichier par dfaut dans ce nouveau dossier :

    root [/var/www/] > mv -f /var/www/index.html /var/www/default-site/index.html

    Nous allons maintenant crer le rpertoire o sera stock notre site.

    root [/var/www] > mkdir lafermeduweb

    J'utiliserais lafermeduweb comme nom de rpertoire dans tout le tutorial, ds que vous verrez ce nom de dossier,remplacez le par le nom de votre site.

    Bon, notre serveur marche bien, mais pour le moment, nous ne pouvons que y accder partir de son IP. Pas trs

    pratique !

    Nous allons crer des virtuals hosts dans apache pour que notre nom de domaine pointe directement sur le rpertoireque nous venons de crer sur le serveur.

    Crez un fichier index.html dans le rpertoire que vous venez de crer.

    root [/var/www/lafermeduweb] > nano index.html

    Puis mettez une balise de titre juste pour tester si la redirection du domaine est bien effectue.

    Bienvenue sur mon nouveau site !

    Sauvegardez (CTRL+X, Y ou O, Entre) et quittez l'dition du fichier.

    Comment faire pour afficher l'index.html lorsque l'on entre mon domaine ?

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 5/8

    (1) L'utilisateur va entrer l'adresse de notre site dans son navigateur.

    (2) Les serveurs DNS vont tre interrogs pour connatre l'IP associe

    (3) Notre serveur web est interrog

    (4) Les fichiers vHosts sont analyss par Apache, s'il trouve une correspondance avec l'adresse demande, il appelle lefichier index du rpertoire associ. Et la page est affiche au visiteur.

    Crer les fichiers vHosts apache

    Rendez-vous dans le rpertoire /etc/apache2/sites-availab le puis crer le fichier vHost (Pour rester clair, il est conseill

    de faire un fichier vHost par domaine):

    root [/etc/apache2/sites-available] > nano lafermeduweb.net

    Et entrez les lignes suivantes:

    ServerAdmin postmaster [ at ] lafermeduweb.net

    ServerName www.lafermeduweb.net ServerAlias *.lafermeduweb.net

    DocumentRoot /var/www/lafermeduweb/ Options -Indexes FollowSymLinks MultiViews AllowOverride All

    ServerSignature Off

    (Remplacez le [ at ] par un @ naturellement)

    Sauvegardez et quittez.

    Explications

    ServerAdmin S'il y'a un problme, le serveur crit un message cette adresse.

    ServerName Le nom doit domaine que vous souhaitez associer au serveur. Il doit tre dans les DNS du serveur. Siaucun nom n'est spcifi, alors le serveur tente de dduire un nom en procdant un "lookup inverse" partir de

    l'adresse IP.

    ServerAlias Cette instruction permet d'ajouter d'autres domaines ou sous domaines qui prendront en compte le mmefichier vHost.

    DocumentRoot Le rpertoire sur lequel apache redirigera les addresses spcifies plus haut.

    Directory Cette instruction permet d'ajouter des options et rgles au rpertoire web. Les options: -Indexes -> Permet de

    dsactiver le listing des fichiers si un utilisateur entre le nom d'un dossier sans index dans votre rpertoire web.FollowSymLinks -> Active le suivis des liens symboliques dans ce rpertoire. MultiViews -> Permet de dire apache dechercher s'il existe des fichiers du mme nom dans le rpertoire en cas d'erreur 404.

    Notre vHost est disponible mais il n'est pour le moment pas activ. Pour l'activer, il faut crer un lien symbolique dansle rpertoire des sites activs d'apache:

    root [/etc/apache2/sites-available] > a2ensite lafermeduweb.net

    Et enfin, comme apache2 n'a pas pris en compte nos modifications, on le restart:

    root [/etc/apache2/sites-available] > apache2ctl restart

    C'est l'heure du test !

    Tapez votre nom de domaine dans votre navigateur web favoris:

    It works!

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 6/8

    25 Commentaires linux - tutorials - cours - debian - apache - serveur

    Jaime 38 personnes aiment a. Inscription pour voir ce que vos amis aiment.

    2

    TweeterTweeter

    17

    1 2

    Suivant votre distribution, vous pouvez retomber sur le mme rsultat que tout l'heure, le domaine pointe bien sur leserveur mais pas sur le bon rpertoire.

    C'est normal, il faut commenter une ligne dans le vHost par dfaut:

    root [/etc/apache2/sites-enabled] > nano /etc/apache2/sites-enabled/000-default

    #RedirectMatch ^ /$ /apache2-default/

    Ajoutez un # devant RedirectMatch (Ligne 17) pour ne pas tre redirig systmatiquement sur le rpertoire apache2-default/

    On re reboot !

    root [/etc/apache2/sites-enabled] > apache2ctl restart

    Et on re test:

    Bienvenue sur mon nouveau site!Ca marche !

    CONCLUSION DE CETTE PARTIE 1

    Votre serveur web est oprationnel !

    Dans le prochain pisode, nous verrons comment installer et configurer PHP5 et MySQL.

    Aide & Questions: Pour tous problmes ou questions propos de ce tutorial, merci d'utiliser le topic ddi dans leforum de La Ferme du Web

    A VOIR AUSSI SUR LE MME SUJET:

    Apprendre Ruby on Rails avec La Ferme du Web - Partie 1

    Apprendre Ruby on Rails avec La Ferme du Web - Partie 2

    Ubersvn - Une application complte de gestion de Subversion sociale

    Tutorial: Crer un serveur web complet sous debian - #4 Postfix et Courier

    Tutorial: Crer un serveur web complet sous debian - #3 pureFTPd

    Baraguin par parweb le 14/01/09 18h34

    Salut je pense avoir bien suivis ton tutoriel en tout cas les serveurs apache et php et mysqlfonctionnent trs bien mais c'est au niveau des vHost que a commence a merder.

    enfate jais un serveur ddi kimsufi du coup une adresse du genre xxxxx.kimsufi.com

    seulement quand je vais sur l'URL http://xxxxx.kimsufi.com il me revoit sur le dossier/var/www/ au lieu de /var/www/sites/dailymatons/alors que jais cr un vHost xxxxx.kimsufi.com que jais ensuite activer, qui contient :

    ServerAdmin [email protected]

    ServerName xxxxx.kimsufi.comServerAlias *.kimsufi.comDocumentRoot /var/www/sites/dailymatons/

    Options -Indexes FollowSymLinks MultiViewsAllowOverride All

    ServerSignature Off

    Hebergement Serveurs

    www.Oxito.com

    Des offres simples, un hbergement facile grer, un support attentif

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 7/8

    et jais bien sur commenter la ligne dans le fichier defaut dans le dossier /etc/sites-available/ :#RedirectMatch /^$ /apache2-default/

    Mais ce qui m'intrigue c'est justement ce fichier defaut qui contient lui aussi un sur le dossier /var/www/ faut il que jel'enlve ?

    pWb

    Baraguin par parweb le 14/01/09 18h36

    oula il ma enlev les balises xml des vHosts dans mon prcdent commentaire :/

    a ira quand mme ?

    Baraguin par DJo le 14/01/09 19h57

    Salut, est-ce que tu pourrais poster dans le forum ? C'est justement pour ce genre desoucis avec les commentaires que j'ai cr un topic ddi :)

    http://forum.lafermeduweb.net/sujet-11-tutorial-creer-serveur-web-complet-sous-debian

    Merci !

    Baraguin par parweb le 15/01/09 11h49

    ok ca marche ;)

    Baraguin par Facebook User le 01/08/09 19h33

    Salut merci pour le tuto. Je pense avoir bien suivi la lettre tes explications cependant je

    rencontre actuellement un souci.

    Quoi que je fasse j'ai toujours "It works!" et rien d'autre et concernant ce fichier "/etc/apache2/sites-available/000-default " modifier, il ai vide ( surement ce qui poseproblme ? ).

    Une solutions ? merci d'avance.

    Baraguin par Ouark le 02/08/09 15h28

    Et dans /etc/apache2/sites-enabled/000-default ? la place de sites-available.

    Baraguin par Facebook User le 02/08/09 19h48

    dans "/etc/apache2/sites-enabled/000-default" tout est ok et en modifiant le chemin "document root et directory " aprs reload apache je tombe bien sur ma page " bienvenuesur ... " . est ce normal ? comment rgler le problme ?

    Baraguin par Ouark le 02/08/09 20h51

    C'est une erreur dans le tuto, c'est bien dans sites-enabled qu'il faut l'editer.

    Baraguin par Facebook User le 03/08/09 10h54

    ok merci

    Baraguin par Facebook User le 01/09/09 18h04

    Bon apres avoir suivit ce tuto j'ai perdu enormement de temps, pensans qu'avec cela j'arriverai a configurer mon

  • 15/03/13 Tutorial: Crer un serveur web complet sous debian - #1 Apache - La Ferme du web

    www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-1-apache-160.html 8/8

    1 2

    serveur web assez facilement, je suis au final trs dcu de voir qu'il faut 15 pages decodes, donc enormement ne marchent pas suivant la version qu'on as, pour finalementarriver a... rien, je retourne sous windaube qui, malgres qu'il soit pas super optimis,marche avec 5min de config...

    Baraguin par Loudgi le 01/09/09 20h47

    Bonjour,

    Dj grand merci pour ce tuto qui aide pas mal, et qui d prendre galement pas mal de

    temps.

    Toute fois, il est vrai quelques changements au tuto serait ncessaires en raison despetits probs rencontrs.

    Pour ma part je partage cette info en esprant que a aide plus d'un :

    root [/var/www] >apache2 -k restartapache2: bad user name ${APACHE_RUN_USER}

    Solution ? root [/var/www] >apache2ctl restart

    Et voila :-) si les autres peuvent partager galement c'est super.

    A plus et bon courage tous :-)

    Baraguin par traxedo le 10/09/09 17h10

    Salut,

    Incroyable, a marche ! Je n'y croyais pas du tout... J'en ai fait des tutos, mais c'est le tiensle meilleur. Juste une petite erreur qui est corrig en commentaires (/etc/apache2/sites-enabled/000-default la place de sites-available.)

    Et une petite prcision que tu n'as pas donne pour viter depuis internet le "Forbidden,you don't have permission" ---> ouvrez le port 80 de votre freebox ou autres bidules box.

    INCROYABLE, A MARCHE ! Merci toi grand manitou du web, t'es le meilleur !! Tu aurai un systme de dons,t'en aurai eu un direct ! ^^

    Baraguin par DJo le 10/09/09 19h21

    Content que cela t'ai servi !J'ai corrig pour le sites-enabled.

    Concernant les dons, c'est gentil, mais effectivement, je n'ai pas envie d'tre un mendiantdu web lol. Par contre je ne suis pas contre la dsactivation d'adblock et un petit clic pub :D

    Bon courage pour la suite ;)

    Baraguin par traxedo le 12/09/09 07h52

    Je viens de tester ton tuto sur une Debian frache d'aujourd'hui : horrible! Ils ont tout changdans les fichiers, pratiquement rien n'est pareil et donc le dbutant ne s'y retrouvera pas...

    J'ai pris la Debian stable pour amd64 5.03 -> la toute dernire donc.

    Je n'aime pas ce genre d'volutions sur linux... Si avancer c'est renier le pass et oublitoutes les bonnes contribs comme cet excellent tuto, linux va dfinitvement me dgouter...

    Imagine que je fasse comme toi, et que ce qui marchait l'instant T, je le met sur papier ou dans un fichier, essayede le rutiliser 4ans aprs et puis... oups... tout chang !

    J'iame pas bien ce genre d'avanc... Il faut toujours avancer, mais sans oublier le pass. Cela m'inquite de voirque ton tuto n'est donc plus utilisable avec la toute drnire debian 5.03 amd64.

    Si tu as l'occasion et le moyen, essaye de voir si ce n'est pas moi qui hallucine... J'espre pas en tout cas.

    AJOUTER UN COMMENTAIRE

    Pour poster un commentaire, vous devez tre identifi. Vous pouvez choisir parmi ces trois mthodes d'identification:

    Compte la Ferme du Web

    Identifiez-vousInscrivez-vous

    Compte Facebook Compte Twitter

    LaFermeDuWeb.net par Novaway

    Tous droits rservs 2008-2012 - Mentions lgales