Derniers billets
Fedora au boulot
Bien qu’étant utilisateur de GNU/Linux depuis un bon nombre d’années, je n’ai quasiment jamais eu ma station de travail sous Linux dans ma vie professionnelle. On a rarement le choix, on bosse pour une boite, on nous donne une machine et c’est dans la grande majorité des cas du Windows. Dans le cadre de mon nouveau boulot – presque un an maintenant quand même ^.^ – j’ai longtemps bossé sur un Windows 7 imposé, mais il y a de cela quelques mois, lors du renouvellement de ma machine, j’ai fait la requête de pouvoir installer autre chose et mon management n’y a pas vu d’objection pourvu que je puisse faire mon travail. Quel bonheur!
^.^
Perdu. Help.
Derrière ce court titre se cache ma détresse depuis plus d’une semaine avec ma Fedora 15 et le gros changement de Gnome 3/Gnome Shell. J’y ai gouté, sans réellement chercher à l’aimer je me suis dit que je n’allais pas faire ma mauvaise tête et qu’il fallait juste s’y mettre et s’adapter, je m’y suis donc mis. Mais voilà, j’ai du boulot et je ne peux pas me permettre de perdre trop de temps à re-découvrir des choses de base (ou essayer de chercher des choses qui n’existent tout bonnement plus…), mon boss ayant un peu les yeux derrière mon dos ^.^
J’ai donc décidé de m’essayer à …. KDE, et j’ai été plutot séduit (mention +++ pour le gestionnaire de fichiers Krusader), mais après quelques heures de boulot, mes ressources enflaient et ma machine devenait vraiment lente. J’ai donc viré du coté de XFCE que je connais un peu pour l’avoir utilisé sur quelques serveurs avec gestionnaire de bureaux. Mais, car il y a encore une fois un mais, il me manquait des choses, je n’étais pas à l’aise et je ressentais trop de limites. Après un re-passage à Gnome 3 et en ce moment depuis 2 jours sous LXDE qui ne me convient pas vraiment non plus (encore plus léger que XFCE, mais c’est le but du projet), je lance un appel à l’aide et des conseils de votre part, vos retours d’expériences ou simplement savoir sur quoi vous travaillez.
J’attends vos inspirations dans les commentaires, merci ^.^
Update 17/06/2011 : Mon choix n’est pas gravé dans le marbre, mais depuis ce billet je suis un utilisateur KDE, il me convient plutôt bien, même si des petites choses me chagrinent, mais c’est seulement parce que je n’ai pas trouvé le temps pour tweaker tout ça.
^.^
Serveur de messagerie simple avec Postfix et Dovecot
Ce tutoriel aide à la mise en oeuvre d’un serveur de messagerie complet, par serveur simple, j’entends par là, pas de SSL, de MySQL et de fonctions avancées. Ces fonctions viendront par la suite dans de prochains articles. La solution proposée est à base de Postfix pour le MTA et Dovecot comme serveur IMAP.
Il gérera des boîtes aux lettres virtuelles – c’est-à-dire indépendantes des comptes systèmes – d’autant d’utilisateurs et de domaines que ce soit.
Pour la suite des opérations, la machine utilisée est sous Fedora, le tutoriel pourra donc convenir aux utilisateurs de CentOS et de Red Hat. On supposera qu’elle s’appelle monhostname.local.mondomaine.net. C’est parti ^.^
Postfix
L’installation se fait naturellement avec yum :
# yum install postfixAfin de préparer le terrain, il faut créer l’arborescence qui accueillera les boîtes aux lettres virtuelles et l’utilisateur/groupe de celles-ci. Pour ce faire, ajouter un utilisateur vmail et un groupe du même nom ayant tout deux des uid et gid non réservés, par exemple 6000. Le home de cet utilisateur sera /home/vmail, c’est ici que les BAL seront construites :
# groupadd -g 6000 vmail # useradd -d /home/vmail -m -u 6000 -g 6000 -s /dev/null vmail
On change les droits et le propriétaire des répertoires pour plus de sécurité :
# chmod -R 750 /home/vmail/ # chown -R vmail:vmail /home/vmail/
Les fichiers de configuration Postfix se situent sous /etc/postfix et c’est main.conf qui nous intéresse. Je vais juste copier-coller le mien ci-dessous, pour plus de renseignement sur ses paramètres, voir cet article.
alias_database = $alias_maps alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 delay_warning_time = 4h html_directory = no inet_interfaces = all mail_owner = postfix mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp mailbox_size_limit = 512000000 mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man masquerade_domains = mondomaine.net message_size_limit = 50000000 mydestination = $myhostname, localhost.$myhostname, localhost mydomain = mondomaine.net myhostname = monhostname.local.mondomaine.net mynetworks = 192.168.1.0/24, 127.0.0.0/8 myorigin = $myhostname newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = no recipient_delimiter = + relayhost = [smtp.sfr.fr] sendmail_path = /usr/sbin/sendmail setgid_group = postdrop smtp_generic_maps = hash:/etc/postfix/generic smtpd_banner = $myhostname ESMTP smtpd_recipient_limit = 50 unknown_local_recipient_reject_code = 550 virtual_alias_maps = hash:/etc/postfix/virtual virtual_gid_maps = static:6000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = /etc/postfix/domains virtual_mailbox_limit = 512000000 virtual_mailbox_maps = hash:/etc/postfix/user_mailboxes_path virtual_minimum_uid = 6000 virtual_uid_maps = static:6000
Astuce : Si comme moi, le serveur est sur un domaine local (monhostname.local.mondomaine.net), quelques difficultés vont être rencontrées lors de l’envoi de message vers l’extérieur, la machine de relai [smtp.sfr.fr] va refuser d’acheminer les emails car le domaine n’est pas enregistré sur la toile : Sender address rejected: Domain not found. Pour remédier à cela, il faut substituer l’adresse de l’émetteur en ajoutant ceci dans /etc/postfix/generic :
@monhostname.local.mondomaine.net @mondomaine.net
On compile ce fichier avec postmap avant de relancer Postfix :
# postmap /etc/postfix/genericPour savoir où délivrer le courrier, le système va lire le nom des domaines virtuels gérés dans le fichier domains et les adresses emails ainsi que leur chemin seront dans user_mailboxes_path, tout deux toujours sous /etc/postfix. Il suffit d’ajouter des domaines séparés par des retours ligne, comme suit :
mondomaine.net monautredomaine.com
Et pour les boîtes aux lettres virtuelles :
tutu@mondomaine.net mondomaine.net/tutu/ toto@monautredomaine.com monautredomaine.com/toto/
Noter le / (slash) de fin important pour indiquer qu’il s’agit de boîtes au format Maildir.
On ajoute un alias pour par exemple rediriger le courrier de toto@monautredomaine.com vers l’adresse tutu@mondomaine.net dans user_aliases :
toto@monautredomaine.com tutu@mondomaine.net
Et pour fignoler, on redirige le courrier de root – qui arrive sous /var/mail/root – vers une adresse virtuelle pour que la lecture des courriers important du système soit facilité. Ceci ce fait dans le fichier /etc/aliases :
root: tutu@mondomaine.netPostfix ne lit pas ce genre de fichier tel quel, il faut comme pour le fichier generic le compiler pour créer le fichier de base de données grâce à la commande postmap, comme ceci :
postmap /etc/postfix/user_mailboxes_path postmap /etc/postfix/user_aliases
Les alias locaux eux se compilent avec la commande :
newaliases
Une fois les changements effectués, on recharge Postfix :
# service postfix reloadOn peut désormais faire un petit essai d’envoi d’email :
# "Email test" | mail -s "Test email root" root Le message doit arriver dans /home/vmail/mondomaine.net/tutu/new/, l’arborescence étant créée automatiquement par Postfix dès réception de l’email.
A noter qu’il est préférable d’avoir un champ MX mondomaine.net dans vos zones DNS pour que le courrier soit bien acheminé.
Dovecot
Comme le dit le site sur lequel je me suis inspiré, recevoir du courrier c’est bien, pouvoir le lire c’est mieux. Pour cela, il faut installer Dovecot que l’on utilisera en serveur IMAP.
# yum install dovecotLe fichier de configuration se situant sous /etc/dovecot/dovecot.conf, on l’édite comme suit :
# On veut des BAL IMAP protocols = imap # Chemin des les logs log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot-info.log # Je ne veux pas de SSL ssl_disable = yes disable_plaintext_auth = no # Les BAL seront au format Maildir mail_location = maildir:/home/vmail/%d/%n # Optimisations dotlock_use_excl=yes maildir_copy_with_hardlinks=yes # Configuration de l'authentification auth_verbose = yes auth default { mechanisms = plain passdb passwd-file { # Chemin vers les utilisateurs dovecot (les adresses email gérées) args = /etc/dovecot/passwd } userdb static { # Chemin vers les BAL args = uid=vmail gid=vmail home=/home/vmail/%d/%n/ } }
Maintenant il faut créer les utilisateurs (adresses emails) et les mots de passes associés pour accèder aux BAL dans le fichier /etc/dovecot/passwd :
echo "tutu@mondomaine.net:`dovecotpw -p lemotdepasse`" >> /etc/dovecot/passwd
On démarre Dovecot :
# service dovecot startEt voilà, c’est fini! Il ne reste plus qu’à le tester. On peut commencer par essayer d’accéder à une BAL en telnet sur le port 143 :
$ telnet monhostname.mondomaine.net 143 Trying 127.0.0.1... Connected to monhostname.mondomaine.net. Escape character is '^]'. * OK Dovecot ready. 1 login tutu@mondomaine.net motdepasse 1 OK Logged in. 2 select inbox * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 1 EXISTS * 0 RECENT * OK [UIDVALIDITY 1217314075] UIDs valid * OK [UIDNEXT 15] Predicted next UID 2 OK [READ-WRITE] Select completed. 3 list "" * * LIST (\HasNoChildren) "." "Drafts" * LIST (\HasNoChildren) "." "Sent" * LIST (\HasNoChildren) "." "Trash" * LIST (\HasNoChildren) "." "INBOX" 3 OK List completed.
Si cela fonctionne, vous pouvez essayer avec un vrai client (Thunderbird, Mail.app, Claws Mail, Outlook). Sinon, il faut aller voir d’où vient le problème dans les logs sous /var/log et mieux vaut lire et relire les documentations (voir ci-dessous).
En complément :
- Première partie : Serveur de messagerie simple avec Postfix et Dovecot
- Deuxième partie : Postfix SASL avec Dovecot
- Troisième partie : Ajouter le support TLS à Postfix
- http://www.postfix.org/
- http://www.dovecot.org/
- lairdutemps.org
Les bases de cet article à l’origine pour Arch Linux datent du 29 juillet 2008, c’est une sorte de re-publication un peu mise-à-jour pour Fedora et un transfert de Joomla vers WordPress.
^.^
Sauvegarder son compte Gmail avec getmail
getmail est un script en python écrit par Charles Cazabon qui permet de rapatrier les courriers d’une ou plusieurs boites aux lettres d’une façon simple (mais efficace). Selon les mots de son auteur, getmail est conçu pour être sécurisé, flexible, fiable et facile d’utilisation. Il est un remplaçant potentiel de fetchmail.
Ce petit tutoriel est fait sur une distribution CentOS et c’est la procèdure de sauvegarde que j’utilise pour mon compte Gmail (Google Apps). La boite aux lettres de destination est de type Maildir, c’est-à-dire que chaque courrier est dans un fichier unique contrairement à Mbox qui place tous les courriers dans un fichier unique.
^.^
Créer un dépôt SVN local
Subversion, désormais Apache Subversion est un système de gestion de versions, celui-ci permet d’historiser les modifications effectuées sur des fichiers afin de pouvoir revenir sur des versions anciennes. Bien que très utilisé pour le développement, Subversion – en bref SVN – ne se limite pas à cela et peut fonctionner pour n’importe quel type d’utilisation (documents, images, etc), il faut juste garder à l’esprit que SVN est principalement fait pour gérer des fichiers dont le contenu évolue dans le temps. Par exemple, pour simplement partager des photos ou de la musique, SVN ne serait pas vraiment approprié car un fichier photo ou musical ne changent en principe pas dans le temps, alors qu’une lettre type, une documentation en cours ou des fichiers de développement bougent sans cesse et il est possible d’avoir besoin de revenir sur d’anciennes versions.
Cette article explique comment mettre en place un dépôt SVN pour les fichiers d’un site web. Le tutoriel est assez global, mais pour information il a été réalisé sur une Fedora 14.
Fonctionnement
Voici briévement comment fonctionne SVN. C’est un système de fichiers virtuels, on ajoute, édite, supprime des fichiers ou répertoires comme dans un système de fichiers traditionnel, mais tout se passe en interne, les différentes révisions des fichiers ne sont pas vraiment physiquement présentes. Pour mettre en pratique ce tutoriel, nous allons tout d’abord créer un dépôt (repository) où toute la gestion sera faite. Puis, dans un second temps nous allons importer un projet existant pour qu’il soit géré par SVN et c’est après que la magie s’opère ^.^
^.^
