Virtualmin Appliance Builder

Virtualmin
eganja
2009-11-01
2013-05-21
  • eganja
    eganja
    2009-11-01

    Hello
    I have just found a nice application called dab
    http://pve.proxmox.com/wiki/Debian_Appliance_Builder

    dab' is a script to automate the creation of OpenVZ appliances. It is basically a rewrite of debootstrap in perl, but uses OpenVZ instead of chroot and generates OpenVZ templates. Another difference is that it supports multi-stage building of templates. That way you can execute arbitrary scripts between package installation steps to accomplish what you want.

    So it was a pleasure to create a virtualmin/webmin appliance on top of debian lenny

    you need a file called dab.conf
    Suite: lenny
    CacheDir: ../cache
    Mirror: http://ftp.debian.org/debian => ftp://ftp.be.debian.org/debian
    Architecture: amd64
    Name: webmin-lenny
    Version: 5.0-1
    Section: system
    Maintainer: webmin
    Infopage: http://webmin.com
    Description: Debian 5.0 (webmin)
    A small Debian Lenny system including all standard packages.

    and the following Makefile

    BASEDIR:=$(shell dab basedir)

    all: info/init_ok

            dab bootstrap
            dab task mysql -password achanger
            dab install apache2-mpm-prefork htop mc postfix postfix-pcre ruby rubygems snmp  bind9utils bind9 libapache2-mod-ruby libxml-simple-perl libcrypt-ssleay-perl
            dab task php
            sed -e 's/^\s*display_errors\s*=\s*On/display_errors = Off/' -i ${BASEDIR}/etc/php5/apache2/php.ini
            dab install php5-mysql
            dab install libnet-ssleay-perl  libauthen-pam-perl libio-pty-perl libmd5-perl  webalizer snmpd chkrootkit rkhunter fail2ban logwatch chkconfig squirrelmail subversion gcc make
            dab install libtest-exception-perl libsub-uplevel-perl libtest-simple-perl libwrap0-dev dovecot proftpd  dovecot-common dovecot-imapd dovecot-pop3d
            wget http://downloads.sourceforge.net/project/webadmin/webmin/1.490/webmin_1.490_all.deb?use_mirror=mesh
            wget http://download.webmin.com/download/virtualmin/virtual-server-3.74.gpl.wbm.gz
            wget http://download.webmin.com/download/virtualmin/virtual-server-theme-7.5.wbt.gz
            install -m 0644 webmin_1.490_all.deb ${BASEDIR}/root/
            dab exec dpkg -install /root/webmin_1.490_all.deb
            install -m 0644 virtual-server-3.74.gpl.wbm.gz ${BASEDIR}/root/
            install -m 0644 virtual-server-theme-7.5.wbt.gz ${BASEDIR}/root/
            echo /bin/false >>${BASEDIR}/etc/shells
            echo "virtual_alias_maps = hash:/etc/postfix/virtual" >> ${BASEDIR}/etc/postfix/main.cf
            dab finalize

    info/init_ok: dab.conf
            dab init
            touch $@

    .PHONY: clean
    clean:
            dab clean
            rm -f *~

    .PHONY: dist-clean
    dist-clean:
            dab dist-clean
            rm -f *~

    it could be nice if the developper team designed their own official appliance and certify it
    http://pve.proxmox.com/wiki/Certification_Overview

    enjoy
    eric lapaille
    belgium