OpenChange Appliance

Version 25 (Brad Hards, 07/22/2010 01:12 am)

1 1
h1. OpenChange Appliance
2 1
3 21 Julien Kerihuel
{{>toc}}
4 21 Julien Kerihuel
5 1
h2. Introduction
6 1
7 22 Brad Hards
The OpenChange appliance is a virtual environment configured to provide a development environment similar to that used by other OpenChange developers. It contains everything needed to run OpenChange server "out of the box" and to start developing or following latest evolution of the OpenChange project. 
8 1
9 22 Brad Hards
The appliance was created using "Virtualbox 3.2.6":http://www.virtualbox.org/wiki/Downloads but was exported using the "Open Virtualization Format":http://en.wikipedia.org/wiki/Open_Virtualization_Format (OVF) with 0.9 legacy enabled to maximize the number and versions of virtualization systems able to import this appliance. This guide primarily focuses on VirtualBox, but additional setup and configuration information for other virtualization systems is welcome.
10 7 Julien Kerihuel
11 7 Julien Kerihuel
h2. Available appliances
12 7 Julien Kerihuel
13 22 Brad Hards
h3. Ubuntu 10.04 Lucid LTS OpenChange appliance
14 7 Julien Kerihuel
15 17 Julien Kerihuel
* *size: 1.7Gb*
16 7 Julien Kerihuel
* x86 architecture
17 7 Julien Kerihuel
* 5Gb of Hard Disk drive
18 7 Julien Kerihuel
* 256Mb of memory
19 7 Julien Kerihuel
* 2 network interfaces:
20 7 Julien Kerihuel
** eth0: NAT
21 7 Julien Kerihuel
** eth1: Bridged with a default IP set to 10.254.0.100
22 5 Julien Kerihuel
23 8 Julien Kerihuel
24 1
h2. Download OpenChange Virtual Appliance
25 1
26 22 Brad Hards
You can either download the appliance using either FTP or rsync. You do not need to use both, although you can use the rsync method to update an existing appliance downloaded using either method.
27 1
28 1
h3. FTP download method
29 18 Julien Kerihuel
30 22 Brad Hards
The appliance can be retrieved through FTP from the following address: ftp://openchange:openchange@labs.openchange.org
31 3 Julien Kerihuel
32 22 Brad Hards
You can use any graphical or command line client that supports FTP. For example, you can use:
33 3 Julien Kerihuel
<pre>
34 3 Julien Kerihuel
$ wget ftp://openchange:openchange@labs.openchange.org/ubuntu-appliance.tgz
35 1
$ wget ftp://openchange:openchange@labs.openchange.org/ubuntu-appliance.sha512sum
36 18 Julien Kerihuel
</pre>
37 18 Julien Kerihuel
38 18 Julien Kerihuel
An unpacked version of the appliance is available within the unpacked/ubuntu-appliance directory under the root directory of the FTP account.
39 1
40 18 Julien Kerihuel
h3. rsync download method
41 18 Julien Kerihuel
42 22 Brad Hards
The applicance can be retrieved (or updated) through rsync using this command:
43 18 Julien Kerihuel
<pre>
44 1
$ rsync -az labs.openchange.org::ubuntu-appliance ubuntu-appliance
45 18 Julien Kerihuel
</pre>
46 22 Brad Hards
where the second "ubuntu-appliance" is the directory where your files will be downloaded to.
47 3 Julien Kerihuel
48 1
h3. Check Integrity
49 4 Julien Kerihuel
50 22 Brad Hards
The OpenChange appliance comes with two different layers of integrity checking
51 22 Brad Hards
* one SHA512 file to check tarball integrity (not applicable for rsync) named "ubuntu-appliance.sha512sum"
52 22 Brad Hards
* one SHA512 named "SHA512SUM", within the tarball or rsync download to check appliance data integrity
53 4 Julien Kerihuel
54 22 Brad Hards
To check the tarball, use the following command:
55 4 Julien Kerihuel
<pre>
56 4 Julien Kerihuel
$ sha512sum -c ubuntu-appliance.sha512sum
57 1
ubuntu-appliance.tgz: OK
58 22 Brad Hards
</pre>
59 1
60 22 Brad Hards
You can then extract the tarball (if applicable) using the following command:
61 22 Brad Hards
<pre>
62 4 Julien Kerihuel
$ tar xzvf ubuntu-appliance.tgz
63 4 Julien Kerihuel
SHA512SUM
64 4 Julien Kerihuel
ubuntu-appliance.mf
65 4 Julien Kerihuel
ubuntu-appliance.ovf
66 4 Julien Kerihuel
ubuntu-appliance.vmdk
67 22 Brad Hards
</pre>
68 4 Julien Kerihuel
69 22 Brad Hards
You can then verify the download using the following command:
70 22 Brad Hards
<pre>
71 1
$ sha512sum -c SHA512SUM
72 1
ubuntu-appliance.mf: OK
73 1
ubuntu-appliance.ovf: OK
74 4 Julien Kerihuel
ubuntu-appliance.vmdk: OK
75 4 Julien Kerihuel
</pre>
76 4 Julien Kerihuel
77 1
78 8 Julien Kerihuel
h2. Importing appliance in VirtualBox
79 8 Julien Kerihuel
80 22 Brad Hards
Before you import the appliance, make sure that the download passes the integrity checks (see previous step).
81 8 Julien Kerihuel
82 22 Brad Hards
There are two ways to import the appliance into VirtualBox - using the VBoxManage command line tool, or using the VirtualBox GUI client. You only need to use one.
83 22 Brad Hards
84 22 Brad Hards
h3. Using the VBoxManage command line tool
85 22 Brad Hards
86 22 Brad Hards
We suggest doing a "dry-run" of the import using the following command (where "/path/to/" is replaced by the location that you downloaded the appliance image to):
87 19 Julien Kerihuel
<pre>
88 1
$ VBoxManage import /path/to/ubuntu-appliance.ovf --dry-run
89 1
</pre>
90 8 Julien Kerihuel
91 22 Brad Hards
If successful, it is safe to import the appliance using the command below (again, replacing "/path/to"):
92 1
<pre>
93 8 Julien Kerihuel
$ VBoxManage import /path/to/ubuntu-appliance.ovf
94 8 Julien Kerihuel
</pre>
95 1
96 8 Julien Kerihuel
h3. Using VirtualBox GUI
97 1
98 24 Brad Hards
Click _File_ in the menu bar, then select _Import Appliance_
99 23 Brad Hards
!vbox-filemenu.png!
100 1
101 24 Brad Hards
This will bring up the import wizard, which looks like the following:
102 24 Brad Hards
!importwizard.png!
103 1
104 24 Brad Hards
Click the Choose button, navigate to the directory where you extracted the appliance and select the OVF file (ubuntu-appliance.ovf) 
105 1
!importfiledialog.png!
106 1
107 24 Brad Hards
This will return you to the import wizard, where you should see the filename and path that you just selected. You can then click Finish, as shown below:
108 24 Brad Hards
!importwizard2.png!
109 23 Brad Hards
110 24 Brad Hards
This will bring up the setting menu, as shown below
111 24 Brad Hards
!importsettings.png!
112 24 Brad Hards
113 24 Brad Hards
Change any settings that may be required (in particular, you may wish to increase the RAM if your host machine has plenty of memory) and select the Finish button to finalize the import process. You should see progress indications as the virtual machine is imported. Note that the import may take some time.
114 10 Julien Kerihuel
115 22 Brad Hards
After VirtualBox is finished importing the appliance, you can boot it (e.g. using the "Start" icon in the VirtualBox GUI). If you encounter issues when launching the virtual machine for the first time, please refer to the [[OpenChange_Appliance#Troubleshooting|troubleshooting section]] of this guide.
116 9 Julien Kerihuel
117 22 Brad Hards
h2. Using the OpenChange appliance
118 13 Julien Kerihuel
119 21 Julien Kerihuel
h3. Account information
120 13 Julien Kerihuel
121 22 Brad Hards
Once you have started the appliance, you will access the default console login screen. The default account is:
122 1
* username: *openchange*
123 13 Julien Kerihuel
* password: *openchange*
124 13 Julien Kerihuel
125 22 Brad Hards
Note that this user is enabled with sudo privileges to run command as root.
126 13 Julien Kerihuel
127 22 Brad Hards
*You are strongly encouraged to change the password as soon as possible.*
128 22 Brad Hards
129 13 Julien Kerihuel
h3. Networking
130 1
131 22 Brad Hards
The appliance is configured with 2 network interfaces:
132 13 Julien Kerihuel
* NAT on eth0
133 13 Julien Kerihuel
* Bridged on eth1 with an IP address set to *10.254.0.100* by default.
134 1
135 13 Julien Kerihuel
You can dynamically change the IP address using:
136 13 Julien Kerihuel
<pre>
137 1
sudo ifconfig eth1 XXX.XXX.XXX.XXX
138 13 Julien Kerihuel
</pre>
139 14 Julien Kerihuel
140 1
or make this change permanent by changing the eth1 address in */etc/network/interfaces*.
141 14 Julien Kerihuel
142 25 Brad Hards
Note that the pre-configured client-side profile depends on this address, so if you change the address, you will need to either edit or delete that existing MAPI profile to reflect the change. Refer to the mapiprofile man page for how to do this.
143 14 Julien Kerihuel
144 14 Julien Kerihuel
h3. Services
145 14 Julien Kerihuel
146 25 Brad Hards
The appliance comes with samba4 and openchange server installed and configured. Two accounts are set up on the server:
147 1
* *Administrator* with a password set to *#1OpenChange*. The password above is also the adminpass used during samba4 provisioning.
148 14 Julien Kerihuel
* *openchange* user with a password set to *openchange* 
149 14 Julien Kerihuel
150 25 Brad Hards
You can run the OpenChange server either by running the *_startme.sh_* script located in the openchange account home directory or using:
151 14 Julien Kerihuel
<pre>
152 14 Julien Kerihuel
$ sudo /usr/local/samba/sbin -d5 -i -M single
153 14 Julien Kerihuel
</pre>
154 14 Julien Kerihuel
155 22 Brad Hards
It is recommended that you keep the server running in single mode and dedicate a console to it. You can obtain a second console login using the <Alt-F2> key combination, which may be useful to perform testing. You can also work over ssh (which is enabled on the appliance).
156 14 Julien Kerihuel
157 14 Julien Kerihuel
h4. OpenChange client
158 14 Julien Kerihuel
159 22 Brad Hards
The appliance comes with a default mapiprofile database and a default openchange profile that you can use to test OpenChange server:
160 14 Julien Kerihuel
<pre>
161 14 Julien Kerihuel
$ mapiprofile --list
162 14 Julien Kerihuel
We have 1 profiles in the database:
163 14 Julien Kerihuel
        Profile = openchange [default]
164 14 Julien Kerihuel
$ mapiprofile --dump
165 14 Julien Kerihuel
Profile: openchange
166 14 Julien Kerihuel
        username          == openchange
167 14 Julien Kerihuel
        password          == openchange
168 14 Julien Kerihuel
        mailbox           == /o=First Organization/ou=First Administrative Group/cn=Recipients/cn=openchange
169 14 Julien Kerihuel
        workstation       == ubuntu
170 14 Julien Kerihuel
        domain            == OPENCHANGE
171 14 Julien Kerihuel
        server            == 10.254.0.100
172 13 Julien Kerihuel
</pre>
173 15 Julien Kerihuel
174 15 Julien Kerihuel
After the server is started (see previous section), you can call openchangeclient to test/stress OpenChange server:
175 15 Julien Kerihuel
<pre>
176 15 Julien Kerihuel
$ openchangeclient --mailbox
177 15 Julien Kerihuel
$ openchangeclient --fetchmail
178 15 Julien Kerihuel
</pre>
179 16 Julien Kerihuel
180 16 Julien Kerihuel
181 16 Julien Kerihuel
h2. Update OpenChange appliance
182 16 Julien Kerihuel
183 22 Brad Hards
The appliance comes with a subversion trunk repository of openchange (located in _/home/openchange/openchange/_) and its associated samba4 git-master revision (located in _/home/openchange/openchange/samba4/_) which means you can follow latest openchange advances using *svn up* from openchange trunk directory and rebuilding openchange sources whenever required.
184 16 Julien Kerihuel
185 9 Julien Kerihuel
186 11 Julien Kerihuel
h2. Troubleshooting
187 11 Julien Kerihuel
188 11 Julien Kerihuel
h3. Failed to open a session for the virtual machine
189 11 Julien Kerihuel
190 11 Julien Kerihuel
!http://tracker.openchange.org/attachments/73/vbox_e_fail_isession.png!
191 11 Julien Kerihuel
192 11 Julien Kerihuel
If you encounter the above message when running the appliance, run:
193 11 Julien Kerihuel
# Click on _Settings_, then select _Storage_ panel
194 11 Julien Kerihuel
# Click on the appliance vmdk in the Storage tree and remove it (right click and _Remove attachment_)
195 11 Julien Kerihuel
# Click on _Add attachment_ or _Add Hard drive_ and select the appliance vmdk again (vmdk may be added automatically)
196 1
# Power on the virtual machine