Click here to load reader
Upload
balzofaye
View
75
Download
3
Embed Size (px)
Citation preview
15/03/13 Tutorial: Créer 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
Créer une application Facebookde A à Z en PHP. API Facebook,viralité, monétisation ...
TUTO SYMFONY2
A travers le projet WatchMyDesk,apprenez à maîtriser leFramework PHP5 Symfony2.
CRÉATION SITE WEB
Création de sites web,applications Facebook surmesure, e-commerce,applications iPhone ...
08JAN
TUTORIAL: CRÉER 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'héberger et de gérer vos sites web PHP / MySQLà distance, uniquement avec un accès SSH.
Voici les différentes parties du tutorial qui seront divisées 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 données: 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 Hébergeur / Serveur
www.guide-hebergeur.fr
Comparer les offres d'hébergement Domaine, Mutualisé, VDS/VPS, Dédié
SeConnecter
Créerun compte
15/03/13 Tutorial: Créer 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 sécurité serveur
PRÉ REQUIS
Pour réaliser ce tutorial, vous devrez au préalable 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 sûr de votre serveur avec une
Debian fraichement installée.
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 installée (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 fainéant, je n'utilise pas sudo, mais je vous recommande de ne pas faire comme moipour éviter les bêtises irréversibles)
Une fois connecté, je vous conseille de modifier directement le fichier .bashrc pour plus de confort:
root$ nano .bashrc
Dans le fichier, décommentez 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 désormais l'utilisateur logué en premier puis
entre crochet, le chemin du répertoire où vous vous trouvez.
Nous sommes prêts désormais à attaquer la configuration !
MISE À JOUR DE LA DISTRIBUTION ET SOURCES.LIST
Votre distribution de Debian n'est peut être pas la dernière 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
répondez oui si il vous ai demandé d'installer les dernières 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 dépôts que l'on va utiliser plus tard.
root [~] > nano /etc/apt/sources.list
Ajoutez ou décommentez les lignes suivantes:
15/03/13 Tutorial: Créer 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 dépôts officiels.
Assurez-vous surtout de ne pas avoir uniquement la source CD-Rom comme dépot.
Après modifications du fichier sources.list, mettez à jour la liste des dépôts:
root [~] > apt-get update
Installez les librairies de bases:
root [~] > apt-get install build-essential
INSTALLATION ET CONFIGURATION D'APACHE 2
Commençons déjà par installer apache2, le serveur web.
root [~] > apt-get install apache2
Répondez oui pour installer les packages dépendants:
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 prêt à emploi ! Pour vérifier si tout s'est bien passé, ouvrez votre navigateur préféré 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 défaut le charset utf-8 ou ISO-8859-1, je vous
recommande de décommenter la ligne suivante:
AddDefaultCharset UTF-8
Supprimez simplement le # devant la ligne.
Sauvegardez et quittez.
2) Fichiers index
Il faut spécifier à Apache les fichiers qu'il doit considérer comme des fichiers index et qui seront donc automatiquementappelés.
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 spécifiant les types de fichier index à prendre en compte:
DirectoryIndex index.html index.htm index.xhtml index.php
Dans ce même fichier, ajoutez le reverse-DNS de votre serveur ou à défaut 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: Créer 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 accéder 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 déroulé, 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 RÉPERTOIRES WEB
Apache créé le dossier /var/www/ où seront stockés vos sites web.
Nous allons commencer par déplacer le répertoire par défaut d'apache qui se trouve à la racine :
root [/var/www] > mkdir default-site
Puis modifiez le vhost par défaut en ouvrant le fichier /etc/apache2/sites-available/default.
Si le documentRoot se résume à /var/www, remplacez le par /var/www/default-site. Faire de même pour la directiveDirectory.
Sauvegarder et fermer ce fichier, puis ouvrez la version ssl, /etc/apache2/sites-available/default-ssl, et effectuer les
mêmes changements.
Puis, déplacez le fichier par défaut dans ce nouveau dossier :
root [/var/www/] > mv -f /var/www/index.html /var/www/default-site/index.html
Nous allons maintenant créer le répertoire où sera stocké notre site.
root [/var/www] > mkdir lafermeduweb
J'utiliserais lafermeduweb comme nom de répertoire dans tout le tutorial, dès 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 accéder à partir de son IP. Pas très
pratique !
Nous allons créer des virtuals hosts dans apache pour que notre nom de domaine pointe directement sur le répertoireque nous venons de créer sur le serveur.
Créez un fichier index.html dans le répertoire que vous venez de créer.
root [/var/www/lafermeduweb] > nano index.html
Puis mettez une balise de titre juste pour tester si la redirection du domaine est bien effectuée.
<h1>Bienvenue sur mon nouveau site !</h1>
Sauvegardez (CTRL+X, Y ou O, Entrée) et quittez l'édition du fichier.
Comment faire pour afficher l'index.html lorsque l'on entre mon domaine ?
15/03/13 Tutorial: Créer 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 interrogés pour connaître l'IP associée
(3) Notre serveur web est interrogé
(4) Les fichiers vHosts sont analysés par Apache, s'il trouve une correspondance avec l'adresse demandée, il appelle lefichier index du répertoire associé. Et la page est affichée au visiteur.
Créer les fichiers vHosts apache
Rendez-vous dans le répertoire /etc/apache2/sites-availab le puis créer 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:
<VirtualHost *:80> ServerAdmin postmaster [ at ] lafermeduweb.net
ServerName www.lafermeduweb.net ServerAlias *.lafermeduweb.net
DocumentRoot /var/www/lafermeduweb/ <Directory /var/www/lafermeduweb/> Options -Indexes FollowSymLinks MultiViews AllowOverride All </Directory>
ServerSignature Off</VirtualHost>
(Remplacez le [ at ] par un @ naturellement)
Sauvegardez et quittez.
Explications
ServerAdmin S'il y'a un problème, 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 spécifié, alors le serveur tente de déduire un nom en procédant à 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 mêmefichier vHost.
DocumentRoot Le répertoire sur lequel apache redirigera les addresses spécifiées plus haut.
Directory Cette instruction permet d'ajouter des options et règles au répertoire web. Les options: -Indexes -> Permet de
désactiver le listing des fichiers si un utilisateur entre le nom d'un dossier sans index dans votre répertoire web.FollowSymLinks -> Active le suivis des liens symboliques dans ce répertoire. MultiViews -> Permet de dire à apache dechercher s'il existe des fichiers du même nom dans le répertoire en cas d'erreur 404.
Notre vHost est disponible mais il n'est pour le moment pas activé. Pour l'activer, il faut créer un lien symbolique dansle répertoire des sites activés 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: Créer 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
J’aime 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 même résultat que tout à l'heure, le domaine pointe bien sur leserveur mais pas sur le bon répertoire.
C'est normal, il faut commenter une ligne dans le vHost par défaut:
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é systématiquement sur le répertoire 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 opérationnel !
Dans le prochain épisode, nous verrons comment installer et configurer PHP5 et MySQL.
Aide & Questions: Pour tous problèmes ou questions à propos de ce tutorial, merci d'utiliser le topic dédié dans leforum de La Ferme du Web
A VOIR AUSSI SUR LE MÊME 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 complète de gestion de Subversion sociale
Tutorial: Créer un serveur web complet sous debian - #4 Postfix et Courier
Tutorial: Créer 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 très bien mais c'est au niveau des vHost que ça commence a merder.
enfaîte jais un serveur dédié 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 hébergement facile à gérer, un support attentif
15/03/13 Tutorial: Créer 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'enlève ?
pWb
Baraguiné par parweb le 14/01/09 à 18h36
oula il ma enlevé les balises xml des vHosts dans mon précédent commentaire :/
ça ira quand même ?
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 dédié :)
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 poseproblème ? ).
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 " après reload apache je tombe bien sur ma page " bienvenuesur ... " . est ce normal ? comment régler le problème ?
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: Créer 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 trés décu 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,
Déjà 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 nécessaires en raison despetits probs rencontrés.
Pour ma part je partage cette info en espérant 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 précision que tu n'as pas donnée 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 système 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 désactivation 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 fraîche d'aujourd'hui : horrible! Ils ont tout changédans les fichiers, pratiquement rien n'est pareil et donc le débutant ne s'y retrouvera pas...
J'ai pris la Debian stable pour amd64 5.03 -> la toute dernière donc.
Je n'aime pas ce genre d'évolutions sur linux... Si avancer c'est renier le passé et oubliétoutes les bonnes contribs comme cet excellent tuto, linux va définitvement me dégouter...
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 réutiliser 4ans après et puis... oups... tout à changé !
J'iame pas bien ce genre d'avancé... Il faut toujours avancer, mais sans oublier le passé. Cela m'inquiète de voirque ton tuto n'est donc plus utilisable avec la toute drnière debian 5.03 amd64.
Si tu as l'occasion et le moyen, essaye de voir si ce n'est pas moi qui hallucine... J'espère pas en tout cas.
AJOUTER UN COMMENTAIRE
Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:
Compte la Ferme du Web
Identifiez-vousInscrivez-vous
Compte Facebook Compte Twitter
LaFermeDuWeb.net par Novaway
Tous droits réservés © 2008-2012 - Mentions légales