Table of Contents

anyMeta Virtual Machine

anyVM in qemu

About

anyVM is a bootable ISO image1) that runs an anyMeta CMS on a live Debian gnu/Linux operating system.

It is intended for

and offers distinct features for anyMeta development and deployment:

System Requirements

getting Started

  1. download the iso-image from office.mediamatic.nl:/Kantoor/6-mensen/Robin_Gareus/cdimage.iso.gz
  2. unzip the image → cdimage.iso
  3. boot the image
    • run in with your favorite Emulator
    • burn it to CD/DVD and restart the computer
  4. see the next chapter: “Bootup sequence”

Emulator and Image Hints

Parallels

Notes from my head: (need to test)

Notes:

Qemu

Here's minimal commandline to launch it with qemu.

qemu -boot d -m 384 -cdrom  cdimage.iso

and a more elaborate example overriding the default network settings and adding port-redirects:

qemu -boot d -m 384 -cdrom cdimage.iso -net nic,vlan=0 -net user,vlan=0 -redir tcp:8081::80 -redir tcp:2222::22

Simply use the qemu-launcher GUI: Bootdisk: “CD-ROM” and set CD-ROM to the downloaded image file; optionally tweak other settings to your preferences.

Note: With qemu's -curses option many anyVM images can be launched within a detachable screen(1) session. running qemu with -nographic is even fancier ;)

VMware

writing the image to CD/DVD

Any CD/DVD writing software should be able to do so. Here's a unix commandline:

zcat cdimage.iso.gz | cdrecord -

Note: Do not write the cdimage.iso as file on a Data-CD. The ISO9660 image *is* the raw data from the disk. see How to write iso files to cd.

booting from USB stick

Simply copy the .iso to memory-stick's device (not the memory-stick's filesystem). Example unix commandline (replace /dev/disk1 with the usb-stick's device, eg. /dev/sda)

sudo zcat cdimage.iso.gz > /dev/disk1

If you do not want to erase the whole memory-stick you will need to load syslinux onto the stick and simply copy the iso onto the stick's filesystem. see Debian Howto and syslinux faq.

Booting the Virtual Server

The bootloader (after the bios) asks if you have a specific CD-ROM setup. Autodetection will work for most systems. So just press Enter or wait for 5 sec.

Close to the end of the bootup-sequence you are asked (5 seconds timeout) if you want to skip/override auto-configuration.

After booting the image it will show a small welcome screen (with password hints) and drop you at a shell logon. You do not need to use this console and can proceed to point a web-browser at the newly instantiated virtual-server or log in via ssh.

Configuration

All images have an identical initial configuration which is customized during bootup. Customization can include nearly every sysadmin task from creating vhosts, dumping databases, to starting services..

This allows the VM to become a standalone server or take a part in a shared cluster. The VM can also be reconfigured during runtime.

default configuration

The default system comes with a catch-all apache2 vhost that points to a local empty mysql database anymeta4. Visiting the site with a webbrowser will redirect you to the anymeta setup page..

mysqld is not started by default (requires 40MB ramdisk space). However the default remote-configuration for unknown VM's is to just start_mysql. If you manually bypassed the remote-config during bootup mysqld may not be launched (depending on your choice).

config UI

There is a Ncurses user-interface for common anyMeta sysadmin tasks. You can enter it during bootup as alternative to remote-config or start it at any later time by calling anyconfig.sh as user root.

configuration commands

see anyrcfg.

remote configuration

anyVM makes an HTTPS request to https://anyvm.test.mediamatic.nl/rcfg.php and POSTs it's network MAC address as identifier 2). It receives a configuration-script which is parsed and executed.

remote configuration admin

visit https://anyvm.test.mediamatic.nl/admin.php

anyMeta configs

Per default every VM node launches a webserver3) and depcached.

Modes of operation:

anyMeta notes

Remastering

Mount some storage device (fi. network-FS or a local HDD or a memory-stick) to /var/spool/bootcd/ and run bootcdwrite -s (you can ignore most of the warnings..) - after ~5mins there will be a cdimage.iso file there.

1) The ISO image can be burned on a CD, DVD, runs from USB stick or from harddisk.
2) it also sends it's DHCP IP-address, which can be used as additional identifier
3) apache2 non-treaded, pre-fork with php5-module and xcache