Archives auteur

Gentoo : mise à jour udev 146

Faites attention aux dernières versions d’udev car depuis la version 146, la compatibilité avec les noyaux antérieurs aux 2.6.25 est rompue. Si çà n’est pas le cas, le résultat est sans appel : votre système est incapable de booter et un joli « bloc » textuel va surgir prétextant une impossibilité de trouver le root device ! Heureusement, depuis le package udev-146-r1, un message explicite est affiché juste avant le plantage (cf le screenshot), ce qui n’était le cas du précédent … et lors de mon intervention.

On en parle ici : http://bugs.gentoo.org/292833

FreeBSD : coloriser la sortie de ls

Ajoutez dans votre fichier shell rc (~/.shrc ou autre) :

CLICOLOR="YES"
export CLICOLOR

Si vous souhaitez coloriser la sortie comme sous Linux, rajoutez celles-ci :

LSCOLORS="ExGxFxdxCxDxDxhbadExEx"
export LSCOLORS

Linux : contrôlez votre RAID software

Quelques astuces pour contrôler votre RAID sw :

# echo check > /sys/block/md3/md/sync_action
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb1[1] sda1[0]
 128384 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
 40001728 blocks [2/2] [UU]
 [============>........]  check = 61.9% (24770752/40001728) finish=4.4min speed=57184K/sec

md4 : active raid1 sdb4[1] sda4[0]
 112157696 blocks [2/2] [UU]

unused devices: <none>

Pour lancer une réparation (obligatoire si le volume est dégradé) :

# echo check > /sys/block/md3/md/sync_action

Pour stopper l’une ou l’autre de ces actions :

# echo idle > /sys/block/md3/md/sync_action

FreeBSD : un MTA pratique pour les jails

Pour chaque jail, il est nécessaire de recevoir les mails (cron, periodic, etc…). Afin de préserver au mieux les ressources et éviter le recours à un vrai relais SMTP (sendmail, postfix ou autre), un MTA idéal est ssmtp (Simple SMTP Agent). Il permet de relayer tous les mails vers un SMTP, ceci par un contournement de la commande sendmail. Donc pas de démon et c’est tant mieux.

Pour l’installer :

# cd /usr/ports/mail/ssmtp
# make install
# make replace

La dernière commande va remplacer la commande sendmail par celle de ssmtp.

Au niveau de la configuration, il y a deux fichiers :

# mv /usr/local/etc/ssmtp/ssmtp.conf.sample /usr/local/etc/ssmtp/ssmtp.conf
# mv /usr/local/etc/ssmtp/revaliases.sample /usr/local/etc/ssmtp/revaliases

Pour ssmtp.conf, il faut veiller aux options suivantes :

mailhub=172.16.0.3:25
rewriteDomain=hbis.fr

La première permet d’indiquer le serveur SMTP vers qui relayer les envois de mail. Dans mon cas, c’est l’IP de ma jail SMTP. Un serveur SMTP externe peut bien sûr être utilisé  La seconde option permet de spécifier le domaine des adresses d’envoi s’il n’est pas présent,  ce qui est le cas des comptes systèmes, sous peine d’avoir un refus d’envoi.

Le second fichier revaliases permet de convertir les adresses d’envoi, bref configurer des alias, mais aussi préciser le SMTP de destination pour un mail sender donné.

Pour désactiver le démon sendmail de votre jail, n’oubliez pas de corriger votre fichier /etc/rc.conf :

sendmail_enable="NONE"

Et pour virer le nom d’utilisateur Charlie des mails envoyés par le compte root :

# pw user mod root -c ''

Nginx : rewrite rules pour le MVC d’ezComponents

Les rewrite rules nécessaires à Nginx pour faire fonctionner le composant MVC de eZComponents sont les suivantes :

server {
    listen 80;
    server_name ezmvc.my.domain;
    root /usr/local/www/ezmvc;
    index  index.php;
    location ~ "^/[^/]*\.php$" {
        set $script "index.php";
        if ( $uri ~ "^/(.*\.php)" ) {
            set $script $1;
        }

        fastcgi_pass unix:/tmp/fcgi-php.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/www/ezmvc/$script;
        include fastcgi_params;
    }

    location / {
        rewrite "^/(?:.[^/]+/)+(stylesheets|images|javascripts|flash?)/(.*)$" "/$1/$2" break;
        rewrite "^(.*)$" "/index.php?$1" last;
    }
}

FreeBSD : jail PostgreSQL

Pour pouvoir exécuter un serveur PostgreSQL sous une jail FreeBSD, il est nécessaire d’autoriser le support de la mémoire partagée (SHM). Il convient d’activer le flag dans /etc/rc.conf :

jail_sysvipc_allow="YES"

Si cela n’est pas fait, l’initialisation de l’espace de stockage échoue de cette façon :

sql# /usr/local/etc/rc.d/postgresql oneinitdb
The files belonging to this database system will be owned by user "pgsql".
This user must also own the server process.</p>
The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".
creating directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 10
selecting default shared_buffers ... 400kB
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... FATAL:  could not create shared memory segment: Function not implemented
DETAIL:  Failed system call was shmget(key=1, size=1622016, 03600).
child process exited with exit code 1
initdb: removing data directory "/usr/local/pgsql/data"

Sphider : patch pour connexion SQL non persistante

Sphider est un indexeur et un moteur de recherche PHP, intégrable idéalement dans de petits sites Web. J’ai remarqué que l’outil utilisait une connexion SQL persistante, ce qui est problématique dans le cas d’un serveur mutualisé.

Je propose donc ce patch chargé de gérer les connexions SQL non persistantes (option de configuration SQL_PCONNECT dans le fichier settings/database.php) :

sphider-1.3.5 # cat settings/database.php
<?php
define ('SQL_DB', 'sphider');
define ('SQL_USER', 'root');
define ('SQL_PASS', '');
define ('SQL_HOST', 'localhost');
define ('SQL_TABLE_PREFIX', '');
define ('SQL_PCONNECT', 0);

$mysql_table_prefix = SQL_TABLE_PREFIX;
?>

Le patch est à appliquer sur la version 1.3.5 de Sphider :

sphider-1.3.5 # patch -p1 < patch-sphider-sql_connect.sql
patching file admin/admin.php
patching file admin/auth.php
patching file admin/install.php
patching file admin/spider.php
patching file include/commonfuncs.php
patching file include/js_suggest/suggest.php
patching file search.php
patching file settings/database.php

patch-sphider-1.3.5-sql_connect.gz

Roundcube : plugin vacation 0.3.2

Quelques corrections mineures ont été apportées. Merci à Achim J.Latz et Zanda pour leurs rapports.

Plugin : rc-vacation-0.3.2.tar.gz
Dépôt Git : http://github.com/bhuisgen/rc-vacation

Réseau : DNS publics Google

nameserver 8.8.8.8
nameserver 8.8.4.4

Réseau : géolocalisation de votre connexion

Pour géolocaliser votre connexion Internet (au niveau du DSLAM de votre FAI), une commande sympa :

$ curl -s "http://www.geody.com/geoip.php?ip=$(curl -s icanhazip.com)" | sed '/^IP:/!d;s/<[^>][^>]*>//g'
IP: XX.XX.XX.XXX Location: Munshausen, Luxembourg   (Visual Online S.A.)
Haut de page