I'm going to describe in detail my current dev environment. Hopefully,
it could be useful for somebody.


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

Reply via email to