Guide de configuration du bureau Gentoo Linux John P. Davis Grant Goodyear Sven Vermeulen Zack Gilburd Benny Chuang Erwin FRLinux Xavier Neys Ce guide vous explique comment configurer votre bureau sous Gentoo Linux. Nous étudierons plus particulièrement la configuration de X, KDE, GNOME, ALSA (le son), postfix (courrier électronique) et Samba (interopérabilité UNIX/windows). 1.4.14 17 janvier 2004 Préliminaires

Il va sans dire que vous devez avoir installé Gentoo (http://www.gentoo.org/doc/fr/gentoo-x86-install.xml). Ensuite, vous devez télécharger la dernière version de Portage. Nous vous conseillons d'ailleurs la lecture du Guide de l'utilisateur de Portage, mais les impatients se contenteront de taper :

# emerge sync

Il me semble important d'expliquer mon choix concernant les paquets qui sont abordés dans ce guide. Gentoo Linux contient en effet une liste très impressionnante de gestionnaires de fenêtres, serveurs de courrier électronique et autres logiciels. Les paquets choisis ici ne reflètent pas la préférence des utilisateurs Gentoo mais plus mon propre choix en tant qu'utilisateur capable de les paramétrer correctement. En d'autres mots, ce sont les paquets qui sont utilisés sur mon bureau.

Il est conseillé de déselectionner les gestionnaires que vous ne voulez pas utiliser en éditant /etc/make.conf. Dans la section USE, ajoutez -gnome -gtk si vous utilisez KDE, ou bien -kde -qt si vous comptez utiliser GNOME. Si vous rencontrez un bogue avec un de ces paquets, informez-nous en via http://bugs.gentoo.org/. Ne les envoyez pas aux mainteneurs de ces paquets (ex : KDE), les développeurs Gentoo s'en chargeront le cas échéant.
Installer XFree86
Installation

Le processus d'installation de X prendra un certain temps, même sur un système rapide. Ce système est relativement imposant, choisissez un bon livre ou faites une petite sieste.

Pour installer XFree86, tapez :

# emerge xfree
# env-update && source /etc/profile

Une fois cette longue procédure terminée, la configuration peut commencer.

Configurer X

J'aime bien utiliser l'outil de configuration en mode texte xf86config pour configurer X, bien qu'il génère un fichier /etc/X11/XF86Config qui ne soit pas très élégant. Avant de commencer, il vous faudra consulter le manuel de votre moniteur et noter les fréquences de rafraîchissement horizontales et verticales (mon Viewsonic G773 possède les caractéristiques suivantes : horizontalement : 30-69 KHz, verticalement : 55-90 KHz), le type et la quantité de mémoire (en Ko) de votre carte vidéo (une carte Geforce avec 32768 Ko dans mon cas), ainsi que le type de souris (le mienne est une Intellimouse connectée sur le port PS/2 vu sur /dev/psaux).

# /usr/X11R6/bin/xf86config

Je choisis de ne pas émuler les 3 boutons puisque ma souris a 3 boutons. N'oubliez pas d'ajouter le support XKB si vous possédez un clavier international ou si vous avez besoin d'un support pour plusieurs langues. Il vous faudra ensuite décider d'une résolution et du nombre de couleurs. J'aime utiliser 1280x1024 en 24bpp car mon Viewsonic ne peut pas mieux. Si vous n'avez jamais fait ceci, ne soyez pas étonné de devoir exécuter xf86config plusieurs fois.

Si vous ne connaissez pas les fréquences de rafraîchissement de votre moniteur, essayez de faire une recherche sur Google par exemple http://www.google.fr, en précisant le modèle et le fabriquant de votre moniteur. Ces données sont généralement documentées dans les spécifications.

Vous pouvez aussi configurer XFree86 avec la commande XFree86 -configure. Celle-ci créera un fichier de configuration XF86Config dans le répertoire de l'utilisateur root (/root). Ce fichier devrait permettre à XFree86 de fonctionner, mais vous pouvez le modifier pour l'adapter à vos besoins. Si tout vous semble correct, copiez-le dans /etc/X11/XF86Config.

Ce tutoriel décrit la configuration de X plus en détails.

Si vous ne connaissez pas les fréquences de rafraîchissement de votre moniteur, essayez une recherche sur http://www.google.com/ avec le numéro de modèle et la marque de votre moniteur. Les fréquences sont généralement indiquées dans les spécifications. Si vous utilisez un clavier international qui a besoin des touches diacritiques (telles que è, é, ê, ë, ò, ó), vous devez déclarer votre variable de définition de votre localisation avant de démarrer X. Pour cela, créez un fichier /etc/env.d/02locale et ajoutez LC_CTYPE=« xx_YY »xx est votre langue (p.ex. « fr ») et YY votre pays (p.ex. « BE »). Si vous voulez utiliser le symbole euro, vous devez ajouter « @euro » à votre variable (p.ex. LC_CTYPE="fr_BE@euro"). N'oubliez pas de faire ensuite env-update && source /etc/profile pour prendre vos modifications en compte.

Les utilisateurs qui ont de l'expérience avec la configuration X sont sans doute habitués à faire un lien symbolique du fichier matériel de la souris vers /dev/mouse. Ces liens symboliques étaient problématiques avec devfs car ils avaient tendance à disparaître après un redémarrage. Gentoo Linux gère maintenant correctement les liens symboliques dans le répertoire /dev. Vous pouvez donc créer le lien symbolique /dev/mouse en utilisant ln -s et il sera préservé après un redémarrage.

Si vous utilisez XFS (le serveur de polices de X), suivez les instructions ci-dessous. L'utilisation de XFS est hautement recommandée car elle facilite grandement la configuration des polices. Consultez cet article du site de RedHat pour en savoir plus sur XFS.

# rc-update add xfs default
# /etc/init.d/xfs start
# startx

Si vous avez correctement configuré X, la commande startx devrait démarrer un gestionnaire de fenêtres X particulièrement laid (twm, si vous tenez à le savoir). Si X démarre, vous pouvez continuer. Appuyez sur <Ctrl><Alt><Retour arrière> pour arrêter le serveur.

xf86config crée uniquement un jeu d'options par défaut. Les utilisateurs de cartes NVIDIA, souris USB ou autres devront les paramétrer manuellement. Je vais tenter de répondre à la plupart de ces questions un peu plus bas, mais je vous recommande de lire le fichier XF86Config afin de voir ce que vous pouvez modifier vous-même. Il n'est pas si difficile à comprendre. Si vous recherchez des informations pour optimiser ce fichier, consultez le Guide des belles polices.

Configurer une souris PS/2

Si vous avez une souris PS/2 avec molette, modifiez le fichier XF86Config comme ceci :

# cp /etc/X11/XF86Config /etc/X11/XF86Config.working
# nano -w /etc/X11/XF86Config
Section "InputDevice"

#Identifier and driver

Identifier	"Mouse1"
Driver	"mouse"
Option "Protocol"    "IMPS/2" 
Option "Device"      "/dev/psaux"
Option "ZAxisMapping"	"4 5"

Les utilisateurs de souris de type Intellimouse remplaceront le « Protocol » « PS/2 » par « IMPS/2 ». Pour activer la molette, il suffit de rajouter la ligne « Option "ZAxisMapping" "4 5" » où « 4 » et « 5 » correspondent aux mouvements vers le haut et vers le bas.

Si vous possédez une souris à molette et que PS/2 ne fonctionne pas, essayez IMPS/2 même si votre souris n'est pas de type Intellimouse. Certaines souris Logitech fonctionnent si vous faites cela.

Netscape 4.x ne gérant pas la molette par défaut, vous devrez créer un fichier .Xdefaults. Consultez cette page pour savoir comment procéder. Utilisez plutôt Konqueror, Opera, Mozilla, Galeon ou n'importe quel autre vrai navigateur.

Lancez startx pour vérifier que X démarre toujours correctement.

Configurer une souris USB

Une souris USB est très utile sur un écran haute résolution, car le noyau optimise ses mouvements, ce qui vous évite de déplacer la souris 5 fois sur le tapis pour lui faire traverser l'écran.

Pour l'utiliser correctement, vous devez installer les bons modules du noyau. Ces modules sont usbmouse, mousedev, hid, usbcore, usb-uhci et input. Après avoir recompilé ces modules, si nécessaire, il ne vous restera plus qu'à faire un insmod de ceux-ci.

Utilisez usbmouse ou hid. Si vous installez les deux, votre souris ne fonctionnera pas. Lorsque vous configurez le support de base de votre souris, assurez-vous de bien préciser la résolution d'écran qui sera utilisée sous XFree86. Cela devrait rendre son utilisation facile et agréable.

Déconnectez votre souris, patientez quelques secondes, puis reconnectez-la. Votre noyau devrait alors indiquer quelque chose comme ceci dans les journaux des événements (« log ») ou dmesg :

hub.c: USB new device connect on bus1/1, assigned device number 2
input0,hiddev0: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse Optical] on usb1:2.0

Maintenant que nous savons que la souris est détectée, vérifiez que /dev/input contient un périphérique :

# cd /dev/input
# cat mice
Déplacez votre souris après avoir tapé la commande cat.
Vous devriez voir des caractères apparaître à l'écran.
Faites control-C pour arrêter le test.

Maintenant que la souris est correctement installée, il faut indiquer à X de l'utiliser. Il vous suffit pour cela de changer une section de votre fichier de configuration.

# cp /etc/X11/XF86Config /etc/X11/XF86Config.working
# nano -w /etc/X11/XF86Config
Section "InputDevice"

# Identifier and driver

Identifier	"Mouse1"
Driver	"mouse"
Option "Protocol"    "IMPS/2" 
Option "Device"      "/dev/input/mice"
Option "ZAxisMapping"	"4 5"

Redémarrez X et votre souris devrait fonctionner !

N'oubliez pas d'ajouter les modules USB dans votre fichier /etc/modules.autoload.d/kernel-2.4.

# nano -w /etc/modules.autoload.d/kernel-2.4
(Ajoutez ces lignes au fichier)
mousedev
hid
usbcore
input
Configurer une carte NVIDIA

Si vous possédez une carte NVIDIA, c'est le moment d'installer les pilotes pour l'accélération matérielle.

Si vous recompilez votre noyau, vous devez aussi recompiler le paquet nvidia-kernel. Cela est nécessaire car le nouveau noyau effacera le module nividia lorsqu'il installera ses propres modules.
# emerge nvidia-glx
# emerge nvidia-kernel
# nano -w /etc/X11/XF86Config
# modprobe nvidia
Si vous utilisez une version du noyau différente de 2.4, remplacez 2.4 par la version que vous utilisez.
# nano -w /etc/modules.autoload.d/kernel-2.4
(Ajoutez la ligne suivante.)
nvidia
Section "Module"

# This loads the GLX module
#    Load       "glx" (Décommentez cette ligne.)
Section "Device"
Identifier  "NVIDIA GeForce"
#Driver      "nv"
Driver      "nvidia"
#VideoRam    32768
# Insert Clocks lines here if appropriate
EndSection

Faites un startx pour vous assurer que X démarre encore. (L'écran d'accueil avec le logo NVIDIA devrait apparaître si vous avez correctement installé les pilotes.)

Si vous rencontrez des problèmes, veuillez consulter la documentation sur glx dans le fichier /usr/share/doc/nvidia-glx-1.0.XXXX/README.gz. De nombreuses variables de configuration peuvent influencer les performances de votre système.
Gestionnaires de fenêtres
Introduction

Généralement, après avoir configuré X, on installe un joli gestionnaire de fenêtres. Vous pouvez évidemment utiliser twm si vous appréciez sa laideur fonctionnelle.

Un grand nombre de gestionnaires sont disponibles. KDE, GNOME, Fluxbox, Blackbox, d'autres *box, Windowmaker et Sawfish en sont quelques exemples. Comme vous pouvez le voir, l'éventail des choix est particulièrement large.

KDE

Si vous lisez cette section, je vais supposer que vous avez choisi KDE. Il est désormais complètement supporté dans Gentoo Linux, mais je vous conseille de lire ce qui suit avant de faire un emerge de KDE :

  • Assurez-vous d'avoir « qt » et « kde » dans votre variable USE dans le fichier make.conf.
  • Assurez-vous aussi d'avoir mis (facultatif) « -gnome » et « -gtk » dans le fichier make.conf.

Vous pouvez réaliser ces deux étapes en modifiant le fichier /etc/make.conf comme suit :

# nano -w /etc/make.conf
(dans le fichier make.conf)
USE="qt kde -gnome -gtk"

Pour en savoir plus sur les options de la variable USE, veuillez consulter le Guide USE.

Je vous conseille également l'utilisation de l'option --pretend avant de faire un emerge afin de voir quels paquets vont être installés. Dans le cas de KDE, il y en a beaucoup.

# emerge --pretend kde
# emerge kde
# env-update && source /etc/profile

Jetez un œil au fichier /etc/X11/Sessions/ et voyez quelles sessions KDE sont disponibles (par exemple kde-3.1.2). Ensuite, ouvrez le fichier /etc/rc.conf et indiquez ceci :

XSESSION="kde-3.1.2"

Si vous ne voulez pas installer KDE avec tous ses paquets (ce que ferait emerge kde), vous pouvez installer séparément les paquets que vous voulez vraiment. Le tableau ci-dessous contient une sélection de paquets disponibles. Installez ceux que vous souhaitez en faisant emerge nom_du_paquet.

kdeaccessibilityProgrammes liés à l'accessibilitékdebaseBase de KDE, nécessairekdeaddonsDivers outils KDE obsolèteskdeadminOutils d'administrationkdeartworkJolis thèmes pour KDEkdeeduOutils éducatifskdegamesJeux KDEkdegraphicsOutils graphiqueskdemultimediaLecteurs et outils multimediakdenetworkOutils réseaukdepimGestionnaires d'informations personnelles (PIM), calendriers, aide-mémoire, etc.kdesdkOutils pour développeurskdetoysGadgets KDEkdeutilsOutils systèmekde-i18nFichiers de traductions i18n - cf. note ci-dessous
Paquet Description
Si vous pensez utiliser CUPS pour imprimer, vous devriez ajouter « cups » dans vos options USE dans le fichier /etc/make.conf avant d'installer KDE. Vous pouvez aussi le faire sur la ligne de commande en tapant USE="cups" emerge kde. Consultez le Guide de l'impression avec Gentoo pour connaître les détails de l'installation de CUPS. Le paquet kde-i18n utilise la variable d'environnement LINGUAS pour déterminer quelles langues il doit installer. Par exemple, LINGUAS="fr it" permet l'installation des traductions française et italienne.

Bonne sieste !

Si vous avez un CD Gentoo avec des paquets binaires, vous pouvez installer ces paquets directement comme ceci :
# export PKGDIR=/mnt/cdrom/gentoo/packages
(Portage s'attend à trouver les paquets dans /usr/portage/packages)
# emerge --usepkg /mnt/cdrom/gentoo/packages/All/kdebase-x.y.z.tbz2
(L'option --usepkg permet l'utilisation des paquets binaires pour les dépendances quand ils sont disponibles.)
# env-update && source /etc/profile
Configurer KDM

Après avoir installé KDE, vous pouvez utiliser son gestionnaire d'identification, c-à-d. KDM. Il fait partie des paquets KDE et s'exécute simplement en faisant :

# kdm

Vous devriez pouvoir démarrer KDE et vous assurer que tout fonctionne. Le son ne fonctionne pas encore, mais nous allons arranger cela sous peu. Essayez ls /usr/bin dans konsole (ou n'importe quelle autre commande qui affiche beaucoup de texte) et vérifiez que la molette fait défiler le contenu de la fenêtre. Ça devrait marcher !

Il ne vous reste plus qu'à paramétrer Gentoo pour exécuter X à chaque démarrage. Editez /etc/rc.conf et indiquez DISPLAYMANAGER="kdm".

# nano -w /etc/rc.conf
# What display manager do you use ?  [ xdm | gdm | kdm ]
DISPLAYMANAGER=kdm

Il ne reste qu'à ajouter xdm aux scripts d'initialisation.

# rc-update add xdm default

Redémarrez et X/KDE devrait apparaître.

La commande rc-update est une version améliorée de la vénérable chkconfig qui gère les scripts d'initialisation. Tapez rc-update pour lister ses options.
GNOME
Installation

Avant de commencer à installer les paquets GNOME, vous devriez modifier la variable USE pour activer le support de GNOME quand vous compilerez des applications.

  • Vérifiez que « gtk » et « gnome » sont définis dans la variable USE dans votre fichier make.conf.
  • Vérifiez éventuellement que « -kde » et « -qt » sont définis dans la variable USE dans make.conf.

Modifiez le fichier /etc/make.conf comme ceci :

# nano -w /etc/make.conf
(Dans le fichier make.conf)

USE="gnome gtk -kde -qt"

Pour en savoir plus sur les options de la variable USE, veuillez consulter le guide USE.

Installez maintenant les paquets de GNOME.

# emerge --pretend gnome
# emerge gnome
# emerge xscreensaver
# env-update && source /etc/profile

Cela va durer un certain temps, passez le temps avec un bon film. L'auteur recommande Pulp Fiction.

Modifiez le fichier /etc/rc.conf pour que la variable XSESSION indique Gnome.

XSESSION="Gnome"

À partir d'ici, la configuration de GNOME est sensiblement la même que celle de KDE. Il n'y a aucun fichier spécifique à paramétrer pour GNOME, mais il faut paramétrer GDM, le gestionnaire d'identification.

Configurer GDM

Après avoir installé GNOME, vous pouvez utiliser son gestionnaire d'identification, c-à-d. GDM. Il fait partie du paquet GDE et s'exécute simplement en faisant :

# gdm

Vous devriez pouvoir démarrer GNOME et vous assurer que tout fonctionne. Le son ne fonctionne pas encore, mais nous allons arranger cela sous peu. Essayez ls /usr/bin dans une console (ou n'importe quelle autre commande qui affiche beaucoup de texte) et vérifiez que la molette fait défiler le contenu de la fenêtre. Ça devrait marcher !

Il ne reste plus qu'à paramétrer Gentoo pour lancer X à chaque démarrage. Éditez /etc/rc.conf et indiquez DISPLAYMANAGER="gdm".

# nano -w /etc/rc.conf
# What display manager do you use ?  [ xdm | gdm | kdm ]
DISPLAYMANAGER=gdm

Ajoutons xdm aux scripts d'initialisation.

# rc-update add xdm default

Redémarrez et X/GNOME devrait apparaître.

La commande rc-update est une version améliorée de la vénérable chkconfig qui gère les scripts d'initialisation. Tapez rc-update pour lister ses options.
Configuration du son
Alsa

Veuillez consulter le Guide d'installation de ALSA.

KDE et le son

KDE offre quelques utilitaires pratiques dont la console de mixage (« mixer ») kmix.

Si kmix ne trouve pas le programme de mixage, il considérera que vous n'avez pas installé le support du son. Quittez votre session X, supprimez ~/.kde/share/config/kmixrc et ~/.kde/share/config/kmix:* et relancez X. KDE devrait maintenant trouver le programme de mixage.
GNOME et le son

Vous devriez essayer gnome-alsamixer pour modifier les niveaux sonores. Il fait partie du paquet media-sound/gnome-alsamixer.

Courrier électronique
Postfix, installation et configuration

J'aime postfix car il simule sendmail sans imposer le cauchemard qu'est sa configuration. Nous installerons aussi mutt, un lecteur de courrier électronique, pour tester notre configuration de postfix.

# emerge postfix mutt

Si vous comptez utiliser Postfix uniquement pour envoyer du courrier électronique, il est déjà configuré. Sinon, vous devez modifier /etc/postfix/main.cf. Ce fichier est relativement bien documenté et les valeurs par défaut sont acceptables pour une machine seule. Si votre ordinateur est connecté directement à Internet (c-à-d. avec une adresse IP publique et un nom DNS), il vous suffit de modifier ce fichier pour activer la réception de courriels.

# RECEIVING MAIL

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain
Tester Postfix avec Mutt

Voyons si ça marche.

# postfix check
# newaliases
# postfix start
postfix-script: starting the Postfix mail system
# mutt -x root
/root/.maildir does not exist. Create it? ([y]/n): [Répondez « y »]
To:  <root>
Subject: test
(End message with a . on a line by itself)
test
.

# mutt
[Vous devriez voir votre message.]

En utilisant postfix check, nous nous assurons que le fichier main.cf est lu correctement et que les répertoires importants sont créés. La commande newaliases configure les alias système et la commande postfix start démarre le serveur de courrier. J'ai ensuite utilisé mutt (façon mailx ou encore en mode mail) pour m'envoyer un courriel localement. mutt crée aussi le répertoire de stockage du courrier (pour root dans notre exemple) dans ~/.maildir. Lancé en mode interactif, mutt affiche votre message ; nous savons donc que l'envoi et la réception de messages internes fonctionne. J'ai ensuite envoyé un courrier à une adresse externe (absent dans l'exemple) pour vérifier que les courriers électroniques sont correctement envoyés.

Si vous envoyez un courriel en utilisant la configuration par défaut du fichier main.cf depuis une machine sur un réseau privé, il y a de fortes chances qu'il n'arrive jamais à sa destination. Beaucoup de serveurs de courrier refusent les courriers électroniques qui proviennent d'une source non-vérifiable par une résolution DNS inverse.

Je suppose que tout fonctionne. Il est temps d'ajouter postfix au démarrage du système.

# postfix stop
postfix-script: starting the Postfix mail system
# rc-update add postfix default
 * postfix added to runlevel default...
 * Caching service dependencies...          [ ok ]
 * rc-update complete.
# /etc/init.d/postfix start
Starting postfix......     [  ok  ]
Les vétérans de sendmail ou les aficionados de postfix sont peut-être habitués à stocker leur courrier dans /var/spool/mail au lieu des répertoires utilisateurs. De plus, les courriels y sont stockés au format mbox plutôt que maildir. Il n'est pas difficile de reconfigurer postfix pour que postfix et mutt utilisent le format standard de boîte (mbox). Éditez /etc/postfix/main.cf, commentez home_mailbox et décommentez mail_spool_directory = /var/spool/mail. Créez le répertoire contenant les courriels en faisant mkdir -p /var/spool/mail et redémarrez postfix. Ensuite, pour la partie client, et particulièrement mutt, il vous suffit d'éditer /etc/mutt/Muttrc et d'ajouter set mbox_type = mbox et le répertoire /var/spool/mail avec set spoolfile=/var/spool/mail.

Si vous préférez un client graphique, nous installerons l'interface Web Squirrelmail un peu plus loin. D'ailleurs, Daniel Robbins recommande vivement la combinaison d'IMAP (que nous installerons pour Squirrelmail) et le client mail de KDE kmail qui fait partie du paquet kde-base/kdenetwork.

Nous verrons aussi comment installer Evolution comme logiciel de gestion d'informations personnelles (PIM) avec le support pour Palm Pilot. Evolution est aussi un excellent client de courrier électronique.

Samba
Installer et configurer Samba

Samba est un superbe paquet qui permet aux machines Linux de partager des fichiers et des imprimantes avec des machines MS Windows. Pour plus d'informations, consultez l'article écrit par Daniel Robbins sur http://www.ibm.com/developerworks?ca=dgr-Gentoo-dWhp.

# emerge samba
# rc-update add samba default
# cd /etc/samba
# cp smb.conf.example smb.conf
# nano -w smb.conf
# workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
workgroup = MYGROUP [Indiquez le groupe de travail ou domaine.]
# It should not be necessary to specify the print system type unless
# it is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
;   printing = bsd
printing = cups
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes

J'attends peu de choses de Samba. Je veux juste partager mes fichiers entre des machines Linux et Windows, et utiliser ma machine Linux comme serveur d'impression avec cups. Après l'installation, il faut juste faire quelques petites modifications dans votre fichier /etc/samba/smb.conf. Assurez-vous notamment que la variable workgroup correspond bien à votre groupe de travail (ou domaine) Windows (j'utilise généralement « OLYMPUS », mais « WORKGROUP » est la valeur par défaut, si ma mémoire est bonne), que printing indique cups au lieu de bsd, et que la ligne encrypt passwords = yes est décommentée. Les machines Windows utilisent des mots de passe cryptés par défaut, cette dernière instruction est donc cruciale, à moins que vous ne vouliez modifier directement la base de registres des machines Windows [pas recommandé du tout]. Malheureusement, Windows utilise une méthode de cryptage différente de Linux, il vous faudra donc un fichier de mots de passe différent pour samba.

# smbpasswd -a jules [Remplacez « jules » par le nom de l'utilisateur.]
New SMB password:
Retype new SMB password:
Added user jules.
Avant d'ajouter un utilisateur au fichier de mots de passe samba, il doit exister dans le fichier /etc/passwd.

Pour chaque utilisateur qui doit être autorisé à utiliser les partages, lancez la commande smbpasswd. Samba enregistre les mots de passe dans le fichier /etc/samba/private/smbpasswd qui sera créé la première fois que vous lancerez la commande smbpasswd.

# /etc/init.d/samba start
Starting samba...        [  ok  ]

Démarrez samba et vous devriez pouvoir vous connecter sur votre Gentoo Linux depuis n'importe quelle machine Windows et accéder à votre répertoire $HOME ainsi qu'aux imprimantes partagées. Si vous ne pouvez pas vous connecter, consultez /usr/share/doc/samba-2.2.5-r1/full_docs/textdocs/DIAGNOSIS.txt.gz.

Apache et l'interface Web Squirrelmail
Apache avec support SSL et PHP

Si vous avez une adresse IP fixe (ou que vous utilisez les services de dyndns, par exemple, pour lier votre adresse dynamique à un nom), vous voulez sans doute avoir la possibilité de vérifier votre courrier à distance. Ma solution utilise Squirrelmail. Ce dernier peut être utilisé avec n'importe quel navigateur.

Commençons par installer un serveur Web. Vu que la plupart du monde utilise Apache, nous allons également l'utiliser. Nous allons aussi installer mod_php (le support PHP pour apache) puisque Squirrelmail a été écrit en PHP.

# emerge apache php mod_php

Vous devriez également consulter le fichier /etc/apache2/conf/apache2.conf parce que Apache est hautement configurable. Par défaut, la racine des documents du serveur Apache se trouve dans /var/www/localhost/htdocs (Apache y trouve les fichiers html qu'il envoie quand vous vous connectez à http://www.monserveur.foo ou http://localhost). Vous pouvez bien sûr le déplacer.

# Do NOT add a slash at the end of the directory path.
# Attention: pas de / à la fin du chemin.
#
DocumentRoot "/var/www/localhost/htdocs" (Indiquez un autre emplacement si vous voulez.)
# rc-update add apache default
 * apache added to runlevel default...
 * Caching service dependencies...               [ ok ]
 * rc-update complete.
# nano -w /etc/conf.d/apache2

Utilisez rc-update pour ajouter Apache au niveau d'exécution par défaut et éditez ensuite /etc/conf.d/apache2 pour ajouter les options suivantes pour qu'Apache charge automatiquement les modules SSL et PHP au démarrage.

APACHE2_OPTS="-D SSL -D PHP4"
# /etc/init.d/apache2 start
 * Starting Apache...                            [ OK ]
# links localhost

Pour vérifier si votre serveur Web fonctionne, connectez-vous avec n'importe quel navigateur sur l'adresse localhost. Pour vous assurer que le support SSL est activé, connectez-vous sur https://localhost. Le préfixe https indique au navigateur qu'il doit utiliser une connexion sécurisée par SSL. Les navigateurs graphiques affichent généralement un cadenas quelque part pour indiquer qu'une connexion sécurisée est en cours.

Lorsque vous établirez une connexion sécurisée vers votre serveur, vous recevrez sans doute un avertissement indiquant que le certificat du site n'est pas reconnu. Le module ssl installe un certificat auto-signé qui devrait uniquement servir de test. Un certificat auto-signé est amplement suffisant pour une utilisation personnelle.

Vérifions que PHP fonctionne. Le plus simple est de sauver un fichier PHP à la racine des documents de votre serveur Apache.

# nano -w /var/www/localhost/htdocs/test.php
<?php phpinfo(); ?>
# links http://localhost/test.php
phpinfo() (p1 of 26)
PHP Logo

PHP Version 4.0.6

System Linux my.server.edu 2.4.10 #1 Tue Oct 9 16:33:50 Local
time zone must be set--see zic manuali686 i686 unknown
Build Date Oct 16 2001

Si vous voyez une page dont le début ressemble au texte ci-dessus, cela veut dire qu'Apache a correctement interprété le code PHP.

Si vous lisez l'ensemble du texte affiché par test.php, vous remarquerez qu'il donne énormément d'informations sur votre système. Vous devriez vous en débarasser une fois que vous avez vérifié que PHP fonctionne. (Ou alors le renommer avec : mv test.php test.phps. De cette façon, Apache affichera le code source de test.phps au lieu d'éxécuter le script.)
« Courier-IMAP »

Squirrelmail est une application PHP qui utilise un serveur IMAP pour faire le lien entre le serveur Web et votre courrier électronique. Etant donné que Gentoo Linux utilise le format Maildir par défaut, « Courier-IMAP » est un bon choix.

# emerge courier-imap
# rc-update add courier-imapd default
 * courier-imapd added to runlevel default...
 * Caching service dependencies...                        [ ok ]
 * rc-update complete.
# nano -w /etc/courier-imap/authdaemonrc
# /etc/init.d/courier-imapd start
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
 * OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc.
See COPYING for distribution information.
1 LOGIN grant passwd (<-- Remplacez « grant » par votre nom d'utilisateur
et « passwd » par votre mot de passe.)
1 OK LOGIN OK
(Tapez <Ctrl>+] et « quit » pour quitter.)
##NAME: authmodulelist:0
#
# The authentication modules that are linked into authdaemond.  The
# default list is installed.  You may selectively disable modules simply
# by removing them from the following list.  The available modules you
# can use are: authcustom authcram authuserdb authpam

#authmodulelist="authcustom authcram authuserdb authpam"
authmodulelist="authpam"
« Courier-IMAP » sauve généralement le nom du Maildir utilisé en dur dans son script de démarrage /usr/lib/courier-imap/imapd.rc comme ceci : $HOME/Maildir. Cependant, comme Gentoo linux utilise plutôt $HOME/.maildir. ebuild modifie le script imapd.rc pour qu'il utilise $MAILDIR, qui est défini dans le script d'initialisation /etc/init.d/courier-imap. Si vous choisissez d'utiliser une boîte différente de .maildir, vous devez modifier la ligne MAILDIR=.maildir dans le script d'initialisation de courier-imap.

Si vous voulez que « Courier-IMAP » supporte SSL, il vous suffit de créer un certificat SSL pour IMAP, d'indiquer à « Courier-IMAP » où le trouver,

# /usr/sbin/mkimapdcert

et de démarrer IMAP SSL.

# rc-update add courier-imapd-ssl default
# /etc/init.d/courier-imapd-ssl start

Vous pouvez vérifier que votre serveur fonctionne avec un client qui utilise IMAP et SSL tel que netscape, kmail ou mutt.

# mutt -f imap://localhost
# mutt -f imaps://localhost
Squirrelmail

L'installation et la configuration de Squirrelmail sont un jeu d'enfant une fois que vous avez installé tous les composants nécessaires.

# emerge squirrelmail
# cd /var/www/localhost/htdocs
# cd squirrelmail
# ./configure
Si votre variable Apache DocumentRoot n'est pas /var/www/localhost/htdocs, vous devez modifier l'ebuild net-mail/squirrelmail pour indiquer le répertoire que vous utilisez.

Squirrelmail impose que tous les fichiers appartiennent à l'utilisateur sous lequel tourne le démon Apache (l'ebuild de squirrelmail définit « apache » comme utilisateur par défaut). Utilisez ./configure et sélectionnez l'option 2.

SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
Server Settings
1.  Domain               : my.server.edu
2.  IMAP Server          : localhost
3.  IMAP Port            : 143
4.  Use Sendmail/SMTP    : SMTP
6.    SMTP Server        : localhost
7.    SMTP Port          : 25
8.    Authenticated SMTP : false
9.  Server               : courier
10. Invert Time          : false
11. Delimiter            : detect

R   Return to Main Menu
C.  Turn color off
S   Save data
Q   Quit

Command >>

Assurez-vous que la directive 9. Server indique courier. Retournez ensuite au menu principal et sélectionnez 4, options générales.

SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
General Options
1.  Default Charset        : iso-8859-1
2.  Data Directory         : ../data/
3.  Attachment Directory   : /tmp/
4.  Default Left Size      : 150
5.  Usernames in Lowercase : false

R   Return to Main Menu
C.  Turn color off
S   Save data
Q   Quit

Command >>

J'utilise le répertoire de données par défaut bien qu'il soit plus sûr d'utiliser un répertoire en dehors d'apache. J'utilise également /tmp comme répertoire pour stocker les pièces jointes.

Redémarrez Apache et vous êtes prêt !

# /etc/init.d/apache2 restart

Avec votre navigateur, ouvrez la page d'accueil https://localhost/squirrelmail/src/login.php.

# links https://localhost/squirrelmail/
SquirrelMail - Login
[sm_logo.jpg]

SquirrelMail version 1.2.0 [rc2]
By the SquirrelMail Development Team

SquirrelMail Login

Name: ____________________
Password: ____________________

Login

Je ne vous conseille pas d'utiliser links pour vous connecter à Squirrelmail mais rien ne vous en empêche !

Gestionnaire d'informations personnelles (PIM)
Evolution avec support pour Palm

Evolution est un merveilleux outil de gestion d'informations personnelles qui peut se synchroniser avec votre Palm Pilot. Commencez par installer Evolution. Si vous comptez utiliser un assistant personnel Palm Pilot, ajoutez « pda » dans les options de la variable USE dans le fichier /etc/make.conf avant de l'installer.

# emerge --pretend evolution
# emerge evolution

Evolution est malheureusement long à compiler (notez qu'il dépend de mozilla)  ; vous pouvez abuser de café ou de thé en attendant la fin de la compilation.

La compilation d'Evolution devrait installer les outils nécessaires pour votre assistant. Pour vous assurer qu'un utilisateur normal peut synchroniser son Palm Pilot, vous devez modifier quelques permissions sur le port série. Je suppose que votre Palm se connecte sur le premier port série (/dev/ttyS0 ou /dev/tts/0 avec « devfs »).

# groupadd serial
# chown root.serial /dev/tts/0
# chmod g+rw /dev/tts/0
# ls -l /dev/tts/0
crw-rw----    1 root     serial     4,  64 Dec 31  1969 /dev/tts/0
# ln -s /dev/tts/0 /dev/pilot
# nano -w /etc/group (Ajoutez les utilisateurs nécessaires au groupe serial.)

Nous venons d'ajouter un groupe « serial » au système et vous pouvez y ajouter tous les utilisateurs qui ont besoin du port série. Nous avons attribué les permissions « rw » (lecture et écriture) au groupe serial sur le périphérique /dev/tts/0 et créé un lien symbolique /dev/pilot qui pointe vers /dev/tts/0. Comme mentionné précédemment, grâce aux récents changements de devfs, ce lien symbolique reste en place après un redémarrage.

Les utilisateurs de la version pre-rc6-r13 peuvent soit mettre à jour sys-apps/baselayout et sys-apps/devfsd (et ensuite accepter les modifications apportées aux fichiers « ._cfg* » dans le répertoire /etc), soit changer les permissions et le lien symbolique dans le fichier /etc/devfsd.conf.

Les utilisateurs peuvent sélectionner tools/Pilot settings dans les options d'Evolution pour paramétrer le pilote Gnome pour Palm Pilot. N'oubliez pas de paramétrer « Pilot Conduits » en plus de « Pilot Link » dans le panneau de configuration de Gnome.