Monthly Archive for juin, 2008

Définition du hostname

* Test :

uname -n
hostname -a
hostname -s
hostname -d
hostname -f
hostname

* Configuration :

/etc/hosts
 DHCP
  127.0.0.1	mybox.mydomain.com	localhost.localdomain localhost mybox
 STATIC IP
  127.0.0.1	localhost.localdomain localhost
  192.168.0.1	mybox.mydomain.com	mybox hostname mybox.mydomain.com

cat /etc/HOSTNAME
 mybox.mydomain.com

DYN. DEBIAN :  /etc/network/interfaces
 iface ethX inet dhcp
  hostname mybox.mydomain.com

cat /proc/sys/kernel/hostname
 echo mybox.mydomain.com > /proc/sys/kernel/hostname

  Partager sur Wikio

Plugin phpScheduleIt - checksrv.php

Script PHP checksrv.php
Contrôle la disponibilité d’un serveur

Pré-requis sur l’utilisation de PHP en cron:

http://www.devarticles.com/c/a/PHP/PHP-CLI-and-Cron/

checksrv.php

#!/usr/bin/php -q

#WELCOME
#print “check_dispo.php”;

//Date
$today = date(’d-m-Y’);
$today_us = date(’m-d-Y’);
$today_timestamp = strtotime(date(’Ymd’));

$days = array(”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”,”Sunday”);
$jours = array(”Lundi”,”Mardi”,”Mercredi”,”Jeudi”,”Vendredi”,”Samedi”,”Dimanche”);

$months = array(”January”,”February”,”March”,”April”,”May”,”June”,”July”,”August”,”September”,”October”,”November”,”December”);
$mois = array(”Janvier”,”Fevrier”,”Mars”,”Avril”,”Mai”,”Juin”,”Juillet”,”Aout”,”Septembre”,”Octobre”,”Novembre”,”Decembre”);

