Savannah in a box - pre-configured Savane virtual machine

To ease hacking on GNU Savane, here's a pre-configured virtual machine containing a running front-end (MySQL + Apache2) of Savane (the GNU Savannah software). To install an instance locally, with no virtual machine involved, see RunningSavaneLocally.

Please write to savannah-hackers-public@gnu.org with any questions or suggestions regarding this VM image.

Downloading and starting the VM

# Download the pre-configured image (355MB compressed)
wget http://files.housegordon.org/gnu-sv/savane-in-a-box.tar.xz

# Extract the files (~ 1.4GB uncompressed)
tar -xJf savane-in-a-box.tar.xz

# (or if your tar doesn't support XZ)
#    xzcat < savane-in-a-box.tar.xz | tar -xf -

# Use the provided script to start QEMU/KVM,
# with the pre-configred port 50080 forwarded to the host.
cd savane-in-a-box
./savane-in-a-box.sh

# The guest VM's boot messages will appear on the terminal.
# wait until the login prompt appears.
# Then visit (on the host) http://localhost:50080 .

Accessing Savane

After the guest VM finishes booting (the login prompt appears), On the host, visit http://localhost:50080 .

Try login with admin (password admin), or testuser (non-admin user, password 12345).

Configuration Details

  1. The image is based on gNewSense 3.1, as configured here: http://www.nongnu.org/pretest/manual/#gNewSense-3_002e1

  2. GNU Savane is locally installed as detailed in RunningSavaneLocally.

  3. Inside the virtual machine, the file /etc/rc.local contains a sudo command to automatically start a local server of Savane, running as non-root user. It is equivalent to using the make commands explained in RunningSavaneLocally.

  4. Inside the virtual machine, Apache2 is listening on port 50080.

  5. On the host, the savane-in-a-box.sh script forwards the guest's port 50080 to the host, try: http://localhost:500080.

  6. On the host, the savane-in-a-box.sh script forwards the guest's port 22 to the host's port 2222, try: ssh -p 2222 miles@localhost .

Hacking

  1. To login into the guest vm, run: ssh -p 2222 miles@localhost
  2. The 'root' password is '12345'.
  3. The non-root user 'miles' password is '12345'. The user can sudo without a password.
  4. The MySQL root password is '12345'.
  5. The code is running from /home/miles/savane/.
  6. By default, savane-in-a-box.sh runs QEMU/KVM in snapshot mode - meaning changes are NOT saved back to the VM disk (i.e. after terminating the VM, your changes will be lost).
    To save changes back to the image:
    1. Use savane-in-a-box.sh -S, or
    2. On the guest's console, type CTRL-A,C to switch to QEMU's monitor mode, Then run commit all to save the current filesystem state back to the disk. When using this method, it is highly recommended to shutdown the VM with shutdown -H -h now when you're done, the switch to QMEU's monitor mode, and commit all your changes again (otherwise, you'll commit the filesystem in unclean state).
  7. To hack on the frontend (php) files, look in /home/miles/savane/frontend/php.