Pre-requisites
====
I'm using a VirtualBox and installing a virtual machine with Fedora18.
I'm also use vagrant to automatically manage the virtual machine.
There packages available from its website [1]. I'm currently using
version 1.3.4.
Booting a fresh virtual machine
====
The file Vagrantfile defines a basic image to download (= vagrant box)
and allows to add configuration details like network configuration.
This is a simplified but fully functional version:
```ruby
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "fedora-18-x86_64"
config.vm.box_url =
"http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box"
# config.vm.network :public_network
# config.ssh.forward_agent = true
config.vm.synced_folder ".", "/vagrant", :disabled => true
config.vm.provider :virtualbox do |vb|
# vb.gui = true
end
end
```
With this command, vagrant downloads the basic image (only the first
time) and deploys and boots up the virtual machine:
```
$ vagrant up
```
Then, to access the vagrant virtual machine:
```
$ vagrant ssh
```
Installing XSCE
====
Inside the vm now it's possible to follow the install instructions
[2]. I'm copying them below:
Install git and ansible (for dependencies):
```
sudo su -
yum install -y git ansible
```
Update ansible to use a :
```
cd ~/
git clone https://github.com/ansible/ansible.git
cd ansible
git checkout 07b59da99
python setup.py install
```
Clone the XSCE git repo and run the actual setup:
```
cd ~/
git clone https://github.com/XSCE/xsce
cd xsce/
./runansible
```
XSCE autoconfigures itself according to the interfaces it detects. If
XSCE only detects one interface, as in this setup, it configures
itself in "appliance mode". But the service are not reachable because
`eth0` in the host machine is using a subnetwork.
One solutions is define a port forward for every service. Other
solution, the one I'm using currently is to add a new interface
**after installing XSCE**.
To do it, from the host machine I halt the vm, uncomment a line in
Vagrantfile and run again:
```
$ vagrant halt
$ vim Vagrantfile
... uncomment # config.vm.network :public_network
$ vagrant up
$ vagrant ssh
```
The guest machine has 2 interfaces, the internal subnet and another
bridged to the same LAN as the host
```
[vagrant@schoolserver ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
link/ether 08:00:27:f0:90:8a brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fef0:908a/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
link/ether 08:00:27:ca:fe:ca brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global eth1
inet6 fe80::a00:27ff:feca:feca/64 scope link
valid_lft forever preferred_lft forever
```
And now all the services can be accessed from the LAN by any device
for testing, in this case, using 192.168.0.100.
The main problem here is that running XSCE installation process again
(`./runansible`) will mess the configuration because **it will find 2
interfaces now**. So, before configuring the server again, disable
eth1:
```
[root@schoolserver xsce]# ifconfig eth1 down
[root@schoolserver xsce]# ./runansible
```
More..
====
- To begin with a new fresh virtual machine:
```
$ vagrant destroy
$ vagrant up
```
- Uncommenting `config.ssh.forward_agent = true` in Vagrantfile, it is
possible to write in a git repo from the guest using host's keys.
- Take a look to https://github.com/XSCE/xsce/pull/76 when we are
trying to simplify adding new *roles* (services) to XSCE.
1: http://downloads.vagrantup.com/
2: https://github.com/XSCE/xsce/blob/master/docs/INSTALL.rst
On Wed, Nov 20, 2013 at 11:01 AM, Anish Mangal
<an...@activitycentral.com> wrote:
Hi Sebastian,
You should be able to download the image from here (Thanks to Thomas Gillard
for uploading the file):
http://people.sugarlabs.org/Tgillard/XSCE.ova
Please verify the md5sum once you have downloaded the file.
56a4f141b564b0d2bd65c543a5e585c6
About your question on dev environment I am ccing Santi and Miguel who can
answer it best. It may depend on what part of the server you want to
contribute to, but I think you should mostly be able to get away with just a
VM image. I don't believe anyone has tried a chroot env (though I could be
wrong) but it _might_ be possible.
Also, for testing with real clients (like xo laptops) you are probably going
to need something for the LAN side (an access point). There are a few
permutations here, but I will step back and let more the technical experts
converse :-)
Cheers,
Anish
On Wed, Nov 20, 2013 at 10:54 AM, Sebastian Silva
<sebast...@fuentelibre.org> wrote:
Thanks that will be simpler. Actually I'm more interested in what a good
dev environment would be in order to contribute.
Do I need to make a fedora chroot?
Regards,
Sebastian
El 19/11/13 09:51, Anish Mangal escribió:
I tried uploading it to xsce.activitycentral.com, but I ran out of space
in my user dir. Normally the appliance is 1.3G, but this also has 400mb of
IIAB test dataset.
I'll give it another shot in another area where there is some free space,
and get back.
On Tue, Nov 19, 2013 at 7:24 PM, Sebastian Silva
<sebast...@fuentelibre.org> wrote:
Hi
I tried this but google drive problematic to download from as it requires
to download from a browser. Not adequate for 1.6gb. Let me know if I can
pick it up from a regular download place. Why is it so big?
Regards,
Sebastian
El 17/11/13 20:48, Anish Mangal escribió:
Download the XSCE Virtualbox appliance from here
https://docs.google.com/file/d/0B3eW2YPe6koIVXRVbDhSR0xXQ1U (approx 1.6 GB)
--
Miguel González
Activity Central: http://www.activitycentral.com
_______________________________________________
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel