Mar 192009
 

I have some minor sites run­ning on the base­ment OpenSol­aris box, and since our IP address changes reg­u­larly, I use ddcli­ent to notify DynDNS of the changes. It was work­ing just fine on the old Debian box, but of course OpenSol­aris does things dif­fer­ently, and the ddcli­ent pack­age doesn’t come with all the bits you need to make it work.

Step one: down­load the ddcli­ent pack­age from Source­forge, and fol­low the instruc­tions in the README as to where to install it. Easy enough, done.

Step two: go to the DynDNS site, log in to the account, go to the Sup­port Tools sec­tion of the web­site, and click on the “Update Cli­ent Con­fig­ur­ator”. This takes you to a page that will auto­mat­ic­ally gen­er­ate the con­fig­ur­a­tion file for ddcli­ent for your account. This is one of the reas­ons I like DynDNS, by the way, they think of little use­ful tools like this. 

Step three: make the con­fig­ur­a­tion changes in the ddclient.conf file, and try run­ning the ddcli­ent Perl script to see if it works, using ddclient -daemon=0 -debug -verbose -noquiet to get all the error mes­sages. One tip: if you have spaces in your pass­word, sur­round it with single quotes, not double quotes. The lat­ter don’t work.

Step four: the hardest for someone new to OpenSol­aris is to fig­ure out how to run the dae­mon. It turns out that Sol­aris has a “Ser­vices Man­age­ment Facil­ity” (SMF). The spe­cific instruc­tions to fol­low, once you’ve figured out the basic con­cepts, are at Chris Gerhard’s ddcli­ent meets SMF. Mind you, I did need to read the doc­u­ment­a­tion on Man­aging Ser­vices to find out where to put the file (/var/svc/manifest). Just as well Sun lets lots of people blog, it cer­tainly makes it easier to find inform­a­tion. I do wish they could fig­ure out how to give their stand­ard doc­u­ment­a­tion mem­or­able URIs though.

Now I just have to wait until our local IP address changes to see if it works. [Update: yup, it works.]

  7 Responses to “OpenSolaris and ddclient”

  1. Hi,
    When I ran
    ddcli­ent –daemon=0 –debug –verb­ose –noquiet
    as you sug­ges­ted, I got the fol­low­ing error:

    FATAL: Error load­ing the Perl mod­ule IO::Socket::SSL needed for SSL con­nect.
    FATAL: On Debian, the pack­age libio-socket-ssl-perl must be installed.

    Could you share how you installed the perl mod­ule on your opensol­aris box?

    Thanks you!
    –Ilya

    • Hi Ilya, sorry it’s taken a while to reply. I’ll email this to you as well.

      I didn’t do any­thing spe­cial to install Perl as I think it’s on the sys­tem by default. The only extra pack­age I installed was the web stack pack­age, again tak­ing the defaults. The ver­sion I have (using OpenSol­aris 2008.11) is 5.8.4, in /usr/bin/perl.

  2. Thank you Lauren.
    I did have perl installed, but not webstack and maybe the mod­ule is part of webstack..
    FYI:
    I fol­lowed this post to install the IO::Socket::SSL mod­ule:
    http://www.sysadminsjourney.com/content/2009/06/19/fixing-cpan-perl-module-installation-issues-opensolaris
    And it works great for me now.
    Thank you.
    –Ilya

  3. […] 参考文章:http://www.laurenwood.org/anyway/2009/03/opensolaris-and-ddclient/ Pos­ted on Janu­ary 8, 2010 at 22:17 by paul · Permalink In: In My Opin­ion, Open Source · Tagged with: NAS, OpenSol­aris, zfs […]

  4. Thanks so much for these instruc­tions. I just moved to opensol­aris and you have saved me from a very steep learn­ing curve.

    Thankyou

  5. Run­ning
    ddcli­ent –daemon=0 –debug –verb­ose –noquiet
    gives me the fol­low­ing Usage error:
    Usage: ddcli­ent {start|stop|restart|status}

    Am I miss­ing some­thing?

  6. If you decide to upgrade your box– it is mostly an incom­plete perl setup that pre­vents ddcli­ent from work­ing. Com­pil­ing the perl IO-Socket-SSL mod­ule and installing it made ddcli­ent run hap­pily– then as above hav­ing the dae­mon run as a uni­fied type of ser­vice through SMF.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)