Forge Home

webmin

A module used to perform installation and configuration of webmin.

4,832 downloads

4,595 latest version

2.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.1 (latest)
  • 0.2.0
  • 0.1.0
released Feb 5th 2019

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'petermanton-webmin', '0.2.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add petermanton-webmin
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install petermanton-webmin --version 0.2.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

petermanton/webmin — version 0.2.1 Feb 5th 2019

webmin

Table of Contents

  1. Description
  2. Setup
  3. Usage
  4. Reference
  5. Limitations
  6. Development

Description

This module allows you to install and configure Webmin. Works / tested on Puppet 5 and above.

Setup

Simply declare the class - see below for customizing the behaviour.

Usage

The following example installs webmin and performs basic configuration:

class { 'webmin':
  install => true,
  portnum => 80,
  certificate => 'puppet:///certs/certificate.pem',
  webmin_groups =>  [ 'group1:ppp-client pptp-client pptp-server stunnel', 'group2:exim fetchmail jabber', ],
  webmin_users => [ 'user1:group1', 'user2:group2' ],
}

or in Hiera:

webmin::install: true
webmin::portnum: 8080
webmin::managed_config: true
webmin::certificate: puppet:///certs/certificate.pem
webmin::webmin_groups:
    - 'group1:shell custom filemin tunnel file phpini cpan'
    - 'group2:dovecot exim fetchmail jabber ldap-server mysql openslp postfix postgresql'
webmin::webmin_users:
    - 'user1:group1'
    - 'user2:group1'
    - 'user3:group2'

Reference

Classes

::webmin:install This class handles the installation of Puppet via the appropriate package manager.
::webmin:configure This class handles the configuration of Webmin.

Variables

webmin::install Determines whether or not webmin will be installed by this package or not.
webmin::webmin_package_name Defines the package name which is requested from the package manager.
webmin::main_config_path Defines the file path of the main webmin configuration file.
webmin::acl_config_path Defines the file path of the webmin group configuration file.
webmin::user_config_path Defines the file path of the webmin ACL configuration file.
webmin::group_config_path Defines the file path of the webmin user configuration file.
webmin::portnum Defines the bind port for webmin.
webmin::managed_config Determines whether webmin will soley manage the configuration (recommended = true.)
webmin::certificate_path Defines the file path of the webmin certificate.
webmin::certificate Defines where the certificate for Puppet is stored (this should point at a Puppet mount point.)
webmin::webmin_groups Defines the groups and thier assigned roles e.g. <group_name>: <role1> <role2> <role3> ...
webmin::webmin_users Defines the users and their assigned group. (Note: Currently only OS level users are supported.)

Limitations

Compatible with RHEL7/Centos 7 and Debian 9.7 (stretch) and most derivatives (including Ubunutu.)

Development

Planned future support for OpenSUSE and ArchLinux.