Apache2: résoudre « Could not reliably determine the server’s fully qualified domain name …» 

21 juin 2009

Lorsque le serveur apache2 va démarrer, il va chercher à s’auto identifier pour savoir à quoi il doit répondre. Or, par défaut, rien n’est paramétré.

Il suffit, dans un premier temps, d’ajouter la directive suivante au fichier /etc/apache2/httpd.conf ou au fichier /etc/apache2/apache2.conf:

ServerName     nomduserveur.domaine.com

Mais ça n’est pas suffisant. En effet, si apache doit interroger nomduserveur.domaine.com comme nous venons de lui indiquer, il doit connaître son IP, et c’est dans le fichier /etc/hosts que ça doit être fait. Modifiez le fichier /etc/hosts pour avoir quelque chose ressemblant à ceci (en utilisant vos noms et IP de machines!):

127.0.0.1    localhost nomduserveur nomduserveur.domaine.com
192.168.10.23    nomduserveur nomduserveur.domaine.com
...

Maintenant, si vous relancez apache, vous ne devriez plus obtenir l’erreur indiquée dans le titre.

Free dégroupé avec un modem Sagem Fast 800

19 juin 2009

Si vous êtes dégroupé free avec une freebox V5, et que tout va bien, vous êtes certainement heureux de votre accès internet.

Par contre, si votre freebox tombe en panne, vous allez vous retrouver dans la galère:

  • Échange de la freebox en 3 semaines (au moins pour mon cas) alors que 6 jours sont annoncés
  • Plus d’accès internet, surtout si vous n’avez pas activé le freewifi et récupéré vos codes d’accès. Et si comme moi vous travaillez avec le net, perte financière importante.

Bon, comme ça va bien de courir au MacDo pour profiter du wifi 15 fois par jour (et c’est pas bon pour la ligne), je vais vous expliquer comment utiliser un vieux Fast 800 qui traine au fond d’un placard.Fast908

Sachez que les freenautes dégroupés n’ont pas besoin d’identification pour accéder au net: c’est leur ligne téléphonique qui le fait pour eux. A partir de là, on pourrait penser que c’est simple.
Sauf que les modems/routeurs ADSL refusent de valider le fait qu’il n’y ait ni identifiant ni mot de passe ! Impossible donc d’utiliser un modem/routeur…

Sur une Ubuntu 9.04, voici ce qu’il convient de faire. Il vous faudra connaitre votre adresse IP fixe, indiquée dans votre console de gestion, et avoir un modem Fast 800 usb disponible

Lire le reste de cet article »

Lire les mails de cron avec son lecteur de messagerie

19 mai 2009

Vous pouvez simplement lire vos mails système avec votre lecteur de messagerie, après quelques manipulations.

Explications sur le fonctionnement:

Si les opérations effectuées avec le crontab de root renvoient des informations, cron les envoie par mail à l’utilisateur root.

Root n’étant pas sensé se connecter, ces mails sont transférés à un des utilisateurs du système. Par défaut, il s’agit de l’utilisateur que vous avrez créé lors de l’installation système, mais vous pouvez le changer en modifiant le contenu du fichier /etc/aliases:

# Added by installer for initial user
root:	manu

Dans ce cas, c’est l’utilisateur manu qui va hériter des mails système à destination de root.

Attention: sur certaines versions, et en particulier la Jaunty 9.04, le fichier ne contient pas le nom d’utilisateur. Tout est renvoyé à root, mais root ne renvoie vers personne:

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
clamav: root
root: manu

Il suffira d’ajouter « root: manu»  tel que ci dessus pour que l’utilisateur manu accède aux mails système.

Ces mails sont lisibles en console par l’intermédiaire, par exemple, de la commande mail (disponible dans le paquet mailutils). Mais il faut reconnaître qu’il serait plus pratique de les avoir dans le lecteur de messagerie même, puisque celui ci est ouvert régulièrement.
La méthode ci dessous n’est utile et exacte que si vous n’installez pas de serveur imap ou pop sur cette machine même pour y lire les mails (par défaut, dans 99,9% des cas).

Paramétrage du client de messagerie

La méthode est donnée ici pour Mozilla-Thunderbird, mais il est simple de l’adapter pour un autre lecteur de messagerie installée sur le système capable de lire le format Movemail¹ (testé avec Evolution et mutt).

  • Ouvrez votre lecteur de messagerie.
  • Si c’est la première ouverture, il vous est proposé de créer un nouveau compte. Dans le cas contraire, rendez vous dans le menu Edition / Paramètres des comptes … puis cliquez sur Ajouter un compte.
  • Dans le paramétrage d’un nouveau compte, sélectionnez Unix Mailspool (Movemail), puis cliquez sur suivant.
  • Sélection du type de compte

    Sélection du type de compte

  • Dans la fenêtre Identité, indiquez votre nom d’utilisateur (normalement déjà rempli). L’adresse de courrier n’a que peu d’importance (vous n’enverrez pas de courrier depuis ce compte), elle servira principalement à identifier ce compte dans la liste des comptes paramétrés.
  • S’il vous est demandé un serveur smtp, vous pouvez indiquer celui de votre FAI (souvent de la forme smtp.fai.fr). Si vous aviez déjà des comptes, le serveur smtp que vous aviez précédemment indiqué sera utilisé. Si votre ordinateur n’est pas connecté à internet ou n’envoie pas de mails par l’intermédiaire du lecteur de messagerie, vous pouvez mettre seulement « smtp»  pour que la configuration puisse être finalisée.
  • Indiquez le nom du compte tel que vous désirez qu’il apparaisse dans la liste si la proposition ne vous convient pas.
  • Cliquez sur Terminer à l’affichage du résumé.

Il suffit désormais de relever le courrier pour pouvoir lire normalement les mails système et surveiller le fonctionnement de l’ordinateur.

Limitations

  • Les mails ne peuvent être lus QUE depuis la machine sur laquelle ils se trouvent. Pour les récupérer d’une autre machine, il faudra installer un serveur POP ou IMAP afin que le lecteur de messagerie de l’ordinateur client puisse accéder à ces mails. Cela fera l’objet d’un prochain article.
  • Il est possible d’envoyer les mails sur une autre adresse en indiquant l’adresse de destination pour l’alias du root dans le fichier /etc/aliases ainsi: root: manu@fai.fr. Cela oblige, par contre, l’ordinateur à posséder un système d’envoi de mails externes, tel que postfix ou exim4, paramétré correctement. Lorsque ce n’est pas nécessaire (si l’ordinateur est sur un réseau que je contrôle), je préfère éviter d’avoir un système d’envoi de mails que je serais obligé de maintenir et contrôler. En particulier si un logiciel s’affole et envoie plusieurs centaines de messages au système en quelques minutes (vécu), le risque de passer pour spammeur est grand!

Messages d’erreur

Impossible de localiser le fichier de spool du courrier

Impossible de localiser le fichier de spool du courrier

Ce message vous indique que le fichier /var/spool/mail/user n’existe pas. Il peut ne pas exister pour 2 raisons principales:²

  • L’utilisateur n’est pas déclaré comme devant recevoir les messages de root dans le fichier /etc/aliases
  • Aucun mail n’a été envoyé par le système, donc il n’y a pas de fichier contenant les mails…
Impossible de créer les verrours

Impossible de créer les verrours

Ce message vous informe que les droits ne sont pas corrects. Dans une console, la commande sudo chroot 01777 /var/spool/mail résoudra le problème.

¹ Opera mail ne semble pas pouvoir être utilisé pour accéder à ce type de compte mail.

² Assurez vous que la partition /var est montée, accessible à l’utilisateur, droits corrects, etc…

Modifier un fichier PPD

19 mai 2009

Il est parfois nécessaire de pouvoir modifier un driver d’imprimante pour ajuster son comportement. Ayant eu à le faire récemment, je vous livre mes observations pour vous éviter mes galères:

  • Le fichier utilisé pour contrôler l’imprimante se trouve dans /etc/cups/ppd
  • Il porte le nom que vous avez donné à l’imprimante lors de son installation (exemple: copieur.ppd si vous avez nommé votre imprimante copieur)
  • Lors de l’installation, ou en passant par le gestionnaire des imprimante (Système /Administration/ Impression ou system-config-printer), les options sélectionnées (bacs, format, couleur/gris, …) sont directement écrites dans le fichier ppd de l’imprimante
  • Après modification manuelle du fichier ppd, vous devez redémarrer cups (/etc/init.d/cupsys restart)
  • En cas d’erreur de syntaxe dans le fichier ppd, l’onglet correspondant à la section n’apparaît plus dans les options lors de l’impression
  • Si la commande est trop longue pour tenir sur une seule ligne, le reste de la commande est sur la ligne suivante, et la ligne suivante doit comporter *End pour clore la commande.
  • exemple:
    *OpenUI *Fold/Pliage: PickOne
    *OrderDependency: 3 AnySetup *Fold
    *DefaultFold: None
    *Fold None/Non:  "<< /FoldType (Off) >> /KMOptions /ProcSet findresource /setKMoptions get exec"
    *Fold Stitch/Pliage et Agrafage centre:  "<< /Collate true >> setpagedevice
     << /FoldType (CenterFoldIn) /StitchType true >> /KMOptions /ProcSet findresource /setKMoptions get exec"
    *End
    *Fold HalfFold/Pliage en deux:  "<< /Collate true >> setpagedevice
     << /FoldType (CenterFoldIn) /StitchType false >> /KMOptions /ProcSet findresource /setKMoptions get exec"
    *End
    *Fold Stapling/Agrafage au milieu:  "<< /Collate true >> setpagedevice
     << /Finish 1 >> /KMOptions /ProcSet findresource /setKMoptions get exec"
    *End
    *CloseUI: *Fold
  • Pour commenter une ligne, elle doit commencer par *%. Pour commenter une commande sur 2 lignes,  supprimer le saut de ligne et commenter la ligne.
  • Faire attention au codage du fichier (en particulier pour les accents dans les labels). Un mauvais codage et le ppd ne fonctionne plus! Il est normalement (si le ppd est bien écrit) déclaré en haut de fichier:*LanguageVersion: French et *LanguageEncoding: ISOLatin1
  • Toujours avoir une copie du ppd avant de le modifier. En cas d’erreur, il est parfois plus facile de tout recommencer au lieu de chercher quel caractère pose problème.
  • Éditez le code en root avec un éditeur de textes. Après enregistrement de vos modification, vous pourrez tester immédiatement un lancement d’impression pour aller vérifier les options que vous avez modifié.
  • Avancez étape par étape. En cas de problème, vous saurez que cela vient de votre dernière modification.

Grâce à cela, j’ai supprimé (mis en commentaire) les options qui apparaissaient dans les onglet lors de l’impression et qui perturbaient mes utilisateurs. J’ai aussi changé des labels pour les rendre plus explicites (1 face -> Recto, 2 Faces -> Recto Verso).

Une fois le ppd modifié et paramétré avec les options voulues par défaut, il suffit de le copier dans le dossier /etc/cups/ppd de chaque ordinateur en ayant besoin sous le nom de l’imprimante paramétrée et de relancer cups.

Identifier son système sous linux

15 mai 2009

Lorsque l’on doit faire une mise à jour du bios de son ordinateur, il est plus rassurant (et plus fiable) d’avoir le maximum d’informations sur son matériel.

Avec Debian/Ubuntu, vous pouvez obtenir ces informations facilement en installant le paquet libsmbios-bin et en utilisant la commande getSystemId (via sudo!)

exemples:

pour mon Aspire One (jaunty)

Libsmbios version:      2.2.13
Product Name:           AOA150
Vendor:                 Acer
Version du BIOS:        v0.3114
System ID:              0x0000
Service Tag:            xxxxxxxxxxxxxxxxxxxxx
Express Service Code:   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Asset Tag:
Property Ownership Tag:

Pour mon Fujitsu Amilo (hardy):

Libsmbios:    0.13.10
Error getting the System ID   :
Error getting the Service Tag : std::exception
Product Name: AMILO Xa 2528
BIOS Version: 1.0L-4C15-000F
Vendor:       FUJITSU SIEMENS
Is Dell:      0

Un serveur Web (hardy):

Libsmbios:    0.13.10
Error getting the System ID   :
Error getting the Service Tag : std::exception
Product Name: EPIA
BIOS Version: 6.00 PG
Vendor:       VIA TECHNOLOGIES, INC.
Is Dell:      0

Une VirtualBox (jaunty):

Libsmbios version:      2.2.13
Product Name:           VirtualBox
Vendor:                 innotek GmbH
Version du BIOS:        VirtualBox
System ID:              0x0000
Service Tag:            0
Express Service Code:   0
Asset Tag:
Property Ownership Tag:

Pour les développeurs python, vous noterez que ça vous installe d’office python-libsmbios. Je vous laisse imaginer tous les usages possibles pour vos applications.

CIFS VFS: Server not responding

7 mai 2009

Sur l’une de mes machines avec Ubuntu Hardy 8.04 (mais d’après google, cela se produit aussi avec d’autres versions), à l’arrêt et au redémarrage, l’ordinateur mettait plusieurs minutes à s’arrêter ou redémarrer et affichait le message suivant:


CIFS VFS: Server not responding
CIFS VFS: no response for cmd 50 mid xxx

(avec xxx étant des chiffre variables).

Pourtant, avant la réinstallation avec le même CD, aucun problème à déplorer. Pas plus que sur les 5 autres postes installés avec le même CD et toutes les mises à jour effectuées.

Il semblerait que les démontages des partages SAMBA et NFS ne s’effectuent pas correctement.

La solution, fonctionnelle pour moi, a été de modifier les scripts à l’arrêt et au redémarrage de l’ordinateur, soit:

sudo mv /etc/rc0.d/S31umountnfs /etc/rc0.d/K31umountnfs
sudo mv /etc/rc6.d/S31umountnfs /etc/rc6.d/K31umountnfs

Pourquoi par défaut, lors de l’arrêt, ces scripts sont en position start ? D’autant que le start, dans le code, n’effectue absolument rien, mais le stop effectue bien les démontages! Mystère…

Modifier des fichiers PDF avec Openoffice.org

27 avril 2009

Installer PDFimport sur Openoffice.org

Il est désormais tout à fait possible d’éditer des PDF depuis openoffice.org sans avoir à recourir à Windows et des logiciels plus ou moins bien faits.
En effet, l’extention pdfimport fournie par SUN permet des éditions de ces fichiers peu amis avec le pingouin. Lire le reste de cet article »

Htop toujours disponible

9 avril 2009

htop-05Données du problème

J’ai un serveur avec écran, dans une armoire fermée à clef avec un porte transparente qui démarre sans interface graphique. Je souhaitais faire apparaître un htop systématiquement à chaque démarrage.

Méthode testée sur Ubuntu, mais pouvant certainement être adaptée à d’autres distributions.

Il suffit de mettre le code suivant dans le fichier /etc/event.d/tty1

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.
 
start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5
 
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
 
respawn
exec /sbin/getty 38400 tty1 -nl /usr/bin/htop

Attention

  • Dans cette configuration, le clavier est actif. Il est donc utilisable par n’importe quel utilisateur accédant au clavier.
  • Le logiciel est lancé en root! Donc, si le clavier est accessible, n’importe quel utilisateur peut killer un processus appartenant à un autre (même init!)
  • htop consomme de la mémoire et de la puissance processeur. Même si c’est relativement peu, c’est à prendre en compte.

Du fait que le clavier est inacessible, dans mon cas, cela n’est pas un problème, mais c’est à garder en tête avant d’activer cette fonctionalité.

Recevoir le log de rkhunter

25 mars 2009

Par défaut, rkhunter envoi un compte rendu succint lors de son lancement automatique.

Avouez qu’il serait quand même plus pratique de recevoir le log au lieu d’une simple phrase « Please inspect this machine, because it may be infected.» .

Heureusement, il est possible de modifier simplement ce comportement.
Lire le reste de cet article »

Filtrer les connexions ssh

12 mars 2009

Portier SSH

Si vous possédez un serveur avec SSH opérationnel, vous ne serez pas long à avoir des messages tels que ceux ci dans le fichier /var/log/auth.log:

...
Mar 11 12:48:21 serv sshd[12956]: Failed password for invalid user root from 64.71.148.162 port 47270 ssh2
Mar 11 15:45:04 serv sshd[6954]: Did not receive identification string from 210.21.30.72
Mar 11 15:46:48 serv sshd[7041]: Did not receive identification string from 81.93.188.5
Mar 11 15:47:50 serv sshd[7106]: User root from 210.21.30.72 not allowed because none of user s groups are listed in AllowGroups
Mar 11 15:47:50 serv sshd[7106]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=210.21.30.72  user=root
Mar 11 15:47:52 serv sshd[7106]: Failed password for invalid user root from 210.21.30.72 port 54346 ssh2
Mar 11 15:49:33 serv sshd[7241]: User root from 81.93.188.5 not allowed because none of user s groups are listed in AllowGroups
Mar 11 15:49:33 serv sshd[7241]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=81.93.188.5  user=root
Mar 11 15:49:35 serv sshd[7241]: Failed password for invalid user root from 81.93.188.5 port 44663 ssh2
Mar 12 00:51:18 serv sshd[22229]: User root from host.ongamemarketing.com not allowed because none of user s groups are listed in AllowGroups
Mar 12 00:51:18 serv sshd[22229]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=host.ongamemarketing.com  user=root
Mar 12 00:51:20 serv sshd[22229]: Failed password for invalid user root from 174.133.12.130 port 48089 ssh2
Mar 12 00:51:22 serv sshd[22236]: User root from host.ongamemarketing.com not allowed because none of user s groups are listed in AllowGroups
Mar 12 00:51:22 serv sshd[22236]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=host.ongamemarketing.com  user=root
Mar 12 00:51:24 serv sshd[22236]: Failed password for invalid user root from 174.133.12.130 port 48521 ssh2
Mar 12 01:47:10 serv sshd[30827]: Did not receive identification string from 114.200.199.144
Mar 12 01:53:17 serv sshd[31227]: Invalid user staff from 114.200.199.144
Mar 12 01:53:17 serv sshd[31227]: pam_unix(sshd:auth): check pass; user unknown
Mar 12 01:53:17 serv sshd[31227]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=114.200.199.144
Mar 12 01:53:19 serv sshd[31227]: Failed password for invalid user staff from 114.200.199.144 port 35343 ssh2
Mar 12 01:53:27 serv sshd[31234]: Invalid user sales from 114.200.199.144
...

Vous avez besoin de pouvoir vous connecter en ssh depuis le réseau local, depuis l’extérieur, mais vous voulez limiter les risques. Il existe plusieurs solutions, qui peuvent être cumulées: Lire le reste de cet article »