Contenu :
|
1. En quoi un serveur peut-il être pédagogique ?
La puissance du réseau n’est pas exploitée à son plein potentiel, et nous ne parlons pas du côté technique, mais bien pédagogique. Les applications bureautiques sont relativement bien connues : traitement de texte, chiffrier électronique, logiciel de présentation, traitement d’images, etc. Cependant, très peu d’écoles québécoises ont accès à des services réseaux.
Examinons les services offerts par un site comme Yahoo.ca : courrier électronique, agenda, bloc-notes, groupes de discussion, porte-documents, etc. Des outils réseaux pour supporter l’apprentissage par l’intégration des TIC. Nos élèves devraient avoir la chance de pouvoir travailler avec de tels outils, sans publicité toutefois.
Un serveur est nécessaire pour offrir ces services à caractères pédagogiques. De plus, ce sont les élèves qui utiliseront ces services. C’est pour ces raisons que nous parlons de « serveur pédagogique ».
2. Choix du système d’exploitation
Voici quelques éléments à prendre en considération lors de la mise en place d’un serveur pédagogique :
Le nombre de « clients » sera élevé, on doit donc penser aux coûts des licences qui sont généralement directement proportionnels avec ce nombre.
Les services doivent être disponibles de partout car les élèves ne sont pas confinés à apprendre qu’à l’école.
Le serveur doit être sécuritaire car il y aura certaines données confidentielles.
Le service ne doit pas être interrompu à tout moment, car l’intégration des TIC reste fragile.
Si des problèmes surviennent, un support adéquat doit être disponible.
Pour ces raisons nous avons choisi le système d’exploitation GNU/Linux.
3. Installation de la distribution Linux Mandrake
Commençons donc notre travail. Si tout va bien (votre matériel est reconnu, votre réseau est actif, vos cédéroms ne sont pas corrompus,...), dans environ 3 heures vous serez le gestionnaire d’un serveur pédagogique. Pour être certain que vos images .iso ne sont pas corrompues, vous pouvez (en linux) faire la commande "md5sum lenomdufichier.iso". Cette commande vous donnera une série de caractères que vous pouvez comparer avec celles indiquées dans le fichier md5sum_9.0 (ou md5sum_8.2) qui accompagne normalement les 3 fichiers images .iso d’une distribution. Si cette série de caractères est la même, vos images sont garanties d’être conformes à l’original.
Pourquoi le choix de la distribution de Linux-Mandrake ?
Notre choix de distribution est basé sur quelques mois d’utilisation. Mandrake :
répond bien à nos besoins de poste autonome et de serveur ;
est simple à installer ;
produit des mises à jour régulières ;
offre un choix de paquetages très complet pour l’éducation ;
propose une interface et des outils graphiques très intéressants.
Un article détaillant l’installation de Mandrake 8.2 est disponible ici.
Pour lire (en anglais) une installation en détails et des fonctions de la version de Mandrake 9.0, cliquez ici.
4. Mise en place et utilisation des services
Que voulez-vous offrir sur votre serveur pédagogique ? C’est la première question à vous poser. Suggestion : afin d’expérimenter (apprendre) votre serveur, un projet à vivre avec des élèves devrait être à la source de votre installation, c’est ce projet qui vous guidera dans les services à offrir.
Voici donc la description et le protocole d’installation de quelques services courants.
IMPORTANT !!! : Lorsque l’on travaille en Linux, il faut être connecté sous un nom d’usager. L’administrateur en chef d’une machine est l’usager root. Il faut absolument se créer aussi un usager personnel pour pouvoir travailler sur le serveur. À moins que ce ne soit nécessaire, il est TRÈS DANGEREUX DE TRAVAILLER EN ÉTANT ROOT. Un conseil, travaillez toujours sous votre code personnel et ne devenez root (en faisant la commande su (pour super user) que lorsque nécessaire. D’ailleurs les applications nécessitant les permissions de root (comme Linuxconf par exemple) vont vous demander le mot de passe de root si nécessaire.
Pour vous aider, ce petit icône indique lorsque les modifications demandent d’être root.
4.1 Serveur web : L’application utilisée est Apache. Si vous l’avez sélectionné lors de l’installation, il est actif sur votre poste. Faites un test : http://localhost/. Une page d’accueil Apache derait apparaître.
Vous aimeriez peut être que lorsqu’un visiteur vient sur votre site, que ce soit vos pages web qui soient affichées. Pour ce faire on doit signaler à Apache où se trouvent les pages par défaut. C’est le fichier /etc/httpd/conf/httpd.conf que l’on doit modifier
.
Par défaut, les pages web sont situées sur le disque dans /var/www/html .
Remplacer la ligne : DocumentRoot /var/www/html par DocumentRoot /home/usager/public_html. De cette façon, les pages affichées en entrant dans le site seront celles du dossier /public_html de « usager ». Pour que les modifications soient pris en compte, en mode console faites
service apache stop, puis service apache start (ou encore, service apache restart).
Notez que les opérations précédentes ne sont pas obligées de se dérouler en mode texte. Vous pouvez également utiliser des outils de configuration comme par exemple Linuxconf
(où la configuration d’Apache se retrouve dans l’onglet "Configuration" sous "Réseau" dans "Tâches serveur" à "Serveur web Apache".
Chaque usager d’un serveur a la possibilité de publier un site web. L’adresse sera du genre : http://votrenom.qqc/ usager. Il est posssible de modifier la configuration d’Apache afin d’obtenir une adresse comme : http://votrenom.qqc/titredusite. Éditez le fichier
/etc/httpd/conf/commonhttpd.conf, rendez-vous à la section
N.B. : Il est possible que votre serveur web ne soit pas complet car des paquetages ne s’installent pas tous. Si vous utilisez php dans vos pages, vérifiez à l’aide du gestionnaire de paquetatges de Mandrake si tout est là.
4.2 FTP : File Transfert Protocol
Comme sont nom l’indique, grâce à ce service on peut transférer des fichiers d’un poste vers le serveur. L’application que nous vous suggérons est ProFTPd. Cette application aussi sera active si vous l’avez choisi lors de l’installation.
Afin de sécuriser un peu plus ce service, éditez le fichier
/etc/proftpd.conf. Ajoutez la ligne suivante (déjà fait dans Mandrake 9.0) :
![]()
(notez les 3 TAB avant le tilde) ce qui empêchera les utilisateurs de pouvoir remonter dans les répertoires au dessus du sien.
4.3 SSH : Secure SHell
SSH est un protocole de communication entre deux ordinateurs. Comme son nom l’indique il est sécuritaire (encrypté), donc un outil fort intéressant lorsqu’on veut travailler sur notre serveur à distance. Le FTP permet de faire certaines actions sur le serveur, mais il est plus prudent de les exécuter en SSH.
En mode console, pour se brancher à notre serveur on fait la commande : ssh usager@votrenom.abc, puis on vous demandera votre mot de passe. Voilà, vous êtes « sur » votre serveur (en mode console). Vous pouvez tout faire à distance, à condition de connaître les commandes. En voici quelques-unes :
ls = voir le contenu du répertoire courant
reboot= pour redémarrer le poste
cd /repertoire = aller dans répertoire
emacs nomfichier = pour éditer le fichier avec l’éditeur emacs
killall application = pour arrêter l’application
pstree = pour voir les services en fonction
logout = pour quitter (exit)
cp /fichier /ailleur/fichier1 = pour copier un fichier (on peut changer de nom)
rm fichier = pour effacer un fichier
mv fichier /destinationdu/fichier = déplace un fichier vers un répertoire
chmod 644 -R /dossier = changer les droits sur un dossier et son contenu
./fichier = exécute l’application ou le script
ifconfig = permet de voir l’état des cartes réseaux.
ifup eth0 = démarre l’interface réseau eth0
Un utilitaire fort apprécié pour ceux qui veulent travailler en mode graphique est « Kio Fish ». Cette application permet de se brancher en SSH via le navigateur Konqueror, donc en mode graphique. Pour le télécharger, cliquez ici (voir dans le dossier KDE 303).
4.4 Sauvegarde des données
Quel malheur de tout perdre le travail d’une semaine ! Imaginez de perdre celui d’une année ! C’est pourquoi on doit se doter d’un système de sauvegarde de nos données (du système aussi si vous le voulez).
Principe de base : Afin de ne pas prendre 8 heures pour chaque sauvegarde de vos données (plusieures Mo), il est recommandé d’utiliser l’application « rsync ». Elle fera une comparaison de la source et de la destination pour ne transférer ce qui a été modifié. On économise temps et bande passante.
Sauvegarde sur le même appareil :
En mode console
:
rsync -avz /var/lib/mysql/ /home/usager/dossier/mysql/
où -avz sont des options de la commande rsync. Pour plus de détails faites la commande man rsync dans une console.
Ceci synchronise votre base de données MySQL vers un dossier dans le répertoire de « usager ». Le dossier /var sera écrasé lors d’une réinstallation du sysème (à moins que vous soyez un pro de Linux), c’est pourquoi nous suvegardons sur le même disque ce dossier.
Sauvegarde vers un autre appareil :
En mode console : rsync -a -e ssh /dossiersource/ ordi.qqc :/home/usager/dossierdestination/ Ceci synchronise le /dossiersource vers un ordinateur du nom de ordi.qqc (adresse web) dans le dossier /dossierdestination/ de « usager ».
Cette fonction est réutilisable pour tout autre fichier.
Comment rendre cette tâche automatique ? En utlisant l’application « LinuxConf ». Démarrer LinuxConf
, cliquez sur l’onglet « Contrôler », cliquez sur « Panneau de configuration » puis sur « Tâches préprogrammée... ». Ajoutez la tâche rsync ci-haut.
Si vous utilisez un appareil distant pour votre synchronisation, un mot de passe vous sera demandé à chaque sauvegarde, alors on doit utilisé des clés d’encryption pour identifier correctement l’appareil.
Pour vous créer une pairs de clés, sur le serveur (en mode terminal) : ssh-keygen -t dsa. Vos clés se retrouvent dans le dossier (caché) /home/usager/.ssh. Ne jamais faire cette action en super-utilisateur pour des raisons de sécurité.
Avec un logiciel ftp (ou en SSH), rendez-vous dans le dossier de sauvegarde sur le serveur. Entrez dans le répertoire caché /.ssh. Transférez votre clé publique (id_dsa.pub) vers le serveur de sauvegarde. Renommez-la authorized_keys. Voilà, le mot de passe ne vous sera plus demandé car les deux appareils se reconnaissent et vous pouvez copier tout votre site web sur le serveur de sauvegarde.
4.5 SaMBa
Votre parc informatique est hétérogène, c’est-à-dire qu’il contient des ordinateurs de différentes technologies (Windows, Mac, Linux) ? Vous aurez donc besoin de ce service qui permet d’accéder à votre espace disque de n’importe quelle technologie.
Pour lire un document d’installation de SaMBa, voir ici.
4.6 php-MySQL
Si un de vos besoins pédagogiques est d’offrir des services dits « en ligne », une des solutions est d’installer la base de données MySQL et le langage php sur votre ordinateur.
Aucune autre configration ne sera nécessaire, à moins que le service « mysql » ne soit pas démarré. Dans ce cas, utilisez « Mandrake Control Center »
pour le démarrer.
Un des outils très utiles pour gérer ses bases de données se nomme « phpMyAdmin » (télécharger ici). Pour installer l’application, voir le fichier « install » fourni avec l’application. Pour sécuriser phpMyAdmin (très important), voir cet acticle.
4.7 Courrier électronique
Le courrier électronique est l’une des applications web les plus utilisées. Plusieurs projets pédagogiques sont réalisés grâce au fameux « mail ». C’est pourquoi nous considérons qu’un serveur pédagogique doit offrir ce service.
Il y a une application du nom de Postfix qui est intégré dans la distribution Mandrake. Pour la configurer, utiliser le panneau de contrôle mandrake, section serveur (si vous ne l’avez pas installé, rendez-vous dans Installation de paquetage et installer DrakWizard). Par la suite, s’il y a des problèmes de configuration, éditez le fichier
/etc/postfix/main.cf. Vous y retrouverez toutes les configurations.
Le service "pop-3" doit être présent lorsqu’on fait la commande
nmap votreserveur. En fait, vous venez de tester les ports ouverts sur votre serveur. Pour des raisons de sécurité, ne laissez pas de ports ouverts si vous n’utilisez pas les services associés. Voici les ports ouverts après une installation comme celle décrite dans le présent document :
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop-3
443/tcp open https
3306/tcp open mysql
En tant qu’usager vous avez automatiquement une adresse de courrier du type : usager@votresite.qqc. On peut ajouter des usagers qui n’auront qu’un compte de courrier électronique (il ne seront pas usager sur le serveur). Pour ce faire, vous utilisez Linuxconf
, dans la section Utilisateurs-Comptes spéciaux.
5. Installation des outils web dynamiques (phpNuke, phpSherpa, portfolio...)
Installer une application web n’est pas aussi simple que pour une application sur un poste de bureau. Un article explique les généralités pour installer de telles applications ici.
Pour lire un article sur l’installation de phpNuke, cliquez ici.
6. Le concept de sécurité
Est-ce que votre serveur sera sécuritaire ? Voici quelques éléments de réponses :
Seuls les ports offrant des services sont dit « ouverts ». Alors si quelqu’un veut accéder à votre serveur via un port précis, il ne pourra pas à moins qu’il y est un service qui répond. Pour voir les ports ouverts sur un serveur, faites la commande
nmap nomserveur comme vu plus haut.
GNU/Linux offre la chance aux programmeurs de « voir » le code d’une application, donc de trouver un « trou » de sécurité avant que quelqu’un ait même percé l’application. Alors en faisant ses mises à jours régulièrement on évite des possibilités d’intrusion.
Les mots de passe sont les clés de votre serveur, alors n’utilisez pas « bonjour » pour le votre et ne collez pas un papier sur le bord de l’écran contenant vos pensées :o)
Les virus sont presqu’inexistant sur GNU/Linux, donc de ce côté il n’y a pas trop de soucis à se faire.
7. Comment trouver de l’aide ?
LinuxÉdu-Québec a un forum de discussion sur ce sujet à l’adresse suivante : http://www.linuxeduquebec.org/forums/. De plus, pour ceux qui veulent aller plus loin, Google fait des merveilles.
Chaque application libre possède de la documentation à son sujet, prenez le temps de lire, car vous découvrirez que ce n’est pas si complexe, seulement nouveau :o).
8. Conclusion
Cet article avait pour but de tenter de démystifier le concept de serveur pédagogique. L’installation, la configuration et la gestion sont relativement simple, il faut seulement prendre son temps et lire la documentation comme celle ci-haut.
Comme vous l’avez constaté, il est intéressant d’avoir lu cet article avant d’installer votre serveur car il y a des applications à sélectionner lors du choix des paquetages.



