IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

Script PHP et Plesk


Sujet :

Serveurs (Apache, IIS,...)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut Script PHP et Plesk
    Bonjour,

    Tout d'abord je ne sais pas si c'est la bonne section pour mon problème.

    Je suis en train de créer un script PHP censé être capable de changer un mot de passe d'un compte email créé avec Plesk, grâce à l'outil Plesk API. Seulement, le code XML qui doit executer la modification ne fonctionne pas. Voici la code XML généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="UTF-8"?>
    <packet version="1.4.2.0">
      <mail>
        <update>
          <set>
            <filter>
              <domain_id>4</domain_id>
              <mailname>
                <name>nico</name>
                <password>plop1234</password>
                <password_type>plain</password_type>
              </mailname>
            </filter>
          </set>
        </update>
      </mail>
    </packet>
    Le code ressemble texo à celui de l'exemple du guide : http://download1.swsoft.com/Plesk/Pl...oc40989467.htm .

    Le problème est que le changement de pass n'est pas effectué sur le webmail (Horde IMP). Le forums de SWSoft n'est pas trop visité donc je ne recois aucune réponse, et la personne s'occupant de support est en vacances

    Pouvez-vous m'aider ?

    Merci !
    Nico.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Par défaut
    Salut Nicolas,

    J'ai un exemple de truc qui fonctionne (je l'ai teste y'a assez longtemps) sous Plesk:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php
    define("HOST", "ton.plesk.com");
    define("PORT", 8443);
    define("PATH", "enterprise/control/agent.php");
    define("LOGIN", "ton_log");
    define("PASSWD", "ton_pass");
    define("PROTO_VER", "1.3.1.0");
    
    $proto = PROTO_VER;
    $bbn =<<<EOF
    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <packet version="$proto">
      <mail>
        <update>
          <set>
            <filter>
              <domain_id>4</domain_id>
              <mailname>
                <name>nico</name>
                <password>plop1234</password>
                <password_type>plain</password_type>
              </mailname>
            </filter>
          </set>
        </update>
      </mail>
    </packet>
    EOF;
    
    function write_callback($ch, $bbn)
    {
    echo $bbn;
    return strlen($bbn);
    }
    
    function sendCommand()
    {
    $url = "https://" . HOST . ":" . PORT . "/" . PATH;
    
    $headers = array(
    "HTTP_AUTH_LOGIN: " . LOGIN,
    "HTTP_AUTH_PASSWD: " . PASSWD,
    "HTTP_PRETTY_PRINT: TRUE",
    "Content-Type: text/xml",
    );
    
    // Initalize the curl engine
    $ch = curl_init();
    
    // Set the curl options
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    // this line makes it work under https
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, &$headers);
    
    // Set the URL to be processed
    curl_setopt($ch, CURLOPT_URL, $url);
    
    // Set the callback functions
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, write_callback);
    
    // Set the data to be send
    global $bbn;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $bbn);
    
    // Debug, however...
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    
    $result = curl_exec($ch);
    
    if ($result == CURL_OK) {
    print_r(curl_getinfo($ch));
    } else {
    echo "\n\n-------------------------\n" .
    "cURL error number:" .
    curl_errno($ch);
    echo "\n\ncURL error:" . curl_error($ch);
    }
    
    curl_close($ch);
    
    return;
    }
    
    sendCommand();
    
    ?>
    Sinon, si tu as un serveur dedie, je te conseille d'utiliser les instructions Plesk en ligne de commande par PHP, que tu peux lancer grace a SUDO, genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mycmd = 'sudo /usr/bin/php -f /bbn_phproot/plesk.php';
    @passthru($mycmd);
    ou /bbn_phproot/plesk.php st ton script PHP qui a les droits ROOT par SUDO. SI tu as besoin d'envoyer une variable, tu peux la stocker en DB et l'effacer dans ton script PLESK.
    Quoi, c'est la facon dont je procede car l'API n'effectue aucune operation sur les sous-domaines...

    Je sais a quel point c'est la galere d'obtenir de l'aide sur Plesk, leur support est vraiment pourri...

    Bon courage!

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut
    Merci nabab, le mot de passe se change bien dans plesk grâce à ton script . Seulement lorsque je tente de me connecter au Webmail avec les nouveaux identifiants, j'obtiens un "Echec de connexion.". Comment pourrais-je résoudre ce problème ?

    Pour ce qui est de leur support, c'est vrai qu'il est pas top !

    Merci !
    Nico.

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Par défaut
    Desole, je vois pas

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut
    Je vois dans la section "Administration" de Horde (webmail) un select avec plusieurs moyen d'identifications possibles. Peut-être que la solution vient de la non ?

    Nico

    Edit : j'ai abandonné le XML qui refuse de marcher. Je suis donc passé au CLI qui lui fonctionne tres bien, mais petit bémol :

    -bash: sudo: command not found


  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut
    J'ai mis en place un autre système :

    Crontab qui parcoure une bdd toutes les 5 min. et qui change les password a changer.

    Problème résolu donc Merci à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Exécution script php
    Par devmat dans le forum Linux
    Réponses: 11
    Dernier message: 22/04/2007, 11h14
  4. Pb d'execution de requete avec un script php
    Par ythierrin dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2003, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo