• À propos
  • Archives
  • Categories
  • Posts Tagged ‘debian’

    Serveur web avec Debian


    2012 - 09.15

    Ce tutoriel est un premier jet et servira d’exercice pour créer un serveur rapidement.

    ATTENTION !!! : Ce tutoriel donne un exemple pour l’apprentissage, les conditions de sécurité ne seront pas respectées pour un mise en production et surtout ce serveur ne devra pas être visible d’internet, c’est un exercice à faire dans un réseau local.

    - 1 – On se procure le cd netinstall de Debian sur le site de la distribution et on choisi la version en fonction de l’ordinateur qui servira de serveur (en général amd64 pour les processeurs Intel et AMD 64 bits ou la version i386 pour les vieux ordinateurs du style Pentium II, III, P4, AMD Duron, Athlon, Athlon XP …).
    Pour l’exemple, un ordinateur de récupération fait très bien l’affaire, mon dernier serveur qui est mort pour cause d’intempéries était un Pentium III
    600 MHz avec 380 Mo de mémoire vive (RAM).

    - 2 – On démarre l’ordinateur en insérant le cd puis on lance l’installation. Il faut répondre à quelques questions au sujet de la langue de l’interface, à la disposition du clavier, valider la connexion au réseau, paramétrer le réseau si on souhaite une adresse fixe pour le serveur (la configuration du réseau fera l’objet d’un autre tutoriel.), un peu plus tard on renseigne un mot de passe de super utilisateur (root) puis le nom et le mot de passe d’un utilisateur basique.

    - 3 -

    Le partitionnement

    Le partitionnement est la manière dont on va découper le disque dur (ceux du fond de la salle doivent ranger leurs scies et leurs tronçonneuses, on fait ça avec un logiciel !!!).
    On choisira un partitionnement personnalisé, mais les débutants peuvent choisir la manière automatique, ils re-installeront leurs serveur plus tard en s’appliquant un peu plus.
    Pour un poste de travail, on choisira de créer une partition racine « / » entre 12 et 16 Gio (pour installer un maximum de programmes et plugins par la suite), une partition swap (mémoire virtuelle) d’environs 2 à 3fois la mémoire RAM (pour les machines qui ont moins de 1Go) et le reste du disque sera monté en tant que « /home », l’espace des utilisateurs. Avantage, si on casse le système, on ré-installe juste la base dans « / » et on ne perd pas les données utilisateurs.
    Pour un serveur basique (un seul utilisateur et son site internet) on ajoutera une partition « /var » pour garder en vie ses bases de données et ses logs de connexion.

    - 3 -

    Choix des programmes

    Une interface barbare nous propose de cocher (avec la barre espace) plusieurs choix. « Interface graphique » est coché par défaut, on le laisse que pour un poste de travail, dans le cas de notre serveur sur un ordinosaure on le décoche. Pour gagner du temps, on choisi « serveur web » et « serveur ssh » et bien sûr, on veille à laisser « système de base » qui est coché par défaut. On valide le choix par une belle et élégante pression sur la touche « Entrée ».

    - 4 -

    Installer le programme d’amorçage

    A la fin d’un temps plus ou moins long (tout dépend de la bande passante de votre connexion internet), l’installation du sytème de base et de nos choix de programme et terminée et la question du programme d’amorçage se pose. On confirme qu’on souhaite l’installer par défaut.

    - 5 -

    Reboot !!!

    J’insiste sur ce reboot car le CD est éjecté et c’est notre serveur qui prend vie. Une autre raison pour laquelle j’insiste sur ce redémarrage c’est c’est le seul qui est nécessaire pour que le serveur soit en production après installation. Il parait que certain systèmes d’exploitation qui coûtent une fortune demandent plusieurs redémarrages !
    Au bout de ce redémarrage, l’écran est noir et quelque lettres blanches demandent un login. Votre serveur fonctionne et on peut l’utiliser dessuite.
    Si vous n’avez pas configurer d’adresse IP fixe lors de l’installation, il faut maintenant aller trouver quelle adresse le routeur ou serveur DHCP du réseau lui a attribuée.
    Pour cela on tape « root » puis on presse la touche « Entrée ». Là il faut un mot de passe. Tapez le mot de passe super utilisateur renseigné lors de l’installation, mais ATTENTION rien ne s’affichera, c’est pour tromper l’ennemi qui lit par dessus votre épaule.
    Une fois connecté, taper la commande « ifconfig » et repérez l’adresse de votre serveur.

    Le choix de lui donner une adresse flottante est pratique lors de l’apprentissage, on peut trimbaler le serveur d’un réseau à un autre sans être obligé de le reconfigurer à tout bout de champ.

    Une fois que vous avez noté l’adresse, tapez « exit » et là, vous pouvez débrancher l’écran et le clavier, ils ne servent plus à rien.

    - 6 -

    Première connexion sur le serveur web

    AVERTISSEMENT : si vous êtes arrivé là, il y a maintenant deux solutions : vous êtes Linuxien et tout les outils nécessaires sont déjà sur votre poste de travail, ou vous êtes windowsiens et là c’est MAL !!!
    Les windowsiens devront aller faire un petit tour sur Framapack pour télécharger le kit de survie composé de Firefox, Putty,… (tout le reste c’est pour se faire plaisir).
    On commence par ouvrir le navigateur internet et dans la barre d’adresse, on entre l’adresse IP du serveur.
    Une page en anglais doit apparaître et indiquer « It work ! », il travaille !
    Nous disposont bien d’un serveur web en état de fonctionnement.
    Testons la connexion via « ssh » (telnet pour les windowsiens de la grande époque). Pour cela on ouvre un terminal et on tape « ssh root@192.168.x.x » (les « x » sont à remplacer pour compléter l’IP du serveur).
    Tout d’un coup, le terminal indique qu’il est connecté au serveur. Et sur le coup de la colère, on va installer quelques application utiles en ligne de commande.

    - 7 -

    Installation de la base de donnée MySQL

    Pourquoi MySQL ?
    Elle est très utilisée pour les CMS (gestion de contenu, sites web préfabriqués) et ce tutoriel s’adresse aux débutants qui veulent découvrir Linux en montant un serveur (Il y en à qui en veulent quand même !!!); accessoirement, j’ai suivi des formations sur MySQL et je n’ai pas encore eu le temps et le courage de me pencher sur d’autres solution (Oracle va peut être m’y pousser…).
    On est donc connecté en ssh sur le serveur et la commande magique est :
    « aptitude install mysql-server mysql-client phpmyadmin ».
    Le serveur va mouliner un peu puis demander un mot de passe pour l’administrateur de la base de donnée, qui peut être différent ou identique au mot de passe du super utilisateur (root). Mais attention à la multiplication des mots de passe, il faut les retenir après. Cette différenciation est mise en pratique dans les fermes de données (google, facebook, twitter, OVH…) où on va trouver des administrateurs systèmes qui ne touchent pas aux bases de données et des administrateurs de bases de données qui ne touchent pas au système.
    Ensuite phpmyadmin s’installe et demande le mot de passe de l’administrateur de la base de donnée pour créer sa propre base, puis il demande un mot de passe pour la connexion à la base par son interface web (c’est pour qu’un utilisateur distant puisse administrer la base de donnée par interface web).

    On teste la connexion depuis le navigateur de son poste de travail en entrant dans la barre d’adresse l’IP du serveur puis « /phpmyadmin ». Pour la première connexion on va utiliser le login « root » et le mot de passe de l’administrateur de phpmyadmin. Vous pouvez maintenant créer toutes les bases de données que vous souhaitez et tous les utilisateurs dont vous avez besoin pour vos futurs projets de développement web.

    Pour aller plus loin :

    Pour apprendre, comprendre, voir les commandes Linux dans un terminal = http://www.linuxguide.it/command_line/linux_commands_fr.html

    Pour en savoir plus sur MySQL = http://www.mysql.fr/

    Pour en savoir plus sur phpmyadmin = http://www.phpmyadmin.net/localized_docs/fr/

    Sans oublier le site de Debian = http://www.debian.org/index.fr.html

    Et un très bon site avec le meilleur forum du monde, QuebecOS = http://www.quebecos.com/

    Je répète que ce tutoriel est destiné aux débutants pour s’entraîner sur un réseau local, les conditions de sécurité ne sont pas remplies pour passer le serveur en production.

    Dans un prochain tutoriel, nous verrons comment préparer le serveur pour que des utilisateurs distants puissent créer leurs sites.



    Warning: Unknown(): open(/mnt/116/sdb/d/7/jpsanfree/sessions/sess_50d865ccdcab8e95b93ae8e1d5ad266e, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

    Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/116/sdb/d/7/jpsanfree/sessions) in Unknown on line 0