Serveur Web Sous Linux
Commentaires Composés : Serveur Web Sous Linux. Recherche parmi 300 000+ dissertationsPar dissertation • 16 Février 2013 • 8 832 Mots (36 Pages) • 1 081 Vues
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
• 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 moi pour é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 Aliases
alias 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:
deb http://ftp.easynet.be/ftp/debian/ etch main non-free contrib
deb 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
...