Public cible :
- les informaticiens en charge de la mise en place et de la gestion des plateformes de formation à distance.
- Participants sensibilisés :
PF OK Omar Diakhoumpa (Responsable Service Informatique EBAD omar.diakhoumpa@ebad.ucad.sn)
PF OK Mme Khoudia Gueye SY (DI UCAD khoudiasy@ucad.sn)
PF OK Erick Fargeas (DI UCAD efargeas@ucad.sn)
PF OK Kpakpo Serge AKUE (DI UCAD sergeakue@yahoo.fr)
PF OK Mamadou Lamine Kébé (FASTEF malamine02kebester@gmail.com / malamine02kebe@yahoo.fr)
PF manque confirmation Médard BASSENE remplacé par Adama KA (ESP dep info)
PF OK Ibrahim NGOM (ESP génie info ib_ngom@yahoo.fr)
PF OK Pape Alioune Sarr NDIAYE (ESP génie électrique pndiaye@ucad.sn ou pndiaye2@sentoo.sn);
PF OK El Hadji Mamadou NGUER (proposé par Moussa LO, UFR SAT UGB -- Michel Namar va vérifier que ça concorde)
PF OK Salifou DENE (webmaster 2iE, Ouagadougou)
PF manque confirmation Soulé Guèye (CODESRIA, confirmation en cours)
PF OK Mme Audry Capochichi (CESAG)
PF OK Modou Mar (CESAG)
PF OK Mme Soukeyna GUEYE (CESAG)
PF OK Alioune GUEYE (FASEG)
PF OK Fatoumata Diouf GUEYE (FASEG)
Objectif général : être autonome sur l'installation d'un serveur Moodle et savoir en assurer la gestion au quotidien. En détail :
installation de base d'un serveur (cas de Debian GNU/Linux 4.0 Etch)
- installation et sécurisation d'un système LAMP (P=PHP)
- installation d'une application Web LAMP (cas de Moodle)
- outils de suivi de supervision et de maintenance d'un serveur au quotidien
- techniques de suivi d'une application web (cas de Moodle)
- mise en place d'un système de sauvegarde/restauration
- bonnes pratiques pour réagir en cas de problème
- bonnes pratiques de maintenance préventive
- bonnes pratiques de sécurisation globale d'un système informatique
Prérequis et critères de sélection des candidats :
- niveau de base Unix/Linux : avoir déjà pratiqué Linux et savoir ce que c'est que la "ligne de commande"
- être impliqué techniquement dans un projet de formation à distance
Formateurs :
- principaux : Jérôme Santini et Thomas Noël
- assistants : Zoser Biziki et Sosthène Yamalé
Supports de cours
Rappels de base sur Linux/Unix : unix-base.pdf (source LaTeX : unix-base.tex)
Quelques notes sur Debian : debian.pdf (trop rapidement fait...) (source LaTeX : debian.tex)
Linux : où trouver de l'information ? : documentation.pdf (source LaTeX : documentation.tex)
Usages de Moodle : moodle_usages.pdf et activité_moodle.pdf
Programme
Journée 1
(edit)
Matinée : rappels sur Linux/Unix
Présentation du programme de la semaine
Pratique de Linux/Unix sur des machines pré-installées en Ubuntu
- quelques commandes de base : cd, ls, mv, rm, cp, ln ...
- tubes et redirections
- utilisateurs : /etc/passwd, /etc/group, /etc/shadow. adduser et addgroup.
- processus : ps, /proc, kill, top
- droits sur les fichiers : chown, chmod
- différents types de fichiers
- rôle du noyau. espace noyau, espace utilisateur.
- présentation de la FHS
- partitionnement, LVM (présentation théorique)
Après-midi : installation de base
- présentation de Debian
- système APT : aptitude, apt-cache
- installation Debian : netinst
- configuration réseau de base : /etc/network/interfaces
- édition du sources.list (miroir)
- quelques utilitaires réseaux : ip (iproute) vs ifconfig/route, ping, mtr, netstat, trafshow
- services de base : ssh, sudo (TP sur les clés s'il reste du temps)
- utilisation de LVM (TP s'il reste du temps)
Jour 2
(edit)
Où trouver l'information ?
- rien ne sert à apprendre par coeur les commandes, mais apprendre plutôt à retrouver l'information lorsqu'on en a besoin.
- Sur la machine : man et /usr/share/doc/ (sous Debian, commencer toujours par README.Debian)
- Sur le web : tldp.org et traduc.org, linux-france.org, les divers sites debian et ubuntu. Google et les forums : attention.
- Les RFC et autres documents fondamentaux
- Dans les livres (O'Reilly)
apache2
- installation
- les fichiers et répertoires de configuration
- les modules
- rôle de l'utilisateur www-data. Danger associés
virtualhost, exemple TP ultra simple (pompée sur http://nuxwin.com/articles/view.php/18):
- pas de DNS, on passe par /etc/hosts (sur serveur et client(s)) :
# ajouté dans /etc/hosts (sur serveur et client(s)) 192.168.x.y www.domaine1 192.168.x.y www.domaine2
NameVirtualHost *:80 dans /etc/apache2/apache2.conf
- ajouter deux sites dans /etc/apache2/sites-available/ :
- {{{# /etc/apache2/site-available/www.domaine1
- pas de DNS, on passe par /etc/hosts (sur serveur et client(s)) :
<VirtualHost *:80>
ServerName www.domaine1 DocumentRoot /srv/www/www.domaine1
</VirtualHost> }}}
- {{{# /etc/apache2/site-available/www.domaine2
<VirtualHost *:80>
ServerName www.domaine2 DocumentRoot /srv/www/www.domaine2
</VirtualHost> }}}
a2ensite www.domaine1 et a2ensite www.domaine2
/etc/init.d/apache2 reload ... voilà...
documentation officielle : http://httpd.apache.org/docs/2.2/vhosts/name-based.html
- gestion des accès (allow/deny)
php
- installation de php5 module d'apache2
- un tout petit script en PHP (echo 1+1) pour vérifier que ça marche
- phpinfo()
mysql
- configuration/sécurisation de base
- mot de passe d'administration
- /root/.my.cnf
- les logs : pas trop, juste ce qu'il faut pour déboguer (à retirer en production)
- utilisation de mysql et mysqladmin
Notions de sécurisation autour des composants :
- qui a accès à quoi (www-data, mysql, root...)
- pourquoi on n'installe PAS phpmyadmin sur ce serveur...
S'il reste du temps : solution de virtualisation de serveur : OpenVZ et les autres. (TP s'il reste encore du temps).
Journée 3
(edit)
Les plates-formes de formation à distance
On en dénombre environ 230, qu'on peut regrouper en 3 catégories :
- Plates-formes sous licence libre : Ganesha, Claroline, Dokeos, Moodle , ....
Plates-formes gratuite : Acol@d, CourseForum , ...
- Plates-formes sous licence commerciale : WebCT, iTutor , ....
Le choix de Moodle
- licence libre
- outils (forums, chats, sondages, wikis, glossaires...)
- modulaire et personnalisable par cours et apprenant
- communauté internationnale très active
- prise en main facile
- plus de 10 millions d'utilisateurs, parlant 75 langues dans 175 pays
- multiplateforme
Présentation complète de Moodle : www.moodle.org
La communauté : http://moodle.org/course/view.php?id=20
Installation de moodle : http://docs.moodle.org/fr/Installation_de_Moodle
- Prérequis : avoir un serveur web pouvant interprété le language de script php et un serveur de base de données
où trouver Moodle ? : http://moodle.org/download/
- quelle version installer ? :
- mettre les fichiers sur le serveur : tar , unzip ( /srv/www/monsitemoodle )
- configurer le serveur web : /etc/apache2/sites-available/monsitemoodle
- configurer la base de données : créer une base de données avec un utilisateur associé (donner à cet utlisateur les privilèges SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER sur ladite bdd )
- configuration moodle "de base" (compte admin, etc.)
installation de quelques plugins : http://moodle.org/mod/data/view.php?id=6009
comment mettre à jour le design (logo sur la page d'accueil, etc) : http://moodle.org/themes
- mise à jour du moteur : pourquoi, quand, qui et comment ?
- relire la documentation d'installation et vérifier les pré-requis système ,
- sauvegarder les données importantes (le dossier contenant le logiciel moodle, le dossier des données et la base de données )
- mettre à jour le logiciel moodle, migrer la base de données
- hébergement mutualisé : différentes techniques, du virtualhost à openvz
Journée 4
(edit)
Matin
- hebergement d'un serveur connecté à internet, infrastucture à mettre en place
- différences entre LS et ADSL
- définir routeur/serveur/parefeu
Matinée 10h-13h : coté utilisateur
Moodle coté utilisateur, de 11h à 13h. Intervenant : A. Mbengue.
Après-midi
Comment trouver l'information ?
Choix du matériel (serveur, electricité)
Journée 5
(edit)
Matin
Bonnes pratiques de l'administration système : que faire pour éviter les soucis, comment réagir face à un problème ?
parcours rapide de "TravailDeFond"
Les logs
- comment sont-il générés : syslog ou non
- parcours rapide de /etc/syslog.conf
- logrotate
- signaler l'existence du logrotate.d/
- les logs de apache
- faire un fichier de log par virtualhost
- comment intrepreter les logs apache
Suivi et supervision d'un serveur
Les logs : grep (expressions rationnelles), less (/, F, >), tail -f
- Outils temps réels : top, ps, lsof, netstat, strace/ltrace, tshark, iptraf, trafshow
- snmp, mrtg, cricket
- parler des autres outils : logcheck, mon, nagiiiios
aprés-midi
Sauvegarde/restauration de données : backuppc (TP 1/2 journée)
- présentation de backuppc
- differentiation des serveurs / postes clients
- interface web conviviale
- compression et fusion des backups entre plusieurs machines
- l'architecture backuppc
- un daemon
- une interface web
- des connexions vers les serveurs (rsync sur ssh)
- /var/lib/backuppc pour les fichiers
- TP
- en groupes : un serveur de backup, un serveur moodle à sauvegarder
- aptitude install apache2 backuppc libfile-rsyncp-perl
- configuration de backuppc
- interface web
- mot de passe / compte d'administration
- ajout d'une nouvelle machine à sauvegarder
- création de la clef ssh
- copie de la clef ssh sur le serveur à sauvegarder
- /etc/backuppc/hosts
- rsync sur la machine distante
- provoquer une sauvegarde
- test de restauration total, en bootant sur un livecd
- questions-réponses...