".gettext("Etat du serveur").""; $phpv2=preg_replace("/[^0-9\.]+/","",phpversion()); $phpv=$phpv2-0; /*******************************************************/ // ======================================= // Affichage d'un lien de rafraichissement du cadre. if(file_exists('/etc/se3/temoin_test_refresh.txt')){ echo "
\n"; echo "Rafraichir\n"; echo "
\n"; } // ======================================= // Verifie la connexion a internet si ligne_internet = 0% alors on a internet $PING_INTERNET="195.98.246.50"; if ($phpv>=4.2) { $PING="ping -c 1 -w 1 $PING_INTERNET | awk '/packet/ {print $6}'"; } else { $PING="ping -c 1 $PING_INTERNET | awk '/packet/ {print $7}'"; } $ligne_internet=exec("$PING",$test,$testretour); if ($ligne_internet != "0%") { // on teste sur un autre serveur $PING_INTERNET="www.free.fr"; if ($phpv>=4.2) { $PING="ping -c 1 -w 1 $PING_INTERNET | awk '/packet/ {print $6}'"; } else { $PING="ping -c 1 $PING_INTERNET | awk '/packet/ {print $7}'"; } $ligne_internet=exec("$PING",$test,$testretour); } // leb 30sept2007 if ($ligne_internet != "0%") { // test acces http $http=exec("cd /tmp; wget -q ---tries=1 --connect-timeout=1 http://wawadeb.crdp.ac-caen.fr && echo \$? | rm -f /tmp/index.html.1*",$out,$retour); if ($retour=="0") { $ligne_internet = "0%"; } } // fin-leb 30sept2007 // Verifie si proxy defini $proxy=exec("cat /etc/profile | grep http_proxy= | cut -d= -f2"); if ($proxy != "") { preg_match("/http:\/\/(.*)\"/i",$proxy,$rest); putenv("http_proxy=$rest[1]"); } // $ligne_internet="1%"; //######################### MISES A JOUR ######################################## ##/ // Ajout popup d'alerte include("fonc_outils.inc.php"); entree_table_param_exist(url_popup_alert,"http://wwdeb.crdp.ac-caen.fr/mediase3/index.php/Alerte_popup.html",4,"Url du popup alerte"); entree_table_param_exist(tag_popup_alert,0,4,"Tag du popup alerte"); // On relit la table require ("config.inc.php"); system("cd /tmp; wget -q --tries=1 --connect-timeout=1 $url_popup_alert"); if (file_exists("/tmp/Alerte_popup.html")) { $lines = file("/tmp/Alerte_popup.html"); foreach ($lines as $line_num => $line) { $line=trim($line); if(preg_match("/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/","$line",$matche)) { // test la persence du tag precedent $tag_alerte=$matche[1].$matche[2].$matche[3]; if ($tag_alerte==$tag_popup_alert) { $ok_alert="0"; } else { $ok_alert="1"; } } } } @unlink("/tmp/Alerte_popup.html"); if ($ok_alert=="1") { echo ""; // require ("functions.inc.php"); setparam("tag_popup_alert",$tag_alerte); } // Fin popup // Version echo "
"; echo ""; echo ""; $os=exec("cat /etc/debian_version"); echo "\n"; // echo ""; // Verifie si le serveur est a jour echo "\n"; // Controle l'installation des cles echo "\n"; // Controle l'installation des vbs echo "\n"; //########################### CONNEXIONS ################################################/ // Verification des connexions echo ""; // Ping passerelle $PING_ROUTEUR=`cat /etc/network/interfaces | grep gateway | grep -v broadcast | cut -d" " -f 2`; $PING_ROUTEUR=trim($PING_ROUTEUR); if ($phpv>=4.2) { $PING="ping -c 1 -w 1 $PING_ROUTEUR | awk '/packet/ {print $6}'"; } else { $PING="ping -c 1 $PING_ROUTEUR | awk '/packet/ {print $7}'"; } $ligne=exec("$PING",$test,$testretour); $ok="0"; if (($ligne_internet == "0%") && ($ligne == "0%")) { $ok="1"; } elseif (($ligne_internet != "0%") && ($ligne != "0%")) { $ok="1"; } elseif (($ligne_internet != "0%") && ($ligne == "0%")) { $ok="1"; } elseif (($ligne_internet == "0%") && ($ligne != "0%")) { $ok="0"; } if ($ok=="1") { echo "\n"; } // Ping internet echo "\n"; // Verifie DNS echo "\n"; // Verification de la conf dns $authlink = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname) or die(gettext("Impossible de se connecter à la base")." $dbname."); $query="select urlse3 from params where name='urlse3'"; $resultat=mysql_query($query); if ($resultat) { while ($r=mysql_fetch_array($resultat)) { $urlse3=$r[0]; } } preg_match("/^(http:\/\/)?([^\:]+)/i","$urlse3",$adress); echo "\n"; // Contact serveur de mise a jour ftp $FTP="wawadeb.crdp.ac-caen.fr"; echo "\n"; // Verifie l'acces au serveur web pour la maj des cles echo "\n"; // Verification de la connexion au serveur de temps echo "\n"; echo ""; //######################## CONTROLE LES SERVICES ##################################// // Controle le temps de la machine $la=date("G:i:s d/m/Y"); if ($retval=="0") { // que si la connexion au serveur de temps est Ok echo "\n"; } // Controle si le fichier ssmtp a ete configure $ssmtp = exec("dpkg -l | grep ssmtp > /dev/null && echo 1"); if ($ssmtp == "1") { echo "
\n"; echo gettext("Version SambaEdu"); echo "
".gettext("Version OS").""; if ($os=="3.1") { echo "Sarge"; } else { echo "Etch"; } echo " ($os)
Version php$phpv
"; echo gettext("Mise à jour de votre serveur Se3")." (".gettext("Version actuelle")." $version)"; echo ""; if($ligne_internet != "0%") { //si pas de connexion a internet echo "\n"; } else { system("cd /tmp; wget -q --tries=1 --connect-timeout=1 http://wawadeb.crdp.ac-caen.fr/majse3/test.php?majnbr=".$majnbr."\&testver=1"); if (file_exists("/tmp/test.php?majnbr=".$majnbr."&testver=1")) { $lines = file("/tmp/test.php?majnbr=".$majnbr."&testver=1"); foreach ($lines as $line_num => $line) { $line=trim($line); if(preg_match("/OK/i","$line")) { $ok="1"; } } unlink("/tmp/test.php?majnbr=".$majnbr."&testver=1"); } else { echo "\n"; } if ($ok=="1") { echo "\n"; } else { echo "\n"; } } echo ""; echo "Si ce n\'est pas le cas, vous pouvez le mettre à jour à partir d\'ici')")."\">\n"; echo "
"; echo gettext("Importation des clés"); echo ""; $authlink = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname) or die(gettext("Impossible de se connecter à la base")." $dbname."); $query="select * from corresp"; $resultat=mysql_query($query); $ligne=mysql_num_rows($resultat); if($ligne == "0") { // si aucune cle dans la base SQL if ($ligne_internet == "0%") { // si connection a internet on peut proposer l'import echo "\n"; } else { // sinon on ne peut pas proposer tant que pas de connexion echo "\n"; } } else { echo "\n"; } echo ""; echo "Pour cela vous devez aller dans Gestion des clients Windows et cliquer sur effectuer la mise à jour de la base des clés')")."\">\n"; echo "
"; echo gettext("Contrôle la présence des VBS"); echo ""; $DIR_VBS="/var/se3/Progs/install/installdll/rejoin_se3_XP.vbs"; if(@is_dir("/var/se3/Progs/install/installdll")) { echo "\n"; } else { if ($ligne_internet == "0%") { // si connection a internet on peut proposer l'import echo ""; } else { // sinon on ne peut pas proposer tant que pas de connexion echo ""; } } echo ""; echo "
Vous devez installer ces scripts avant d\'ajouter une machine au domaine

