tutorial_ créer un serveur web complet sous debian -
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