Public cible :

Objectif général : être autonome sur l'installation d'un serveur Moodle et savoir en assurer la gestion au quotidien. En détail :

Prérequis et critères de sélection des candidats :

Formateurs :

Supports de cours

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

<VirtualHost *:80>

</VirtualHost> }}}

  • {{{# /etc/apache2/site-available/www.domaine2

<VirtualHost *:80>

</VirtualHost> }}}

  1. a2ensite www.domaine1 et a2ensite www.domaine2

  2. /etc/init.d/apache2 reload ... voilà...

  3. 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

  • A propos de Moodle

  • 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 ?

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
    • 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...

ZAO/Dakar/Projets/FormationMiseEnPlaceMoodle (dernière édition le 2008-02-21 22:09:51 par localhost)