Setting up osgeo vm
>> return Cedeus IDE
Contents
Setup of an OSGeo Virtual Machine with VirtualBox
Setting up a OSGeo VirtualBox-VM on Lautaro with SuseLinux - but using command line (because creating the VM via the graphical interface vboxgtk did not work properly). The general documentation was taken from here: http://stdioe.blogspot.com/2012/01/creating-virtual-machine-with.html
Steps:
- install virtualbox on server/computer (done by Daniel, needs admin rights of course)
- download the iso with the OS, for ubuntu (= not OSGeo live):
curl -L -O http://releases.ubuntu.com/12.04.3/ubuntu-12.04.3-server-i386.iso > ubuntu12043server.iso
- create a VM based on Ubuntu:
VBoxManage createvm --name osgeo --ostype Ubuntu --register
- check it is there:
VBoxManage showvminfo osgeo
- set the memory/ram:
VBoxManage modifyvm osgeo --memory 8192
(which is 8GB) - check the memory/ram:
VBoxManage showvminfo osgeo | grep "Memory size"
- set the number of cpu's to use (here 4):
VBoxManage modifyvm osgeo --cpus 4
- set the network connection/routing
VBoxManage modifyvm osgeo --nic1 nat
Here we use 'nat'-ing instead of a bridge. For a bridge we have to use unstead: first this command:VBoxManage modifyvm osgeo --bridgeadapter1 eth0
and then, this command:VBoxManage modifyvm osgeo --nic1 bridged
. - create a harddisk of 100GB size:
VBoxManage createhd --filename osgeo.vdi --size 100000
- define the VM's disk controller:
VBoxManage storagectl osgeo --name "SATA Controller" --add sata --controller IntelAhci
- mount the disk:
VBoxManage storageattach "osgeo" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium osgeo.vdi
- check if everything is there:
VBoxManage showvminfo osgeo
- add DVD device:
VBoxManage storagectl osgeo --name "IDE Controller" --add ide --controller PIIX4
- load the DVD device with the Ubuntu VM/osgeo iso file (check if the iso has proper rights, i.e. maybe do a chmod 775):
VBoxManage storageattach osgeo --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium yyy/osgeolive7.iso
- starting VM
VBoxHeadless -s osgeo -n -m 7777 &
The -s is for start, 7777 defines the port for conecting with VNC, and the & is for keeping the VM running when I disconnect from the server. Headless actually means, that we have no monitor... - don't forget to install VNC Viewer (e.g. RealVNC), and then connect via the defined port - to "146.155.xx.xxx:7777"
- ... do a real install of the osgeo VM, etc.
- install ssh server
sudo apt-get install openssh-server
- how to do a mapping for ssh (& ftp), so that the guest VM can be reached from the host machine is described here: http://blogs.oracle.com/rmanus/entry/virtualbox_how_to_ftp_from
In particular one has to do the following:VBoxManage modifyvm osgeo --natpf1 "ssh,tcp,,2222,,22
These entries are then added to osgeo.vbox xml file. For ftp the port would be 21 instead of 22. To enable Apache, do the same but use: config folder "apache", HostPort "8888", GuestPort "80", Protocol "TCP", e.g. (as one line):VBoxManage modifyvm osgeo --natpf1 "apache,tcp,,8888,,80"
and for Tomcat:VBoxManage modifyvm osgeo --natpf1 "tomcat,tcp,,8889,,8080"
- Note, if a "Error: failed to start machine. Error message: Configuration error: Failed to get the "MAC" value (VERR_CFGM_VALUE_NOT_FOUND)" appears, then it may be necessary to change the network adapter to PCnet-FAST III (Am79C973), according to this Blog entry
- check here on how to detach the medium use:
VBoxManage storageattach osgeo --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
- shutting down the vm per vboxmanage :
VBoxManage controlvm <uuid>|<name> pause|resume|reset|poweroff|savestate|acpipowerbutton|acpisleepbutton
- tomcat 6 can be found in /usr/share/tomcat6/bin. However, the start/stop command is simply:
sudo service tomcat6 start
Check out: Blog: How to instal Tomcat 6 on Ubuntu 12.04. Also, don't forget to create users for the manager interface (see this Blog post). Finally, the right amount of memory can be assigned in the file /etc/tomcat6/tomcat6.conf. However, I did not had this file. So I created a new file setenv.sh in /usr/share/tomcat6/bin viasudo touch setenv.sh
and then edited it adding the following lines:#!/bin/sh <new line> JAVA_OPTS="-Xmx2096m -Xms512m -server -Djava.awt.headless=true -Djava.util.prefs.systemRoot=$CATALINA_HOME/content/thredds/javaUtilPrefs" <new line> export JAVA_OPTS
Then I stopped and re-started tomcat. The above method also worked with Tomcat7. - displaying catalina output:
cd /var/lib/tomcat6
tail -f logs/catalina.out
- activate remote desktop for VBox:
VBoxManage modifyvm osgeo --vrde on
VBoxManage modifyvm osgeo --vrdemulticon on
and define the port numberVBoxManage modifyvm osgeo --vrdeport XXXX
Other Notes
Install & updates
When Installing Ubuntu server, I got actually problems with the update sever, and had to switch to main. For that I used:
sudo nano /etc/apt/sources.list
Then locate http://cls.archive.ubuntu.com/ubuntu
and replace it with http://archive.ubuntu.com/ubuntu
.
Afterwards, installing htop with sudo apt-get install htop
worked as well, why it did not work before.
Installing a GUI
Installing a (optional) GUI for Ubuntu is described here: http://www.maketecheasier.com/use-a-gui-on-a-ubuntu-server/
Changing Vbox mac address
useVBoxManage modifyvm osgeo --macaddress1 08002783b21e
After that my eth0 disappeared, I got it back by deleting: /etc/udev/rules.d/70-persistent-net.rules and rebooting. This tip came from here.
Next I had to set the IP manually, using command line. How to do this via command line is described here
Changing the max upload size of wars for Tomcat 7
use/usr/share/tomcat7-admin/manager/WEB-INF$ sudo nano web.xml
and change the max file setting