Une fois les scripts installés, pour ajouter une machine XP, connectez vous en administrateur local sur la machine, puis recherchez le serveur SambaEdu. Puis allez dans /Progs/install/installdll/ et lancer le script rejoins_XP.

La gestion des scripts se fait dans Gestion des clients Windows')")."\">
"; echo "
\n"; echo gettext("Vérification des connexions"); echo "
"; echo gettext("Vérifie la connexion à la passerelle")." ($PING_ROUTEUR)"; echo ""; if ($ligne == "0%") { echo ""; } else { echo ""; } echo ""; echo " Si la réponse est négative, cela peut vouloir dire que votre routeur n\'est pas pingable, ou que celui-ci est mal configuré.
La passerelle est le routeur ou machine qui est le passage obligatoire pour aller sur internet. Si celui-ci est en erreur, mais que vous pouvez vous connecter à internet ne pas tenir compte de ce test.')")."\">
"; echo "
"; echo gettext("Vérification de la connexion à internet"); echo ""; if ($ligne_internet == "0%") { echo ""; } else { echo ""; } echo ""; echo "
Si la réponse est négative, vous devez vérifier votre connexion internet.

- Si la connexion à votre routeur était en erreur, vous devez commencer par corriger la route par defaut puis retester

- Si vous avez un Slis devant ne pas oublier de laisser internet accessible depuis cette machine

