Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm learning Puppet by example and writing some modules to manage our current RHEL and Ubuntu servers. My first serious attempt is a Zend Server module.

Since Puppet has a Yumrepo, but no Aptrepo resource how would you structure a module to add the repo and install the packages in a distro independent way? People who use the module shouldn't have to care which distro the server runs.

Another thing. I'd like to have Puppet set the ZS admin password after installation, but can't find where it's set. Any idea?

share|improve this question
up vote 1 down vote accepted

Something like:

class usefulclass {
    if $operatingsystem == "RHEL" {
        repo { ...
            before => Package["zend"] }
    } else {
        file { "sources.list"... //or however you choose to manage sources.list
            before => Package["zend"] }

Don't have a RHEL box handy, but just run facter operatingsystem to find out what the return value to look for is.

share|improve this answer
So you'd suggest handling the operatingsystem switch in the modules instead of the manifests? Sounds like a good idea since it would make the modules more plug-and-play. – Martijn Heemels Sep 1 '10 at 11:58
Indeed, that's how we do it. – BMDan Sep 22 '10 at 23:59

I'm only beginning to checkout Puppet myself, but I did look at the file: /usr/local/zend/bin/ which changes that password (it's there in case you forget the original password).

At the bottom of the script, it puts the MD5'd password into the file: /usr/local/zend/gui/application/data/zend-server-user.ini, though it has to edit the file, with 'sed'.

share|improve this answer
Thanks, that seems to work! – Martijn Heemels Aug 9 '10 at 12:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.