Bonjour a tous,
Je viens vous demander un petit coup de main. Je suis tout nouveau sur ce forum, et j'ai un problème, qui va peut-être vous paraitre tout simple. Voila, je viens d'installer une débian sarge sur un pc pour en faire un serveur web. Comme il fonctionne parfaitement en local, je souhaite le rendre disponible sur le net. Je me suis donc inscrits sur dyndns.fr afin de reserver un nom de domaine . Ensuite, comme indiqué sur le site dyndns.fr, j'ai téléchargé le dyndnsagent (ddclient ne marche pas avec dyndns.fr), sous la forme d'une archive dyn.tar. J'ai décompressé le tar sous la racine du disque dur, et j'ai lancé la commande ./install. Probleme, c'est que des lignes d'erreurs apparaissent lors de l'installation, du type /etc/rc.d/init.d/dyn.rc fichier introuvable. Je suis rentré dans le repertoire etc, et en effet pas de repertoire rc.d. Par contre, j'ai bien un repertoire init.d directement sous etc. J'espère que j'ai été suffisamment clair. Donc , ou est ce que j'ai fais une bétise, ou alors faut-il créer un repertoire rc.d.
Si quelqu'un a une petite idée, je remercie tous
Wiki
# fedora
Posté par B16F4RV4RD1N . Évalué à 3.
Je te conseille de modifier dans le fichier d'installation (install) les références de /etc/rc.d/init.d/ vers /etc/init.d/ . Cela ne fonctionnera de toute façon pas si tu créés ce dossier rc.d sous debian.
Par contre pour démarrer ce service automatiquement, cela sera sans doute différent également que sous fedora. Regarde du côté de l'utilitaire update-rc.d
Il y a des exemples si tu tapes la commande man update-rc.d
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Utiliser mon script maison \o/
Posté par Raphaël G. (site web personnel) . Évalué à 2.
#! /usr/bin/php
<?php
//Define the domain
define('DOMAIN', 'members.dyndns.org');
//Define the path
define('PATH', '/nic/update');
//Update file
define('FILE', '/tmp/.ipupdate.dyndns');
//Check if lock file is present
if (is_file(FILE.'.lock'))
die('Last time: '.file_get_contents(FILE.'.lock'));
//Define key and identification
define('USERINFO', base64_encode('login:password'));
define('USERAGENT', 'rapsys_php_ipupdate/0.3rc4 rapsys@free.fr');
define('DATAINFO', '?system=dyndns&hostname=exemple.com&wildcard=ON');
//Check file function
function checkfile()
{
//Check if file exist
if(is_file(FILE))
//Return the file content
return file_get_contents(FILE);
else
//Return localhost to force update
return '127.0.0.1';
}
//Checkip function
function checkip()
{
//The socks
$sock = @fsockopen('checkip.dyndns.org', 80, $errno, $errstr);
//Exit if socket is in bad state
if (!$sock) die("Update impossible: $errstr ($errno)\n");
fputs($sock, "GET / HTTP/1.1\r\n");
fputs($sock, "Host: checkip.dyndns.org\r\n");
fputs($sock, "User-Agent: ".USERAGENT."\r\n");
fputs($sock, "\r\n");
//Get the header
$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";
//Get the body (ip)
$remote = "";
while (!feof($sock))
$remote .= fgets($sock, 4096);
//Close the socket
fclose($sock);
//Store result for investigate
$fd = fopen(FILE.'.ip', 'w');
fwrite($fd, $headers.$remote);
fclose($fd);
//Return the answer
return preg_replace('/.*Current IP Address: ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/s', '\1', $remote);
}
if (checkip() != checkfile())
{
//Open a socket
$sock = @fsockopen('ssl://'.DOMAIN, 443, $errno, $errstr, 30);
//Exit if socket is in bad state
if (!$sock) die("Update impossible dyndns: $errstr ($errno)\n");
//Forge the request
fputs($sock, "GET ".PATH.DATAINFO." HTTP/1.1\r\n");
fputs($sock, "Host: ".DOMAIN."\r\n");
fputs($sock, "Authorization: Basic ".USERINFO."\r\n");
fputs($sock, "User-Agent: ".USERAGENT."\r\n");
fputs($sock, "\r\n");
//Get the header
$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";
//Get the body (ip)
$remote = "";
while (!feof($sock))
$remote .= fgets($sock, 4096);
//Close the socket
fclose($sock);
//Store result for invertigate
$fd = fopen(FILE.'.update', 'w');
fwrite($fd, $headers.$remote);
fclose($fd);
//Get the return code
$retcode = preg_replace('/(?:.*\n)([a-z]+).*/s', '\1', $remote);
//Touch lock file if something goes wrong
if ($retcode != 'good' && $retcode != 'nochg')
{
$fd = fopen(FILE.'.lock', 'w');
date_default_timezone_set('UTC');
fwrite($fd, date("l d F Y G:i:s").': Update impossible dyndns: '.$remote);
fclose($fd);
echo date("l d F Y G:i:s").': Update impossible dyndns: '.$remote;
}
//Update FILE
$fd = fopen(FILE, 'w');
fwrite($fd, preg_replace('/.*(?:good|nochg) ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/s', '\1', $remote));
fclose($fd);
}
?>
Pense a copier ce code sous :
/usr/bin/ipupdate.dyndns
Puis mettre les droits suivants :
chown ton_user:root /usr/bin/ipupdate.dyndns
chmod 750 /usr/bin/ipupdate.dyndns
Puis ajouter un fichier cron qui va bien :
08,38 * * * * rapsys [ -x /usr/bin/php ] && [ -x /usr/bin/ipupdate.dyndns ] && /usr/bin/ipupdate.dyndns
Pense a changer login:password et le domaine example.com en ton domaine.dyndns.org ;)
ps : si tu veux faire un don paypal sur mon email hésite pas, j'ai pas mal bossé pour l'avoir fonctionnel...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.