[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-backup/var/www/se3/sauvegarde/ -> conf_host.php (source)

   1  <?php
   2  
   3  
   4     /**
   5     
   6     * Permet configurer la sauvegarde (Backuppc)
   7     * @Version $Id: conf_host.php 5170 2010-01-31 17:08:33Z plouf $ 
   8     
   9     * @Projet LCS / SambaEdu 
  10     
  11     * @auteurs Philippe Chadefaux
  12  
  13     * @Licence Distribue selon les termes de la licence GPL
  14     
  15     * @note 
  16     
  17     */
  18  
  19     /**
  20  
  21     * @Repertoire: sauvegarde
  22     * file: conf_host.php
  23  
  24    */    
  25  
  26  include  "entete.inc.php";
  27  require ("config.inc.php");
  28  require  ("ldap.inc.php");
  29  require  ("ihm.inc.php");
  30  include ("fonction_backup.inc.php");
  31  require_once ("lang.inc.php");
  32  
  33  bindtextdomain('sauvegarde',"/var/www/se3/locale");
  34  textdomain ('sauvegarde');
  35  
  36  
  37  
  38  $Share=$_GET[Share];
  39  $BackupFilesExclude=$_GET[BackupFilesExclude];
  40  
  41  //aide
  42  $_SESSION["pageaide"]="Sauvegarde Backuppc";
  43  
  44  // Verifie les droits
  45  if (is_admin("system_is_admin",$login)=="Y") {
  46  
  47  $HostServer=$_GET[HostServer];
  48  
  49  if ($Share != "") {
  50          $Share = stripslashes($Share);
  51  }
  52  if ($BackupFilesExclude != "") {
  53          $BackupFilesExclude = stripslashes($BackupFilesExclude);
  54  }
  55          
  56  /****************************************************************************************/
  57  // Relit le fichier pour avoir les variables
  58  
  59  if ($pass == "") {
  60    $XferMethod = variables(XferMethod,$HostServer);
  61    $dhcp = GetDhcp($HostServer);
  62    $TypeServer = GetTypeServer($HostServer);
  63    if ($TypeServer =="") { $TypeServer="Autre"; }
  64    if ($XferMethod == "smb") {
  65      $Compte = variables(SmbShareUserName,$HostServer);
  66      $PassWord = variables(SmbSharePasswd,$HostServer);
  67      $Share = variables(SmbShareName,$HostServer);
  68    }    
  69    if ($XferMethod == "tar") {
  70      $Share = variables(TarShareName,$HostServer);
  71    }
  72    if ($XferMethod == "rsyncd") {
  73        $Share = variables(RsyncShareName,$HostServer);
  74      $Compte = variables(RsyncdUserName,$HostServer);
  75      $PassWord = variables(RsyncdPasswd,$HostServer);
  76    }    
  77    if ($XferMethod == "rsync") {
  78        $Share = variables(RsyncShareName,$HostServer);
  79    }    
  80    $BackupFilesExclude = variables(BackupFilesExclude,$HostServer);
  81    $FullPeriod = variables(FullPeriod,$HostServer);
  82    $IncrPeriod = variables(IncrPeriod,$HostServer);
  83    $FullKeepCnt = variables(FullKeepCnt,$HostServer);
  84    $FullKeepCntMin = variables(FullKeepCntMin,$HostServer);
  85    $IncrKeepCnt = variables(IncrKeepCnt,$HostServer);
  86    $IncrKeepCntMin = variables(IncrKeepCntMin,$HostServer);
  87    $FullAgeMax = variables(FullAgeMax,$HostServer);
  88    $IncrAgeMax = variables(IncrAgeMax,$HostServer);
  89    $EMailAdminUserName = variables(EMailAdminUserName,$HostServer);
  90    $hourBegin = variables(hourBegin,$HostServer);
  91    $hourEnd = variables(hourEnd,$HostServer);
  92    $weekDays = variables(weekDays,$HostServer);
  93    $ArchiveDest = variables(ArchiveDest,$HostServer);
  94    $ArchiveSplit = variables(ArchiveSplit,$HostServer);
  95    
  96  
  97  
  98  } // Fin du premier passage        
  99  
 100  
 101  /**********************************************************************/
 102  echo "<P><h1>".gettext("Param&#233;trage de la machine ")."$HostServer</h1></P>";
 103  echo "<br><br>";
 104  
 105  echo "<table align=center width=\"60%\" border=1 cellspacing=\"0\" cellpadding=\"0\">
 106        <tr><td colspan=\"2\" bgcolor=#E0E0E0 align=\"center\">".gettext("Configuration de la machine &#224; sauvegarder")."</td></tr>\n";
 107            
 108  echo "<tr><td>";
 109  
 110  // Indique ici les choix impos&#233;s ou conseill&#233;s
 111  if (($TypeServer=="WinRsync") and ($XferMethod=="rsyncd")) {
 112      echo "<b>".gettext("Installer cygwin pour Windows")."</b><br>";
 113      echo gettext("Commencer par le t&#233;l&#233;charger")." <a href=\"http://sourceforge.net/project/showfiles.php?group_id=34854&package_id=88133\">".gettext("ici")."</a>.";
 114      $ip=exec('cat /etc/network/interfaces | grep address | cut -d" " -f 2');
 115          echo "<br><br><b>".gettext("Cr&#233;er le fichier")." rsyncd.conf :</b><br>
 116          pid file = C:/rsyncd/rsyncd.pid <br>
 117          lock file = C:/rsyncd/rsyncd.lock<br>
 118          syslog facility=local5<br>
 119          auth users=$Compte<br>
 120          secrets file=C:/rsyncd/rsyncd.secrets<br>
 121          strict modes = false<br>
 122          hosts allow=$ip<br>
 123          read only=yes<br>
 124          list = false<br>
 125          <I>".gettext("Partie &#224; adapter")."</I><br>";
 126          $share1 = explode(",", $Share);
 127          for ($i = 0;$i < sizeof($share1); $i++) {
 128             $module = preg_replace("/\'/","",$share1[$i]);
 129             echo "[$module]<br>";
 130             echo "  comment = ".gettext("ce que vous voulez")."<br>";
 131             echo "  path = C:/repertoire/a/sauvegarder<br>";
 132          }
 133          echo"<i>".gettext("Mettre no &#224; read only, quand vous souhaitez restaurer (le yes assure une s&#233;curit&#233;).")."</I>
 134               <br><br><b>".gettext("Cr&#233;er le fichier")." C:/rsyncd/rsyncd.secrets</b><br>";
 135          echo gettext("Placez dedans")." $Compte:$PassWord<br>";
 136          echo gettext("Vous devez r&#233;duire les droits en faisant un")." chmod 400 /etc/rsyncd.secrets<br><br>";
 137          echo "<b>".gettext("Lancer le script rsync.bat pour lancer rsync comme un service")."</b><br>";
 138          echo "<br>".gettext("Ne pas oublier de lire le README qui se trouve dans le paquet");
 139  }            
 140  elseif (($XferMethod=="rsyncd") and ($TypeServer!="Local"))  {
 141      $ip=exec('cat /etc/network/interfaces | grep address | cut -d" " -f 2');
 142      echo gettext("Configuration de rsyncd sur une machine Linux")."<br><b>";
 143      echo gettext("Installer rsyncd")."</b><br>";
 144      echo gettext("Vous devez installer rsync, sur une debian faire un apt-get install rsync.")."<br><br><b>";
 145      echo gettext("Cr&#233;er le fichier")." /etc/rsyncd.conf :</b><br>";
 146      echo "
 147      uid=root<br>
 148      gid=root<br>
 149      use chroot=no <br>
 150      syslog facility=local5<br>
 151      auth users=$Compte<br>
 152      secrets file=/etc/rsyncd.secrets<br>
 153      hosts allow=$ip<br>
 154      read only=yes<br>
 155      <I>".gettext("Partie &#224; adapter")."</I><br>";
 156      $share1 = explode(",", $Share);
 157      for ($i = 0;$i < sizeof($share1); $i++) {
 158          $module = preg_replace("/\'/","",$share1[$i]);
 159          echo "[$module]<br>";
 160          echo "    comment = ".gettext("ce que vous voulez<br>");
 161          echo "    path = /repertoire/a/sauvegarder<br>";
 162      }    
 163      echo"<i>".gettext("Mettre no &#224; read only, quand vous souhaitez restaurer (le yes assure une s&#233;curit&#233; en bloquant la restauration).")."</I>
 164      <br><br><b>".gettext("Cr&#233;er le fichier")." /etc/rsyncd.secrets</b><br>
 165      echo  \"$Compte:$PassWord\" > /etc/rsyncd.secrets<br>";
 166      echo gettext("Vous devez r&#233;duire les droits en faisant un")." chmod 400 /etc/rsyncd.secrets<br><br><b>";
 167      echo gettext("Lancer")." rsyncd</b><br>";
 168      echo gettext("Modifier la ligne RSYNC_ENABLE=true dans le fichier")." /etc/default/rsync<br>";
 169      echo gettext("Lancer alors rsyncd en faisant un")." /etc/init.d/rsync start.<br>";
 170      echo gettext("rsync doit alors &#234;tre &#224; l'&#233;coute, pour v&#233;rifier faire un")." netstat -na | grep 873.<br><br>";
 171  
 172      echo gettext("Lancer une sauvegarde pour tester.");
 173      
 174  }    
 175   
 176  elseif ($XferMethod=="smb") {
 177      echo gettext("Configuration de SMB sur une machine Windows")."<br><br>";
 178      echo gettext("Vous devez cr&#233;er un compte")." $Compte ".gettext("avec comme mot de passe")." $PassWord ".gettext(" sur la machine Windows &#224; sauvegarder et donner les droits sur le r&#233;pertoire que vous souhaitez sauvegarder &#224; ce compte.")."<br><br>".gettext(" La machine doit avoir comme nom netbios")." $HostServer."; 
 179  }
 180  elseif ($TypeServer=="Local") {
 181      echo gettext("Sauvegarde de la machine par elle m&#234;me")."<br><br>";
 182      echo gettext("Par d&#233;faut la sauvegarde de la machine par elle m&#234;me (sur un autre disque, un disque USB ...) se fait en utilisant rsyncd, qui est configur&#233; automatiquement sur la machhine.")."<br><br>".gettext("On peut modifier la configuration de rsyncd en utilisant <a href=../conf_rsync.php>cette interface</a>.")."<br><br>".gettext("Pour une machine Windows vous pouvez utiliser rsync ou rsyncd.");
 183      
 184  } 
 185  
 186  elseif ($XferMethod=="rsync") {
 187      echo "<b>";
 188      echo gettext("Installer rsync sur la machine &#224; sauvegarder.")."</b><br>".gettext("Sur une Debian apt-get install rsync.");
 189      echo "<br><br><b>";
 190      echo gettext("Copier la cl&#233;");
 191      echo "</b><br>";
 192      echo gettext("Copier la cl&#233; publique qui se trouve sur le serveur Se3 dans")." /var/remote_adm/.ssh/id_rsa.pub,".gettext(" sur la machine que vous souhaitez sauvegarder, dans le r&#233;pertoire")." /root/.ssh/ ".gettext(" et la renomer en authorized_keys. R&#233;duire les droits en faisant un")." chmod 400 /root/.ssh/authozed_keys.";
 193      echo "<br><br><b>".gettext("Tester")."</b><br>".gettext("Connectez vous depuis ce serveur vers la machine &#224; sauvegarder, pour cela faites su backuppc, puis ssh root@machine_a_sauvegarder")."<br>".gettext("Vous devez &#234;tre connect&#233; sans avoir &#224; taper un mot de passe.")."<br>";
 194  } else {
 195      echo "<br><br>";
 196      echo gettext("Pas de documentation compl&#233;mentaire pour la configuration choisie.");
 197      echo "</b><br>";
 198  }
 199  
 200  echo "</td></tr>";
 201  require ("pdp.inc.php");
 202  
 203  }
 204  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1