Structure du tutoriel

Transcription

Structure du tutoriel
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin
sur serveur Debian
Structure du tutoriel
1) Introduction.............................................................................................................................................................................................2
1.1) Pourquoi avoir choisi Debian sans mode graphique?.................................................................................................................... 2
1.2) Si vous ne connaissez rien à Debian en mode console...................................................................................................................2
1.3) Si vous avez déjà un serveur Debian..............................................................................................................................................2
1.4) Liens utilisés pour réaliser ce tutoriel.............................................................................................................................................2
2) Installation d'un serveur Debian minimaliste..........................................................................................................................................2
2.1) Préparation de l'installation ........................................................................................................................................................... 2
2.2) Configuration de la machine.......................................................................................................................................................... 2
2.3) Configuration de l'installation........................................................................................................................................................ 3
2.4) Configuration du réseau................................................................................................................................................................. 3
2.5) Partitionnement du disque dur........................................................................................................................................................3
2.6) Configuration du système de base de Debian................................................................................................................................ 4
2.7) Les mots de passe........................................................................................................................................................................... 5
2.8) La source des packages.................................................................................................................................................................. 5
2.9) Résolution des problèmes...............................................................................................................................................................6
3) Notions de base....................................................................................................................................................................................... 6
3.1) Se loguer.........................................................................................................................................................................................6
3.2) Arrêter l'ordinateur......................................................................................................................................................................... 6
3.3) Convention..................................................................................................................................................................................... 6
3.4) Diverses astuces pour travailler plus aisément...............................................................................................................................6
4) Installation d'APACHE2.......................................................................................................................................................................10
4.1) Installation.................................................................................................................................................................................... 10
4.2) Test de fonctionnement................................................................................................................................................................ 10
4.3) Configuration spécifique.............................................................................................................................................................. 10
4.4) Commande du service.................................................................................................................................................................. 10
5) Installation de PHP5..............................................................................................................................................................................11
5.1) Installation.................................................................................................................................................................................... 11
5.2) Test de fonctionnement................................................................................................................................................................ 11
6) Installation de MySQL..........................................................................................................................................................................12
6.1) Installation.................................................................................................................................................................................... 12
6.2) Configuration................................................................................................................................................................................12
6.3) Modification du fichier /etc/php5/apache2/php.ini...................................................................................................................... 12
7) Installation de PhpMyAdmin................................................................................................................................................................ 13
7.1) Installation.................................................................................................................................................................................... 13
7.2) Configuration spécifique.............................................................................................................................................................. 13
7.3) Test de fonctionnement................................................................................................................................................................ 13
8) Configuration spécifique pour utiliser Prométhée................................................................................................................................ 14
8.1) Installation des sources Prométhée...............................................................................................................................................14
8.2) Installation de la librairie graphique GD .....................................................................................................................................14
8.3) Paramétrage de Prométhée........................................................................................................................................................... 14
9) Annexes.................................................................................................................................................................................................14
9.1) Les commandes Unix................................................................................................................................................................... 14
9.2) Les principales commandes système............................................................................................................................................15
9.3) Autres commandes système......................................................................................................................................................... 16
9.4) Les petites commandes pratiques................................................................................................................................................. 16
Lycée Professionnel Louis BLERIOT
Page 1/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
1) Introduction
Ce document présente l'installation complète d'un serveur Debian minimaliste pour pouvoir recevoir Prométhée.
Il prend en charge deux types d'installations:
• Une installation basique dans le répertoire /var/www/epl.
• Une installation dans le répertoire /MonRepertoire/epl.
1.1) Pourquoi avoir choisi Debian sans mode graphique?
Prométhée permet une administration distante à travers une interface web donc il n'est pas nécessaire d'être en contact direct
avec le serveur. Sauf pour l'installation de Debian, c'est à dire trente minutes pour une installation par internet. Après on enferme la
machine dans un lieu tempéré et sec et on l'oubli! Donc on a juste besoin d'une unité centrale et on peut même retirer le clavier une
fois le serveur Debian minimaliste installé.
1.2) Si vous ne connaissez rien à Debian en mode console
N'ayez par peur, vous n'aurez presque rien à écrire!
En effet, après l'installation du serveur, prenez la main dessus avec un client SSH et faites des copier-coller des commandes
inscrites dans ce document. Évidement n'oubliez pas de changer la valeur /MonRepertoire par le chemin complet menant au répertoire
epl pour éviter d'avoir des commentaires désagréables de la part de votre serveur!
1.3) Si vous avez déjà un serveur Debian
Vous pouvez directement passer au point 4 mais la lecture du point 3.4 peut s'avérer utile pour, peut-être, découvrir des
astuces!
1.4) Liens utilisés pour réaliser ce tutoriel
http://people.via.ecp.fr/~alexis/formation-linux/
http://www.nuxo.net/tutorial-39.html
http://www.dotdeb.org/
http://www.howtoforge.com/apache2_with_php5_and_php4
http://promethee.eu.org/demo/docs/installation.pdf
http://winscp.net/eng/download.php
puttyhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
http://sourceforge.net/projects/notepad-plus/
Les captures d'écran pour l'installation du serveur Debian ont été réalisées avec Qemu puis tout simplement avec Putty.
Bonne lecture
2) Installation d'un serveur Debian minimaliste
2.1) Préparation de l'installation
a) Télé charger l'image du CD
Vous allez télé charger l'image du CD "netinstall" de Debian (cette image pèse environ 180 Mo). Cette image est bootable et
contient le minimum nécessaire pour mener la procédure d'installation jusqu'à son terme. Télé chargez l'image debian-31r3-i386netinst.iso depuis le miroir Debian.
b) Vérifier l'intégrité de l'image du CD
Pour vérifier qu'un fichier est bien le vrai fichier original, on calcule la somme MD5 du fichier, et on la compare à la somme
MD5 officielle. Deux fichiers ayant la même somme MD5 sont normalement identiques.
Pour calculer la somme MD5 d'un fichier sous Windows, utilisez le petit programme GPL MD5Summer. Il faut ensuite
comparer le résultat obtenu avec celui indiqué dans le fichier MD5SUMS.
c) Graver le CD
Gravez l'image du CD en utilisant votre logiciel de gravure favori. Il ne faut pas graver le fichier « debian-31r3-i386netinst.iso » sur le CD, mais trouver dans votre logiciel de gravure le menu qui vous permet de graver un CD à partir de son image
ISO !
2.2) Configuration de la machine
Configurez le bios de votre machine de la façon suivante:
Ordre de démarrage
1) Lecteur de disquettes
2) Lecteur de CDROM
3) Disque Dur
Lycée Professionnel Louis BLERIOT
Page 2/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
2.3) Configuration de l'installation
Réalisez un boot à partir du CDROM afin que votre machine récupère le noyau linux Debian.
Vous obtenez cet écran. A partir de cet écran, il ne vous reste plus qu'a répondre aux
questions posées pour réaliser la configuration de votre machine.
Choisissez la langue French / Français et ensuite votre pays. Ensuite, il faut choisir la
configuration de votre clavier. Une bonne configuration du clavier est indispensable dans la
mesure où vous aurez à saisir vos mots de passe qui n'apparaîtront jamais en clair à l'écran. Si
vous avez un clavier français, choisissez le clavier proposé par défaut Français (fr-latin9).
Après la sélection du pays/clavier, nous arrivons à la détection du matériel: cette étape est
automatique et ne nécessite aucune activité de votre part !
2.4) Configuration du réseau
Si vous êtes connecté à un réseau local sur lequel se trouve un serveur DHCP, les paramètres
réseaux se configureront automatiquement par DHCP. Si votre machine n'arrive pas à
contacter le serveur DHCP, une option vous permet de spécifier ses paramètres IP.
Une nouvelle boite de dialogue apparaît: elle vous demande le nom de la machine. Par défaut,
le nom est Debian. Pour le nom de Domaine, laisser le champ vide ou demander à votre
administrateur réseau.
Vous devez ensuite choisir le miroir de télé chargement des paquetages.
• Pays du miroir : choisir 'france'
• Nom du miroir : ftp2.fr.debian.org
• Répertoire du miroir : /debian/
• Mandataire (proxy) HTTP : Laisser vide
2.5) Partitionnement du disque dur
a) Les types de systèmes de fichiers
Linux utilise deux types de systèmes de fichiers :
• Swap qui sert à stocker la mémoire virtuelle, qui est utilisée quand la mémoire vive est pleine;
• Ext3 qui sert à stocker les fichiers et les répertoires (il existe de nombreuses alternatives à Ext3, à savoir Ext2,
ReiserFS, XFS, JFS, etc...).
b) Découpage et dimensionnement
Traditionnellement, on crée une partition avec un système de fichiers de type Swap de taille double de la taille de la mémoire
vive. Cette partition est appelée partition de Swap ou partition d'échange.
Pour stocker les fichiers et les répertoires, on crée souvent plusieurs partitions avec un système de fichiers de type Ext3 (ou une
de ses alternatives).
Pour les serveurs, les administrateurs Linux ont souvent pour habitude de sectionner le système de fichiers en de nombreuses
partitions pour assurer une meilleure résistance du système aux crashs disk, aux failles de sécurité et aux attaques de tout type. Par
exemple, il ne faudrait pas qu'un simple utilisateur puisse saturer la partition sur laquelle se trouve la racine du système de fichiers
juste en remplissant son répertoire personnel (/home/son_login/), car ceci pourrait rendre le système instable. Il ne faudrait pas non
plus que les journaux système (ou logs) qui se trouvent dans le répertoire /var/log/ remplissent la partition sur laquelle se trouve la
Lycée Professionnel Louis BLERIOT
Page 3/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
racine suite à une attaque réseau ce qui aurait la même conséquence. Il est également bon de mettre sur une partition à part le
répertoire /tmp/ car il est accessible en écriture à tous les utilisateurs et à tous les programmes.
Choisir l'option Partitionner les disques avec l'outil partman, puis, choisir Modifier
manuellement la table de partitions pour obtenir le partitionnement suivant:
IDE1 maître (hda)
N°
Type
Taille
Type de systemes de ficiers
Point de montage
1
primaire
2 fois la RAM
Swap
2
primaire
2 GB
Ext3
/
3
primaire
le reste du disque dur
Ext3
/home
Ce partitionnement permet d'installer Prométhée dans un répertoire sur la partition /home. Le poids de l'installation sur la
partition / est de l'ordre de 500 Mo (avec un serveur DHCP). Si vous voulez réaliser une installation basic, il faut inverser la taille des
partitions Ext3.
Juste après, il enchaîne sur l'installation du système de base, c'est à dire un ensemble de
paquets formant un système Debian minimum. Il n'y a rien à faire lors de cette étape... sauf
patienter !
c) Installation du programme de démarrage GRUB
Pour préparer le premier boot sous Linux, il faut rendre votre nouveau système d'exploitation
bootable directement depuis le disque dur. Pour cela, le programme Grub va être installé dans
le Master Boot Record (MBR) de votre disque dur. C'est ce programme qui va vous proposer
de choisir un des multiples systèmes d'exploitation installés sur votre ordinateur (et par la
suite il vous permettra aussi de choisir la version du noyau Linux avec laquelle vous allez
démarrer votre système Debian).
La procédure d'installation vous donne la liste des autres systèmes d'exploitation qui ont été
détectés (si vous avez une partition Windows, vérifiez que Windows est bien mentionné dans
la liste) et vous demande : Installer le programme de démarrage GRUB sur le secteur
d'amorçage ?. Répondez Oui.
L'ordinateur redémarre... Après le lancement du BIOS, Grub se lance et vous affiche un menu
bleu la liste des systèmes d'exploitations qu'il peut démarrer. Si vous avez une partition
Windows, cette dernière devrait apparaître dans la liste. Pour finir la procédure d'installation,
démarrez votre nouveau système Debian (qui est sélectionné par défaut). Il ne vous reste plus
que quelques étapes pour finir l'installation !
2.6) Configuration du système de base de Debian
A la question L'horloge est-elle à l'heure GMT ?, répondez :
• Non, si c'est un ordinateur personnel sur lequel Windows et Linux cohabitent, car
sinon votre horloge aura une ou deux heures de décalage sous Windows, parce que
Windows ne sait pas faire la différence entre horloge matérielle et horloge système.
• Oui, si la machine est destinée à faire office de serveur.
Ensuite, il vous demande confirmation de votre fuseau horaire. Si le fuseau horaire qu'il vous
propose est bien le bon, répondez Oui.
Lycée Professionnel Louis BLERIOT
Page 4/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
2.7) Les mots de passe
a) Qui est Monsieur Root ?
Linux est un système d'exploitation multi-utilisateurs. Chaque utilisateur a son login et son mot de passe personnel, et il existe
un système de gestion des droits pour les fichiers et les répertoires. Un seul utilisateur a les pleins pouvoirs : c'est Monsieur Root,
aussi appelé super utilisateur ou simplement root.
b) Entrer le mot de passe root
On vous demande de rentrer à deux reprises le mot de passe root. Il faut choisir un mot de passe complexe car celui qui le
devine détient tous les droits sur la machine ! N'oubliez pas d'avoir le verrouillage numérique allumé si vous tapez des chiffres sur le
pavé numérique.
c) Créer un compte utilisateur Pourquoi ?
L'étape suivante est la création d'un compte utilisateur. Vous allez par exemple pouvoir créer votre propre compte utilisateur.
En effet, l'utilisation du compte root est réservée à la modification de la configuration du système, à l'installation de packages et aux
rares tâches qui nécessitent les droits de root ; pour toutes les autres tâches, il faut utiliser un compte utilisateur. L'utilisation du
compte root est dangereuse : une fausse manipulation peut détruire le système... ce qui est impossible en tant que simple utilisateur !
Il vous demande d'abord le nom complet du compte, entrez votre nom de famille suivi de votre prénom, le login sera votre
nom de famille en minuscule, puis d'entrer deux fois le mot de passe. Comme pour le root, utiliser un mot de passe non trivial est
fortement conseillé.
2.8) La source des packages
Le système de gestion des packages de Debian s'appelle APT (Advanced Package Tool). Pour fonctionner, il a besoin de
connaître la source des packages susceptibles d'être installés: Cette source peut-être des CDs, des sources réseau accessibles par
HTTP ou FTP, ou encore des fichiers sur votre disque dur.
• Méthode d'accès utilisée par apt : Choisir 'ftp'
• Pays du miroir : choisir 'france'
• Nom du miroir : ftp2.fr.debian.org
• Répertoire du miroir : /debian/
• Mandataire (proxy) HTTP : Laisser vide
Pour créer un type de configuration, le debian installer propose des tâches pour des usages
particuliers : serveur mail, .... Ne cocher rien, et valider. Nous allons installer nous même tous
les paquets dont nous avons besoin parce que nous pouvons ainsi faire du sur mesure !
Ensuite, il procède à l'installation de nombreux packages de base. Vous n'avez rien à faire
pendant le déroulement de cette étape.
Enfin, il vous pose des questions sur la configuration du serveur de mail Exim :
1. Sélectionnez Pas de configuration pour l'instant.
2. Il vous demande ensuite Faut-il vraiment laisser le serveur de courrier non configuré ? ; répondez Oui.
3. Il vous demande enfin d'indiquer un destinataire des courriels de "root" et "postmaster" et vous propose par
défaut le compte utilisateur que vous avez ouvert : ne changez rien et répondez OK.
Lycée Professionnel Louis BLERIOT
Page 5/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
Quand il vous affiche l'écran Merci d'avoir choisi Debian !, c'est que vous avez fini
l'installation ! Vous avez enfin Linux !
2.9) Résolution des problèmes
Si vous rencontrez des problèmes pendant l'installation de Debian vous avez la possibilité de voir les erreurs du système a
l'aide de la gestion des consoles. Vous disposez en tout de six consoles atteignables à l'aide de la combinaison de touches ALT+(F1 à
F6). Vous pouvez aussi utiliser Alt-Flèche Gauche et Alt-Flèche Droite pour passer d'une console voisine à l'autre. Entre autre la
fenêtre quatre vous donnera toutes les informations sur la progression de l'installation de votre système Debian.
3) Notions de base
3.1) Se loguer
Une fois que la procédure d'installation est terminée, vous arrivez au prompt de login :
Pour vous loguer, vous avez le choix entre :
• Vous loguer en tant que root : tapez root, appuyez sur Entrée, ensuite tapez le mot de passe root que vous avez défini
pendant la procédure d'installation et appuyez sur Entrée. Vous voyez alors apparaître un certain nombre de messages et
enfin le prompt du root. Quand vous êtes ainsi logué en tant que root, vous avez tous les droits sur le système.
• Vous loguer en tant que simple utilisateur : tapez le nom d'utilisateur que vous avez défini pendant la procédure
d'installation, appuyez sur Entrée, ensuite tapez le mot de passe associé à cet utilisateur et appuyez sur Entrée. Vous voyez
alors apparaître un certain nombre de messages et enfin le prompt de l'utilisateur. Quand vous êtes ainsi logué en tant que
simple utilisateur, vous n'avez que des droits limités sur le système.
3.2) Arrêter l'ordinateur
Pour arrêter votre machine vous utiliserez la commande poweroff ou si voulez redémarrer vous utiliserez la commande
reboot. Ces deux commandes ne fonctionnent que si vous êtes l'utilisateur root.
3.3) Convention
Dans toute la suite de cette formation, nous adopterons la convention suivante :
Les commandes qui devront être exécutées en tant que root auront un prompt # :
# commande_à_exécuter
Les commandes qui devront être exécutées en tant que simple utilisateur auront un prompt $ :
$ commande_à_exécuter
3.4) Diverses astuces pour travailler plus aisément.
a) L'éditeur de texte linux Nano
nano est un éditeur petit, sympathique et libre, qui vise à remplacer Pico, l'éditeur par défaut du logiciel non libre Pine. nano
ne se contentant pas de copier l'interface et l'ergonomie de Pico, il offre également certaines fonctions manquantes (ou désactivées par
défaut) dans Pico. Ces fonctionnalités sont, par exemple, les fonctions de recherche et de remplacement, et la possibilité de sauter
directement à un numéro de ligne.
Voici quelques options sympathiques
+LIGNE,COLONNE: Démarre avec le curseur positionné à la colonne COLONNE de la ligne LIGNE au lieu de démarrer à
la colonne 1, ligne 1.
-? Identique à -h (--help).Affiche un résumé des options disponibles en ligne de commande.
-D (--dos): Écrit le fichier au format DOS.
-K (--rebindkeypad): Interprète les touches du pavé numérique afin qu'elles fonctionnent toutes correctement. Vous ne
devriez utiliser cette option que si ce n'est pas le cas, car nano ne sera plus capable d'utiliser la souris correctement lorsque cette
option sera activée.
-c (--const): Affiche en permanence la position du curseur. Notez que cette option annule l'option -U.
-m (--mouse): Active l'utilisation de la souris (si elle est disponible pour votre système). Par contre cela désactive le clique
droit qui permet de copier rapidement dans une console ssh!
Toutes ses options sont cumulatives on peut donc réaliser la commande suivante:
#nano -D -K -c -m /chemin/nom_de_fichier
On peut créer un alias (raccourcis) dans le fichier .bashrc de l'utilisateur (voir astuce suivante)du type:
Alias nano='nano -K -c' ainsi en écrivant nano vous aurez directement les option -K et -c.
Lycée Professionnel Louis BLERIOT
Page 6/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
b) Astuces pour avoir une meilleure visibilité et des facilités d'utilisation du Shell
Éditez le fichier "/root/.bashrc" (#nano -K -c /root/.bashrc)
Vous devriez trouver ce contenu:
# ~/.bashrc: executed by bash(1) for non-login shells.
1. export PS1='\h:\w\$ '
2. umask 022
3. # You may uncomment the following lines if you want `ls' to be colorized:
4. # export LS_OPTIONS='--color=auto'
5. # eval "`dircolors`"
6. # alias ls='ls $LS_OPTIONS'
7. # alias ll='ls $LS_OPTIONS -l'
8. # alias l='ls $LS_OPTIONS -lA'
9. # Some more alias to avoid making mistakes:
10. # alias rm='rm -i'
11. # alias cp='cp -i'
12. # alias mv='mv -i'
Les lignes 5 et 6 correspondent à la colorisation pour différencier les répertoires (bleu) les fichiers exécutables (vert) les
fichiers archives ou compressés (rouge)…..
Les lignes 7, 8 et 9 autorisent un ls étendu avec plein d'infos. (cf man ls pour les options)
Les lignes 12, 13 et 14 pour éviter de faire des bêtises avec la manipulation des fichiers.
Par exemple pour avoir une réponse coloriée il faut dé-commenter les lignes correspondantes.
A vous de choisir les options qui correspondent à vos préférences. D'autres options peuvent-être définies.
Pour que les modifications soient prises en compte lancez la commande:
#logout
et reconnectez-vous.
c) Astuce pour ne pas avoir a écrire toute les commandes au clavier
A l'installation Debian vous offre un serveur SSH, joignable avec votre client SSH préféré, par exemple "putty", sur le port 22 .
Vous pouvez lancer toutes les commandes à partir de ce client.
Pour gagner du temps vous avez deux options pratiques:
• Si vous voulez récupérer des lignes écrites sur votre client SSH il suffit de les sélectionner avec la souris et ensuite de
les coller ou vous voulez.
• Pour faire l'inverse il suffit de copier les lignes et de les coller dans votre client SSH en faisant un simple clic droit.
Ainsi vous pouvez copier le contenu de présentation de fichier ou de commande dans ce document par un simple copier /
coller! Ce qui s'avère utile pour les commandes à rallonge!
Pour changer la configuration du serveur SSH changez les paramètres dans le fichier /etc/ssh/sshd_config
Pour lancer le serveur SSH lancer
# /etc/init.d/sshd
d) Astuce pour transférer des fichiers sur votre serveur sans avoir à mettre en oeuvre un serveur FTP
WinSCP est un client SFTP graphique pour Windows. Il utilise SSH et est open source. Le protocole SCP est également
supporté. Le but de ce programme est de permettre entre autre la copie sécurisée de fichiers entre un ordinateur local et un ordinateur
distant. WinSCP peut réaliser toutes les opérations de base sur les fichiers, comme télé charger et envoyer. Il permet aussi de
renommer les fichiers et les dossiers, de créer de nouveaux dossiers, de changer les propriétés des fichiers et des dossiers, et de créer
des liens symboliques et des raccourcis. Une des deux interfaces du programme permet aussi de gérer les fichiers locaux. Si vous le
couplez à un éditeur de texte préféré, par exemple "Notepad++" vous pourrez éditer les fichiers. (Menu Option/Préférences... Dans la
boite de dialogue sélectionner "Editeur" puis "Ajouter" le chemin permettant de joindre votre éditeur de texte préféré)
e) Visualiser les ports ouverts et le service correspondant
Installation:
Lancez la commande "#apt-get install nmap"
Utilisation:
Afin de connaître les ports ouverts sur votre serveur faire:
# nmap 127.0.0.1
Afin de connaître les ports ouverts sur un serveur faire:
# nmap ip_du_serveur
Lycée Professionnel Louis BLERIOT
Page 7/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
f) fonctionnement de screen ou comment des terminaux virtuel qui travail pour vous
Lorsque vous lancez une commande qui prend beaucoup de temps (télé chargement de fichiers par exemple), cette commande
est rattachée à la fenêtre que vous avez ouverte (généralement une connexion ssh avec PuTTy ou autre). Si vous fermez cette fenêtre,
la commande (ou le télé chargement dans notre cas) s'arrête. Pour éviter cela, vous pouvez ouvrir un terminal virtuel qui restera en
mémoire dans l'ordinateur même si vous fermez cette fenêtre (pratique en cas de coupure de réseau)
Installation:
Lancez la commande "#apt-get install screen"
Utilisation:
Pour lancer ce terminal virtuel, tapez la commande :
# screen
Vous vous retrouvez dans un autre terminal (qui ressemble à s'y méprendre à l'autre) et où vous pourrez exécuter toutes vos
commandes sans avoir peur de le fermer (par inavertence ou par coupure du réseau). Vous pouvez ouvrir autant de terminaux virtuels
que vous le souhaitez (dans la limite des places (mémoire) disponibles !)
Lorsque vous voulez retrouver votre terminal perdu (ou pour voir où en est votre téléchargement par exemple), il suffit de
lancer :
# screen –r
Si vous n'aviez qu'un terminal virtuel d'ouvert, vous serez reconnecter à celui-ci.
Si vous en aviez plusieurs, une liste de ceux-ci apparaitra et il suffira de sélectionner celui que vous voulez :
# screen –r
There are several suitable screens on:
27984.pts-1.srv (Detached)
28204.pts-1.srv (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
# screen -r 28204
Pour fermer définitivement un terminal virtuel (quand le téléchargement est fini), il suffit de lancer la commande :
# exit
g) Retrouver l'équivalent de la commande tree sous dos
Installation:
Lancez la commande "#apt-get install tree"
Utilisation:
# tree
A quoi sert la commande?
#tree -d -p -u -g /home/
h) Mise à l'heure automatique
ntp : protocole de distribution de l'heure atomique
serveur : ntp.univ-lyon1.fr
Installation:
Lancez la commande "# apt-get install ntpdate "
Utilisation:
Lancez la commande ntpdate -4 ntp.univ-lyon1.fr (Le -4 c'est pour ipv4)
Pou une mise à jour journalière créer un script de démarrage dans le répertoire /etc/cron.daily/alheure contenant la commande:
ntpdate -4 ntp.univ-lyon1.fr
Pour rendre le fichier exécutable lancez la commande:
#chmod 777 /etc/cron.daily/alheure
Lycée Professionnel Louis BLERIOT
Page 8/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
i) Donner une adresse IP fixe à son serveur
Consultez votre administrateur réseau pour lui demander les paramètres!
#nano /etc/network/interfaces
Le contenu du fichier est du type:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Il faut donc changer les paramètres dans la section « The primary network interface »de la façon suivante:
auto eth0
iface eth0 inet static
address AdresseIpDuServeur
netmask MasqueDe-SousRéseauDuServeur
network AdresseRéseauDuServeur (si vous êtes sur un sous réseau)
broadcast AdresseBroadcastDuRéseauDuServeur (si vous êtes sur un sous réseau)
gateway AdresseIpDeLaPasserelle
dns-nameservers AdresseIpDuDnsPrimaire, AdresseIpDuDnsSecondaire
dns-search NomDeDomaineDuServeur
Désactivez et réactivez votre interface eth0 lorsque vous avez modifiez vos fichiers de configurations. (Vous pouvez aussi,
bien sûr, redémarrez votre machine afin de réactiver votre interface):
#Ifdown eth0
#ifup eth0
Utilisez la commande ifconfig (sans paramètres) pour vérifier l’adresse IP de votre interface.
j) Réaliser un serveur DHCP
Installation:
Lancez la commande "# apt-get install dhcp "
Configuration:
Le fichier /etc/dhcpd.conf permet de réaliser la configuration du serveur DHCP. Complétez le selon vos paramètres
réseau pour obtenir un fichier de ce type:
subnet AdresseRéseauDuServeur netmask MasqueDe-SousRéseauDuServeur {
range PremieèreAdresse DernièreAdresse;
option routers AdresseIpDeLaPasserelle;
option domain-name-servers AdresseIpDuDnsPrimaire, AdresseIpDuDnsSecondaire;
default-lease-time 86400;
max-lease-time 604800;
option broadcast-address AdresseBroadcastDuRéseauDuServeur;
}
Lycée Professionnel Louis BLERIOT
Page 9/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
4) Installation d'APACHE2
4.1) Installation
#apt-get update
#apt-get upgrade
# apt-get install apache2
Ceci va installer Apache qui sera configuré brièvement et démarré, avec le DocumentRoot (racine du site où vous devrez
placer vos fichiers) dans /var/www
4.2) Test de fonctionnement
Maintenant si vous mettez l'adresse http://IpDuServeurDebian/ dans votre navigateur vous obtiendrez la page par défaut de
Apache : normal il n'y a rien d'autre dans le dossier à priori.
Si vous allez sur file:///var/www/index.html vous trouverez le même fichier.
4.3) Configuration spécifique
Si vous voulez mettre prométhée dans un répertoire différent vous devez modifier le fichier /etc/appache2/apache2.conf
Commencez, par sécurité, par sauvegarder ce fichier:
#cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.save
#nano /etc/apache2/apache2.conf
Rajoutez la ligne suivante:
DocumentRoot /MonRepertoire/epl (Il faut que ce répertoire existe sur votre serveur! #mkdir /MonRepertoire/epl)
A la fin du fichier mettre un « # » devant « Include /etc/apache2/sites-enabled/[^.#]* » pour rendre inactive cette commande.
Redémarrez le service:
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
Test du bon fonctionnement:
créez un fichier html nommé index.html
#nano /MonRepertoire/epl/index.html
le contenu sera
<HTML>
<p>Coucou c'est moi !</p>
</HTML>
« Ctrl X » pour quitter
«O » pour confirmer l'enregistrement
« Entrée » pour confirmer le nom du fichier
Maintenant si vous mettez l'adresse http://IpDuServeurDebian/ dans votre navigateur vous obtiendrez une page contenant:
4.4) Commande du service
Pour arrêter le service
Pour lancer le service
Lycée Professionnel Louis BLERIOT
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
Page 10/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
5) Installation de PHP5
5.1) Installation
Php5 n'est pas encore ajouté dans debian testing et unstable. Il faut donc utilisé les paquets Debian non officiels. Pour ce faire
rajoutez ces lignes dans /etc/apt/sources.list (voir http://www.dotdeb.org/)
# nano /etc/apt/sources.list
le contenu sera:
#php5
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
« Ctrl X » pour quitter
«O » pour confirmer l'enregistrement
« Entrée » pour confirmer le nom du fichier
L'installation se fait avec cette suite de commandes
#apt-get update
#apt-get upgrade
#apt-get install php5 php5-dev php5-gd php5-mysql php5-pear
#apt-get install libapache2-mod-php5
Voilà que PHP5 est installé et configuré pour fonctionner avec Apache.
5.2) Test de fonctionnement
Pour vérifier que tout est fonctionnel (l'interaction entre PHP et Apache), placez un fichier php dans le répertoire /var/www
(ou dans le répertoire /MonRepertoire/epl)et allez dessus.
# nano /var/www/info.php ou nano /MonRepertoire/epl/info.php
le contenu sera:
<?php
// Affiche toutes les informations PHP
phpinfo();
?>
« Ctrl X » pour quitter
«O » pour confirmer l'enregistrement
« Entrée » pour confirmer le nom du fichier
Dans votre navigateur tapez :http://IpDuServeurDebian/info.php pour obtenir la page d'information de PHP5
Lycée Professionnel Louis BLERIOT
Page 11/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
6) Installation de MySQL
6.1) Installation
#apt-get update
#apt-get upgrade
#apt-get install mysql-server
Acceptez
6.2) Configuration
Il faut savoir que les utilisateurs Unix ne sont pas les mêmes que les utilisateurs MySQL.
Tapez:
# mysql
Vous obtenez un message du genre :
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.24a-Debian_2.dotdeb.0-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Ce qui veut dire que la connexion au serveur SQL fonctionne.
Quittez le serveur MySQL:
mysql> quit
Il faut donner un mot de passe pour l'utilisateur root pour Mysql :
# mysql -u root
mysql> USE mysql;
mysql> UPDATE user
-> SET password = PASSWORD ('VotreCodeSecret')
-> WHERE user = 'root';
mysql>WHERE user = 'root';
mysql>flush privileges;
mysql>exit;
vérifiez le mot de passe
#mysql -u root -p
mysql>exit;
Pour avoir une bonne interaction entre PHP5 et mysql il faut installer php5-mysql:
#apt-get update
#apt-get upgrade
# apt-get install php5-mysql
6.3) Modification du fichier /etc/php5/apache2/php.ini
#nano /etc/php5/apache2/php.ini
Dans la section « Dynamic Extensions » vers la ligne 575 vous trouverez deux lignes à dé commenter (retirer le caractère « ; »
devant la commande):
;extension=mysql.so
;extension=gd.so
Relancez apache2
#/etc/init.d/apache2 stop
#/etc/init.d/apache2 start
Lycée Professionnel Louis BLERIOT
Page 12/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
7) Installation de PhpMyAdmin
7.1) Installation
#apt-get upgrade
#apt-get update
# apt-get install phpmyadmin
Sélectionnez à l'aide des flèches et de la barre d 'espacement apache2
Sélectionnez oui
7.2) Configuration spécifique
Si vous voulez mettre Prométhée dans un répertoire du type /MonRepertoire/epl
Copiez le répertoire /usr/share/phpmyadmin dans le répertoire /MonRepertoire/epl
#cp -R -v /usr/share/phpmyadmin /MonRepertoire/epl/
7.3) Test de fonctionnement
Pour vérifier le fonctionnement PhpMyAdmin faire http//AdresseIpDuServeur/phpmyadmin pour obtenir la page de connexion
à PhpMyAdmin. Utilisez l'utilisateur root et votre mot de passe.
Lycée Professionnel Louis BLERIOT
Page 13/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
8) Configuration spécifique pour utiliser Prométhée
8.1) Installation des sources Prométhée
Télé chargez sur le site Prométhée la dernière version de cet intranet-extranet pédagogique et décompressez l'archive.
A l'aide d'un logiciel de SFTP (Comme WinScp sous Windows ou GFTP sous Linux), copiez tout le contenu des sources
prométhée sur le serveur dans le répertoire /var/www/epl ou /MonRepertoire/epl/
Il faut donner les droits unix à ces fichiers
chmod -R -v 777 /var/www/epl
ou
chmod -R -v 777 /MonRepertoire/epl
8.2) Installation de la librairie graphique GD
#apt-get upgrade
#apt-get update
#apt-get install php5-gd
8.3) Paramétrage de Prométhée
Redémarrez le serveur Debian
#reboot
Dans votre navigateur tapez: http://IpDuServeurDebian/setup.php pour obtenir cet écran tant attendu!
Maintenant je vous laisse aller consulter le document Intstallation.pdf car mes compétences s'arrêtent ici. Je dois essayer de
comprendre le mécanisme
9) Annexes
9.1) Les commandes Unix
a) Liste des commandes de base à connaître
Ci-dessous se trouve une liste de commandes Unix de base à connaître :
ls: liste les fichiers
ls –alR /: Affiche tous les fichiers d’un système
ls –alR / | grep doc: Affiche tous les fichiers contenant doc
cd ..: Remonte d’un niveau
cd /: Retourne à la racine
cd -: Retourne au répertoire précédent
cd: Retourne au répertoire utilisateur
rm: Supprime un fichier
cp: copie un fichier
mv: Déplace un fichier
mkdir rep: Crée un répertoire
mkdir –p rep1/rep2/rep3: Crée un répertoire et ses sous répertoires associés
rmdir –p rep1/rep2/rep3: Supprime le répertoire et ses sous répertoire associés
who: Utilisateur connecté
pwd: Affiche l’arborescence du répertoire courant
cat: Visualisation du contenu d'un fichier
Lycée Professionnel Louis BLERIOT
Page 14/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
find: Recherche d'un fichier
grep: Recherche de chaîne dans un fichier
chmod: Modification des droits d'accès aux fichiers et répertoires.
chown: Modification des utilisateurs des fichiers et répertoires.
man: Manuel des commandes
9.2) Les principales commandes système
a) mount
La commande sert à intégrer un système de fichier dans le système de fichier de la racine. Elle doit être exécutée en tant que
root. Sa syntaxe habituelle est :
# mount -t type_de_système_de_fichier -o options /dev/periphérique /mnt/répertoire_de_montage
à condition que le type de système de fichier soit supporté par le noyau et que le répertoire /mnt/répertoire_de_montage existe
déjà.
Pour démonter ce système de fichier, il suffit de taper en root :
# umount /dev/périphérique
ou :
# umount /mnt/répertoire_de_montage
Par contre, n'importe quel utilisateur peut taper la commande mount tout court pour savoir quels sont les systèmes de fichiers
montés à l'instant d'exécution de la commande.
b) su
Cette commande sert à changer d'utilisateur, après avoir rentré le bon mot de passe, bien sûr !
• su permet de devenir root.
• su toto permet de devenir l'utilisateur toto.
Le passage de root à un simple utilisateur par la commande su toto se fait sans rentrer le mot de passe de l'utilisateur toto.
c) ps
Cette commande sert à lister les processus et leurs propriétés. Sous Unix, chaque tâche s'exécute au sein d'un ou plusieurs
processus. Chaque processus a un PID (Processus ID) qui lui est propre. Si un processus "plante", les autres processus ne sont pas
affectés. On peut tuer un processus avec la commande kill ou killall.
• ps : liste les processus de l'utilisateur qui exécute la commande sur le terminal de rattachement..
• ps -u : liste les processus de l'utilisateur qui exécute la commande quel que soit le terminal de rattachement.
• ps -au : liste les processus de tous les utilisateurs quel que soit le terminal de rattachement.
• ps -aux : liste les processus de tous les utilisateurs même ceux qui sont rattachés à aucun terminal. Cette commande
liste donc l'intégralité des processus du système. Elle est équivalente à la commande ps -A
• ps -faux : liste tous les processus du système en les regroupant par enchaînement d'exécution.
d) kill et killall
Les commandes kill et killall servent à envoyer des signaux à des processus.
• kill 42 : envoie le signal TERM au processus dont le PID est 42. En gros, on demande au processus 42 de se terminer
tout seul. Bien sur, on ne peut terminer que les processus que l'on a soi-même lancé, sauf le root qui peut faire ce qu'il veut
avec tous les processus.
• kill -9 42 : envoie le signal KILL au processus dont le PID est 42. Quand un processus est planté, c'est le seul moyen
de l'arrêter, car la commande précédente n'aura pas d'effet.
• killall vlc : envoie le signal TERM au processus dont le nom est vlc. Cette commande est à répéter plusieurs fois s'il y
a plusieurs processus qui portent le nom vlc.
• killall -9 vlc : envoie le signal KILL au processus dont le nom est vlc.
Lycée Professionnel Louis BLERIOT
Page 15/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt
Formation Debian GNU/Linux
Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian
e) nice et renice
Les commandes nice et renice servent à gérer la priorité des processus. La priorité d'un processus est un nombre entier relatif
compris entre -20 (priorité haute) et 19 (priorité basse).
Par défaut, les programmes lancés par les utilisateurs du système ont la priorité 0 (priorité moyenne). Certains services sont
lancés par le système avec une priorité différente de 0. Pour voir la priorité des processus lancés, utilisez le programme top : il vous
affiche la liste des processus classés par utilisation du processeur et actualisée toutes les 5 secondes. La quatrième colonne intitulée NI
indique la priorité. Pour quitter top, appuyez sur q.
Seul le root a le droit de lancer des processus avec une priorité comprise entre -20 et -1 inclus. Pour lancer un programme avec
un priorité X (X compris entre -20 et 19) :
# nice -n X nom_du_programme
Pour changer la priorité d'un processus déjà lancé, il faut être soit root soit le propriétaire du processus et connaître son PID :
# renice X PID_du_processus
9.3) Autres commandes système
• id : permet de savoir quel numéro d'utilisateur (uid, comme user id) et quel numéro de groupe (gid, comme group id)
sont associés à un utilisateur.
• passwd : change le mot de passe (il commence par demander l'ancien mot de passe quand il s'agit d'un simple
utilisateur).
• groups : pour savoir à quels groupes appartient l'utilisateur.
• adduser toto : ajoute l'utilisateur toto au système.
• deluser toto : supprime l'utilisateur toto du système.
• adduser toto disk : ajoute l'utilisateur toto au groupe disk (modification effective après que l'utilisateur toto se soit
déloggué puis reloggué).
• deluser toto audio : enlève l'utilisateur toto du groupe audio.
• printenv : affiche les variables d'environnement de l'utilisateur.
• df -h : fait le point sur l'espace libre de chaque partition.
• du -sh : mesure la taille du répertoire depuis lequel il est exécuté.
• halt : éteint l'ordi. Équivaut à la commande shutdown -h now.
• reboot : reboote l'ordi. Équivaut à la commande shutdown -r now.
• uptime : dit depuis combien de temps le système n'a pas rebooté. Certains s'amusent ainsi à faire des concours
d'uptime pour prouver la stabilité de leur machine sous Linux !
• w : permet de savoir quels utilisateurs sont logués sur le système et ce qu'ils font.
• lspci : donne des informations sur les bus PCI du système et les périphériques PCI qui y sont rattachés (AGP est
considéré comme un bus PCI) : très pratique pour avoir des renseignements sur le hardware du système ! Attention, quand la
commande affiche Unknown device, cela veut juste dire que l'ID PCI du périphérique n'a pas de nom correspondant dans la
base de données de lspci, mais cela ne veut pas dire que le périphérique "marche", "ne marche pas" ou "ne marchera jamais"
sous Linux !
• cat /proc/cpuinfo : donne plein d'infos sur le processeur.
• cat /proc/interrupts : donne des infos sur l'utilisation des IRQs par les périphériques.
• cat /proc/dma : donne des infos sur l'utilisation des DMA par les périphériques.
• cat /proc/ioports : donne des infos sur l'utilisation des ports I/O (Input / Output) par les périphériques.
• uname -a : donne des informations sur le système, notamment la version du noyau.
9.4) Les petites commandes pratiques
• date : donne l'heure système.
• cal : affiche un calendrier du mois courant. cal 2005 affiche un calendrier de l'année 2005.
• bc : une calculatrice en mode texte.
• la combinaison de touches Ctrl-l permet de rafraîchir l'affichage d'une application en console quand l'affichage est
perturbé (par un message d'erreur par exemple).
Lycée Professionnel Louis BLERIOT
Page 16/16
LACOUR / Installation d'Apache2, PHP5, MySQL, et PhpMyAdmin sur serveur Debian.odt