* 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
Monthly Archive for juin, 2008
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
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
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.
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 !
Il suffit d’installer lib32nss-mdns (sous Debian) :
apt-get install lib32nss-mdns
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
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


Commentaires récents