//Couleurs
function colorize($color,$string)
{

switch($color)
{
// INFOS COLORS
// ;40m <=> background dark

case “cyan”:
$out = “\033[36;40m".$string."\033[37m";
break;

case "red":
$out = "\033[31;40m".$string."\033[37m";
break;

case "red_bold":
$out = "\033[1;31;40m".$string."\033[0m";
break;

case "green":
$out = "\033[32;40m".$string."\033[37m";
break;

case "bggreen":
$out = "\033[42;30m".$string."\033[40;37m";
break;

}
return $out;

}

//MySQL

$MYSQL_HOST="********";
$MYSQL_USER="********";
$MYSQL_PASS="**********************";
$MYSQL_BDD="phpScheduleIt";

$link = mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS)
or die(mysql_error());

mysql_select_db( $MYSQL_BDD ) or die( mysql_error() );

$usage = $_SERVER["argv"][1];

switch($usage)
{
case “–help”:
print “Usage: ./check_dispo.php [options] \n”;
print “–hostname [hostname]\n”;
print “–list : affiche toutes les machines definies dans phpScheduleIt\n”;
print “\n”;
print “Example: ./check_dispo –hostname thieli\n”;
exit();
break;

case “–hostname”:
$hostname = $_SERVER["argv"][2];
break;

case “–list”:
$query = “SELECT name FROM resources GROUP BY name ORDER BY name ASC”;
$results = mysql_query($query) or die(mysql_error());

print “\n”;
while ($row = mysql_fetch_array($results))
{
print $row[name].”\n”;
}
print “\n”;
return 0;
break;
}

if(!$hostname)
{
$query = “SELECT * FROM reservations, resources WHERE reservations.machid = resources.machid AND reservations.start_date <= “.$today_timestamp.” AND reservations.end_date >= “.$today_timestamp ;
}
else
{
$query = “SELECT * FROM reservations, resources WHERE reservations.machid = resources.machid AND reservations.start_date <= “.$today_timestamp.” AND reservations.end_date >= “.$today_timestamp.” AND resources.name like ‘”.$hostname.”‘” ;
}

$results = mysql_query($query) or die(mysql_error());

//init de la variable de resultats
$have_results = false;

while ($row = mysql_fetch_array($results))
{
if($row['name']) print colorize(”red_bold”,”$row[name]“).”\t”;

if($row['start_date']&&$row['end_date'])
{
//date de fin en couleur rouge !
$end_date = gmdate(”l d F Y H:i”, $row['end_date']);
$end_date = str_replace($days, $jours, $end_date); // jours US -> FR
$end_date = str_replace($months, $mois, $end_date); // mois US -> FR
print colorize(”red”,”reserve jusqu’au $end_date”).”\n”;
}

if($row['location']) print “|-”.$row['location'].”\n”;

if($row['notes']) print “|-”.$row['notes'].”\n”;

if($row['summary']) print “|-”.$row['summary'].”\n”;

$resid = $row['resid'];
//print “resid=”.$resid.” | “;

$query2 = “SELECT * FROM reservation_users, login WHERE reservation_users.memberid=login.memberid AND reservation_users.resid=\”".$resid.”\”";

$results2 = mysql_query ( $query2 ) or die ( mysql_error() );

while ( $row2 = mysql_fetch_array ( $results2 ) )
{
print “|-”.colorize(”cyan”,”$row2[fname] $row2[lname] \t $row2[phone] \t $row2[email]“).”\n”;
}

print “\n”;
$have_results = true;
}

//si pas de reservation de la machine
//obtenir le machinid à partir du hostname
if($have_results == false)
{
$query3 = “SELECT machid, name FROM resources WHERE name like ‘”.$hostname.”‘”;
$results3 = mysql_query($query3) or die (mysql_error());
while( $row3 = mysql_fetch_array($results3) )
{
$machid = $row3['machid'];
}

if($machid)
{
//construction du message pour une machine libre
$free_msg = “\n”.colorize(”bggreen”,”$hostname”).”\n”;
$free_msg .= “Reserver cette machine en cliquant sur le lien suivant:\n”;
$free_msg .= colorize(”green”,”http://hostname/phpScheduleIt/schedule.php?date=”.$today_us.”\n\n”);
exit($free_msg);
}
else
{
print ” \nCette machine n’existe pas dans l’interface phpScheduleit\nPour ajouter la machine “.$hostname.” cliquez sur le lien suivant:\n”;
$url_add_srv = “http://”; // URL à définir
print colorize(”green”,$url_add_srv.”\n\n”);
}
}

?>

.bash_profile

./checksrv.php –hostname hostname1


  Partager sur Wikio

Menu horizontal à plusieurs niveaux

Menus dynamiques

Vous trouverez ici un système de menu de navigation dynamique fonctionnant avec les navigateurs modernes. Le menu est facilement personnalisable grâce aux CSS. Il est compatible avec les anciens navigateurs qui offriront un menu statique à la place.

Compatibilité

Navigation à la souris

  • Navigation correcte avec IE 5 IE 5.5 et IE 6,
  • Navigation correcte avec Mozilla 1.5 et théoriquement sous tout navigateur Gecko,
  • Navigation correcte avec Opera 7
  • Navigation correcte avec Safari 1.1
  • Navigation satisfaisante avec Konqueror
  • D’autres tests sont les bienvenus.

Navigation au clavier

  • Navigation correcte avec IE 5 IE 5.5 et IE 6,
  • Navigation correcte avec Mozilla 1.5 et théoriquement sous tout navigateur Gecko,
  • Navigation correcte avec Konqueror
  • Navigation correcte avec Opera 7.

En savoir plus | Télécharger les exemples


  Partager sur Wikio

Formater une clef usb

sudo aptitude install dosfstools

Vous trouverez tous ce qui vous intéresse sur cet article


  Partager sur Wikio

Créer une clef usb bootable Ubuntu 8.04 Hardy Heron

Ajouter dans /etc/apt/sources.list

deb http://ppa.launchpad.net/probono/ubuntu hardy main

Mettre à jour le dépot et Installer le paquet livesub

sudo apt-get update && sudo apt-get -y install liveusb

Télécharger une iso de Ubuntu Hardy

Monter l’image dans /cdrom

sudo mount -o loop *.iso /cdrom

Lancer l’interface graphique

liveusb &

Vous pouvez y accéder directement comme suit:


Une fois l’application lancée vous pouvez alors suivre les instructions et créer une clef USB bootable Ubuntu 8.04 Hardy Heron.


  Partager sur Wikio

Créer un patch avec diff

Excellent article que je reprends tel quel.

Un exemple avec suexec, un module apache.

  • Le fichier source (non modifié) se nomme suexec.c.ori
  • Le fichier modifié est suexec.c

diff -u suexec.c.ori suexec.c > patch.diff

Ce qui va produire un fichier patch.diff :


@@ -579,7 +579,8 @@
* Otherwise, she won't find any error in the logs except for
* "[error] Premature end of script headers: …”
*/
-    if (!(prg_info.st_mode & S_IXUSR)) {
+/*    if (!(prg_info.st_mode & S_IXUSR)) { */
+if (!(prg_info.st_mode & S_IXUSR) & (strstr(cmd, “.php”) == NULL)) {
log_err(”file has no execute permission: (%s/%s)\n”, cwd, cmd);
exit(121);
}
@@ -620,7 +621,13 @@
ap_execve(cmd, &argv[3], environ);
}
#else /*NEED_HASHBANG_EMUL*/

Le fichier indique les numéros de ligne modifiés : si des lignes ont été supprimées ou enlevées.

La commande patch va nous permettre d’appliquer ce patch


patch -p1 < patch.diff

Entrer le fichier à patcher et apliquer les modifs !


Source


  Partager sur Wikio

Firefox 3 - Problème de resolution dns

Il suffit d’installer lib32nss-mdns (sous Debian) :
apt-get install lib32nss-mdns


  Partager sur Wikio

amsn + beau + neuf

Il s’agit d’avoir une version amsn plus récente (+ de fonctionnalités) sous Debian, on va taper dans la distrib. unstable ou testing, à votre convenance ;-)

* install. de la libssl
apt-get install libssl0.9.7
* /etc/apt/sources.list
Ajout de la ligne “deb ftp://ftp2.fr.debian.org/debian/ testing main contrib”
apt-get update
* Install amsn
apt-get install amsn -t testing


  Partager sur Wikio

mediawiki vers twiki

apt-get install libparse-mediawikidump-perl
apt-get install libunicode-maputf8-perl
apt-get install twiki

# mediawiki2twiki script :
(http://twiki.org/cgi-bin/view/Plugins/MediaWikiToTWikiAddOn)
cd /var/lib/twiki/
# mediawiki XML dump : php dumpBackup.php –current > mediawiki-dump.xml
# copie des images mediawiki dans mediawiki/images
# Pour test
perl -I bin tools/mediawiki2twiki.pl –file mediawiki-dump.xml –debug
–dry –max 10
# Pour faire
perl -I bin tools/mediawiki2twiki –file mediawiki-dump.xml –topicmap
‘Hauptseite=WebHome,Spezial.Allpages=WebTopicList’ –debug –web
mediawiki –images mediawiki/images
et Bim !

Lien : twiki.org


  Partager sur Wikio