- Ne pas oublier de déclarer le proxy si vous en avez un, pour accèder à internet.')")."\">
"; echo "
"; echo gettext("Vérification de la résolution de nom (DNS)"); echo ""; if($ligne_internet == "0%") { $IP_WAWA=@gethostbyname('wawadeb.crdp.ac-caen.fr'); if ($IP_WAWA=="193.49.66.139") { echo ""; } else { echo ""; } } else { echo ""; } echo ""; echo "Si vous avez une erreur, vous devez vérifier que le fichier /etc/resolv.conf est bien configuré.')")."\">"; echo "
"; echo gettext("Vérification du nom DNS du serveur Se3")." ($urlse3)"; echo ""; $com="/usr/bin/host -t A $adress[2]"; $fp2=exec("$com",$out,$log); if ($log=="0") { echo ""; } else { echo ""; } echo ""; echo "modifier le champ urlse3')")."\">"; echo "
"; echo gettext("Connexion au serveur FTP de mises à jour")." ($FTP)"; echo ""; if ($ligne_internet == "0%") { $CONNECT_FTP=@ftp_connect("$FTP",0,30); if($CONNECT_FTP) { echo ""; } else { echo ""; @ftp_close($FTP); } } else { // pas de connexion internet echo ""; } echo ""; echo "
Si la réponse est négative, et que les précédentes réponses étaient positives, vérifier d\'abord que le serveur ftp répond bien à partir d\'un simple navigateur.

Il se peut que celui-ci soit ne soit pas joignable (panne...!).')")."\">
"; echo "
"; echo gettext("Vérifie l'accès au web"); echo ""; if($ligne_internet == "0%") { $http=exec("cd /tmp; wget -q --tries=1 --connect-timeout=1 http://wawadeb.crdp.ac-caen.fr && echo \$? | rm -f /tmp/index.html.1*",$out,$retour); if ($retour=="0") { echo ""; } else { echo ""; } } else { echo ""; } echo ""; echo "
Si la réponse est négative, vous devez vérifier votre connexion internet.

Si vous avez un Slis ou un autre proxy devant ne pas oublier de laisser internet accessible depuis cette machine et si vous n\'avez pas activé le proxy transparent, vérifier que dans /etc/profile le proxy est bien renseigné.')")."\">
"; echo "
"; echo gettext("Vérifie la connexion au serveur de temps")." ($ntpserv)"; echo ""; if ($ligne_internet=="0%") { $authlink = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname) or die(gettext("Impossible de se connecter à la base")." $dbname."); $query="select ntpserv from params"; $resultat=mysql_query($query); if ($resultat) { while ($r=mysql_fetch_array($resultat)) { $ntpserv=$r[0]; } } // $ok_ntp=fsockopen("udp://$ntpserv",123,&$errno,&$errstr,5); $ok_ntp=system("/usr/sbin/ntpdate -q $ntpserv >/dev/null", $retval); if ($retval=="0") { echo ""; } else { echo ""; } } else { echo ""; } echo ""; echo " vérifier :

- Si vous avez un Slis de bien avoir comme serveur de temps le Slis lui même (par exmple 172.16.0.1).
- Que votre proxy (routeur...etc) laisse passer en sorti, les connexions vers le port 123 UDP.

