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