La modification s\'effectue ici')")."\">
"; echo "
\n"; echo gettext("Contrôle des services"); echo "
"; echo gettext("Contrôle la date et l'heure du serveur")." (".gettext("date actuelle")." $la)"; echo ""; $voir = exec("/usr/sbin/ntpdate -q $ntpserv | grep ntpdate | cut -d\" \" -f11"); if($voir < 60) { echo ""; } else { echo ""; } echo ""; echo "".gettext("La différence est actuellement de $voir sec. Cette différence doit rester inférieure à 60 sec')")."\">"; echo "
"; echo gettext("Configuration de l'expédition des mails"); echo ""; if(file_exists("/etc/ssmtp/ssmtp.conf")) { echo "
".gettext("Menu")."
".gettext("Tester envoi")."
".gettext("Configurer")."
')\">"; } else { echo ""; } echo ""; echo "Si ce n\'est pas le cas vous devez renseigner les informations permettant d\'envoyer des mails')")."\">"; echo "\n"; } // Test le serveur smb $domaine = exec('cat /etc/samba/smb.conf | grep workgroup | cut -d" " -f 3'); $smb = exec("smbclient -L localhost -N | grep -i $domaine >/dev/null && echo 1"); echo ""; echo gettext("Etat du serveur Samba"); if ($smbversion != "") { echo " (Version : $smbversion)"; } echo ""; if ($smb == "1") { echo ""; } else { echo ""; } echo ""; echo "".gettext("Si celui-ci est en Echec, vérifiez qu\'il est bien démarré. Pour le démarrer /etc/init.d/samba start')")."\">"; echo "\n"; // Test le sid samba et la presence d'un eventuel doublon de sid $testsid = exec('sudo /usr/share/se3/scripts/testSID.sh'); echo ""; echo gettext("Controle du SID samba"); echo ""; if ($testsid == "") { echo ""; } else { echo ""; } echo ""; echo "
Lancez la commande /usr/share/se3/scripts/correctSID.sh pour identifier et résoudre le problème de SID.')")."\">
"; echo "\n"; // Test la base MySQL $mysql = exec('sudo /usr/share/se3/sbin/testMySQL.sh',$out,$err); echo ""; echo gettext("Etat de la base MySQL"); echo ""; if ($err == "0") { echo ""; } else { echo ""; } echo ""; echo "
Si cela est en erreur, lancer la commande /usr/share/se3/sbin/testMySQL -v afin de connaitre la cause du problème.')")."\">
"; echo "\n"; // Controle si le dhcp tourne si celui-ci a ete installe $dhcp_install = exec("dpkg -l | grep dhcp3 > /dev/null && echo 1"); if (($dhcp_install == "1") && ($dhcp =="1")) { echo ""; echo gettext("Etat du serveur DHCP"); echo ""; $dhcp_state=exec("sudo /usr/share/se3/scripts/makedhcpdconf state"); if($dhcp_state==1) { echo ""; } else { echo ""; } echo ""; echo " Pour l\'activer ou le désactiver aller sur la page suivante.')")."\">"; echo "\n"; } // Test la presence d'un onduleur $ups = exec("upsc myups@localhost"); $ups_charge = exec("upsc myups@localhost battery.charge"); echo ""; echo gettext("Onduleur"); if ($ups_charge != "") { $ups_mfr = exec("upsc myups@localhost ups.mfr"); $ups_model = exec("upsc myups@localhost ups.model"); echo " ( $ups_mfr $ups_model )"; } echo ""; if ($ups_charge != "") { echo ""; echo ""; echo "".gettext("Etat de l\'onduleur")."')\">"; } else { echo ""; echo ""; echo "
Il n\'y a pas d\'onduleur détecté sur ce serveur.
Cela peut provoquer la perte des données. On vous conseille d\'en installer un.')")."\">
"; } echo "\n"; //################################### DISQUES #########################################################// // Disques echo "\n"; echo gettext("Etat des disques"); echo ""; // Partition root echo "".gettext("Partition")." : /"; $df_t=disk_total_space("/"); $df_f=disk_free_space("/"); $freespace=$df_f / 1048576; $totalspace=$df_t / 1048576; $usedspace=$totalspace - $freespace; $pourcent=$usedspace / $totalspace; $pourc = $pourcent*100; $pourc = round($pourc, 2); echo " (".gettext("pourcentage occupé")." $pourc %)
"; echo ""; $usedspace = $usedspace / 1024; $usedspace = round($usedspace,2); $totalspace = $totalspace / 1024; $totalspace = round($totalspace,2); $freespace = $freespace / 1024; $freespace = round($freespace,2); if($pourcent < 0.96) { echo ""; } else { echo ""; } echo "Espace total")." $totalspace Go
".gettext("Espace occupé")." $usedspace Go
".gettext("Espace disponible")." $freespace Go')\">
"; echo ""; // Partition /var/se3 echo "".gettext("Partition")." : /var/se3"; $df_t=disk_total_space("/var/se3"); $df_f=disk_free_space("/var/se3"); $freespace=$df_f / 1048576; $totalspace=$df_t / 1048576; $usedspace=$totalspace - $freespace; $pourcent=$usedspace / $totalspace; $pourc = $pourcent*100; $pourc = round($pourc, 2); echo " (".gettext("pourcentage occupé")." $pourc %)
"; echo ""; $usedspace = $usedspace / 1024; $usedspace = round($usedspace,2); $totalspace = $totalspace / 1024; $totalspace = round($totalspace,2); $freespace = $freespace / 1024; $freespace = round($freespace,2); if($pourcent < 0.96) { echo ""; } else { echo ""; } echo "Espace total")." $totalspace Go
".gettext("Espace occupé")." $usedspace Go
".gettext("Espace disponible")." $freespace Go')\">
"; echo ""; // Partition /home echo "".gettext("Partition")." : /home"; $df_t=disk_total_space("/home"); $df_f=disk_free_space("/home"); $freespace=$df_f / 1048576; $totalspace=$df_t / 1048576; $usedspace=$totalspace - $freespace; $pourcent=$usedspace / $totalspace; $pourc = $pourcent*100; $pourc = round($pourc, 2); echo " (".gettext("pourcentage occupé")." $pourc %)
"; echo ""; $usedspace = $usedspace / 1024; $usedspace = round($usedspace,2); $totalspace = $totalspace / 1024; $totalspace = round($totalspace,2); $freespace = $freespace / 1024; $freespace = round($freespace,2); if($pourcent < 0.96) { echo ""; } else { echo ""; } echo "Espace total")." $totalspace Go
".gettext("Espace occupé")." $usedspace Go
".gettext("Espace disponible")." $freespace Go')\">
"; echo ""; // Partition /var echo "".gettext("Partition")." : /var"; $df_t=disk_total_space("/var"); $df_f=disk_free_space("/var"); $freespace=$df_f / 1048576; $totalspace=$df_t / 1048576; $usedspace=$totalspace - $freespace; $pourcent=$usedspace / $totalspace; $pourc = $pourcent*100; $pourc = round($pourc, 2); echo " (".gettext("pourcentage occupé")." $pourc %)
"; echo ""; $usedspace = $usedspace / 1024; $usedspace = round($usedspace,2); $totalspace = $totalspace / 1024; $totalspace = round($totalspace,2); $freespace = $freespace / 1024; $freespace = round($freespace,2); if($pourcent < 0.96) { echo ""; } else { echo ""; } echo "Espace total")." $totalspace Go
".gettext("Espace occupé")." $usedspace Go
".gettext("Espace disponible")." $freespace Go')\">
"; echo "\n"; // Securite echo "\n"; echo "Sécurité"; echo "\n"; // Mises a jour de secu debian echo ""; echo gettext("Mises à jour de sécurité Debian"); echo ""; if($ligne_internet=="0%") { $secu = exec('/usr/bin/sudo /usr/share/se3/scripts/update-secu.sh'); if ($secu == "1") { echo ""; } else { echo "se3_update_system.sh :")." ')\">"; } } else { echo ""; } echo ""; echo "
Pour mettre à jour votre serveur, utilisez l\'interface ou lancez le script se3_update_system.sh dans une console

Attention, cela entraine aussi la mise à jour des paquets Se3.")."')\">
"; echo "\n"; // Clients echo "\n"; echo gettext("Clients"); echo ""; // Verifie le passe root pour ldap echo ""; echo gettext("Vérifie le compte d'intégration des clients"); echo ""; $compte=exec("cat /var/se3/Progs/install/installdll/confse3.ini | grep password_ldap_domain | cut -d= -f2",$out,$retour); $cmd_smb="smbclient -L localhost -U root%$compte && echo \$?"; $samba_root=exec("$cmd_smb",$out,$retour2); // echo "$cmd_smb"; if ($retour2 == "0") { echo ""; } else { echo ""; #echo ""; } //} else { // echo ""; // } echo ""; echo "
Si ce n\'est pas le cas, vous ne pourrez pas intégrer de nouvelles machines.

Dans ce cas pour reforcer ce mot de passe, aller dans /var/se3/Progs/install/installdll/confse3.ini pour connaitre le mot de passe à mettre et taper la commande :

smbpasswd -a root

Puis taper le mot de passe qui correspond à la ligne password_ldap_domain.")."')\">
"; echo "\n"; echo ""; echo "
"; require ("pdp.inc.php"); } // fin de pas se3_is_admin ?>