1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xl="http://www.w3.org/1999/xlink">
3 <title>Installing In Virtualized Linux Environments</title>
4 <section xml:id="serversideinstallation-virtual">
5 <title>Overview</title>
6 <para>This section describes the installation of Evergreen software in so-called "virtualized" software environments. Evergreen software currently runs as a native application on any of several well-known x86 (32-bit) and x86-64 (64-bit) <systemitem class="osname">Linux</systemitem> distributions including <systemitem class="osname">Ubuntu</systemitem> and <systemitem class="osname">Debian</systemitem>, but it does not run as a native application on the <systemitem class="osname">Microsoft Windows</systemitem> operating system. However, it is possible to execute Evergreen on a <systemitem class="osname">Windows</systemitem> host system by running it within a virtual Linux-guest installation, which itself executes on the <systemitem class="osname">Windows</systemitem> system. The Linux environment is fully emulated and acts (within limits) just as if it were executing on a real standalone system.</para>
7 <para>This technique of emulating a Linux environment on a <systemitem class="osname">Windows</systemitem> host is a practical way to install and run an Evergreen system if it is not possible to dedicate a physical machine solely as a Linux host for Evergreen.
8 There are some performance limitations to running Evergreen in a virtualized environment, so this architecture is not recommended for large scale systems. However, it is a reasonable architecture for simple experiments, as a proof of concept, or as a conference-room pilot.</para>
10 <title>Installing Virtualization Software</title>
11 <para>As described above, Evergreen is installed on top of an emulated Linux environment. The Linux environment, in turn, is installed on top of a software application such as <application>"VirtualBox"</application>, <application>"VMware"</application> or <application>"VirtualPC"</application> which must first be installed on the <systemitem class="osname">Windows</systemitem> system. This section contains step-by-step examples of installing each of the popular virtualization applications on a <systemitem class="osname">Windows</systemitem> host system. Following this section are further descriptions of installing Linux systems on the virtualization software, then of installing and running Evergreen within those Linux systems.</para>
13 <title>Installing <application>"VirtualBox"</application> Virtualization Software</title>
14 <para>This section reviews the procedure for installing the <application>"VirtualBox"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>. Follow these instructions:</para>
17 <para>Download <application>VirtualBox</application> from their official website: <ulink url="http://download.virtualbox.org/virtualbox/3.2.8/VirtualBox-3.2.8-64453-Win.exe">http://download.virtualbox.org/virtualbox/3.2.8/VirtualBox-3.2.8-64453-Win.exe</ulink>, then run the executable file. Continue with the steps shown in the next five figures until the software has been successfully installed:</para>
19 <title>Starting the Windows installation file</title>
22 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="70%"/>
27 <title>Welcome to <application>VirtualBox</application> setup wizard</title>
30 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-2.png" scalefit="1" width="70%"/>
35 <title>Accept the license agreement</title>
38 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-3.png" scalefit="1" width="70%"/>
43 <title>Waiting for files to be copied</title>
46 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-4.png" scalefit="1" width="70%"/>
51 <title>Installation is complete</title>
54 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-5.png" scalefit="1" width="70%"/>
60 <para>After successfully installating <application>VirtualBox</application>, do the following:</para>
62 <listitem>Start it for the first time and select <menuchoice><guimenu>File</guimenu><guimenuitem>VirtualBox Media Manager</guimenuitem><guimenuitem>Add</guimenuitem></menuchoice> to locate the prebuilt software image just downloaded (the example shows it was extracted from the original <literal>.ZIP</literal> file into a temporary directory <literal>C:\temp</literal>). See <xref linkend="serversideinstallation-virtual-vm-install-2"/> for details.</listitem>
63 <listitem>After selecting the file, click <guibutton>Open</guibutton> to import it (see <xref linkend="serversideinstallation-virtual-vm-install-3"/> for details).</listitem>
64 <listitem>Then click <guibutton>OK</guibutton> to save the selection and return to the VirtualBox Media Manager (see <xref linkend="serversideinstallation-virtual-vm-install-4"/> for details).</listitem>
65 <listitem>Click <guibutton>New</guibutton> to start the "Virtual Machine Wizard", then <guibutton>Next</guibutton> to continue and create a new virtual machine (VM) <xref linkend="serversideinstallation-virtual-vm-install-5"/>).</listitem>
66 <listitem>Create a new name for the VM and set the operating system type, then click <guibutton>Next</guibutton> (see <xref linkend="serversideinstallation-virtual-vm-install-6"/>).</listitem>
67 <listitem>Set the memory size (we chose the default value of 384Mb), then click <guibutton>Next</guibutton> (see <xref linkend="serversideinstallation-virtual-vm-install-7"/>).</listitem>
68 <listitem>Edit the Virtual Hard Disk configuration settings; click the radio boxes "Boot Hard Disk" and "Use existing hard disk" and ensure that the disk name "Evergreen1601_DebianLenny.vmdk" is selected. Click <guibutton>Finish</guibutton> to finish the setup (see <xref linkend="serversideinstallation-virtual-vm-install-8"/>).</listitem>
69 <listitem>Return to VirtualBox and see the summary of the VM just created. Click <guibutton>Start</guibutton> to boot the new VM (see <xref linkend="serversideinstallation-virtual-vm-install-9"/>).</listitem>
70 <listitem>See the start of the Linux boot sequence. Choose "Debian Gnu/Linux, kernel 2.6.26-2-686" from the startup menu and type <guibutton>Enter</guibutton> to start Linux and Evergreen (see <xref linkend="serversideinstallation-virtual-vm-install-11"/>). After some delay you should see the command line prompt: <literal>debian-lenny login:</literal> . Log in with username <literal>root</literal> and password <literal>evergreen</literal> to continue (see <xref linkend="serversideinstallation-virtual-vm-install-14"/>).</listitem>
72 <para>At this point, you have a running Linux / Evergreen system. If you need to modify the Evergren configuration in any way, first review the standard Evergreen installation instructions in <xref linkend="serversideinstallation-ubuntudebian"/>.</para>
75 <figure xml:id="serversideinstallation-virtual-vm-install-2">
76 <title>Starting <application>VirtualBox</application> for the first time</title>
79 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-2.png" scalefit="1" width="70%"/>
83 <figure xml:id="serversideinstallation-virtual-vm-install-3">
84 <title>Selecting the software image in "Virtual Media Manager"</title>
87 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-3.png" scalefit="1" width="70%"/>
91 <figure xml:id="serversideinstallation-virtual-vm-install-4">
92 <title>New software image added to <application>VirtualBox</application></title>
95 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-4.png" scalefit="1" width="75%"/>
99 <figure xml:id="serversideinstallation-virtual-vm-install-5">
100 <title>Creating a new VM</title>
103 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-5.png" scalefit="1" width="75%"/>
107 <figure xml:id="serversideinstallation-virtual-vm-install-6">
108 <title>Setting the VM name and OS type</title>
111 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-6.png" scalefit="1" width="75%"/>
115 <figure xml:id="serversideinstallation-virtual-vm-install-7">
116 <title>Setting memory size</title>
119 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-7.png" scalefit="1" width="75%"/>
123 <figure xml:id="serversideinstallation-virtual-vm-install-8">
124 <title>Setting up the Virtual Hard Disk</title>
127 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-8.png" scalefit="1" width="75%"/>
131 <figure xml:id="serversideinstallation-virtual-vm-install-9">
132 <title>Finishing definiton of new VM</title>
135 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-9.png" scalefit="1" width="75%"/>
139 <figure xml:id="serversideinstallation-virtual-vm-install-10">
140 <title>Summary of the new VM</title>
143 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-10.png" scalefit="1" width="75%"/>
147 <figure xml:id="serversideinstallation-virtual-vm-install-11">
148 <title>Selecting VM from startup menu</title>
151 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-11.png" scalefit="1" width="75%"/>
155 <figure xml:id="serversideinstallation-virtual-vm-install-12">
156 <title>Starting the new VM</title>
159 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-12.png" scalefit="1" width="75%"/>
163 <figure xml:id="serversideinstallation-virtual-vm-install-13">
164 <title>Starting the new VM (continued)</title>
167 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-13.png" scalefit="1" width="75%"/>
171 <figure xml:id="serversideinstallation-virtual-vm-install-14">
172 <title>Logging in to the new VM</title>
175 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-14.png" scalefit="1" width="75%"/>
181 <title>Installing <application>"VMware"</application> Virtualization Software</title>
182 <para>This section reviews the procedure for installing the <application>"VMware"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
185 <para>Download <application>VMware</application> from here: <ulink url="">link</ulink>, then run the executable file. Continue with the steps shown in the first ??? figures until the software has been successfully installed:</para>
187 <title>Starting the Windows installation file</title>
190 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
196 <para>After successfully installating <application>VMware</application>, start it for the first time and click <guibutton>"New"</guibutton> to begin defining a new virtual machine (VM). You must specify a name and operating system type for the new VM; in this example we decided to install <systemitem class="osname">Debian Lenny</systemitem>. You must set a reasonable memory size (we chose the default value of 384Mb). You must define a name and size for a virtual hard disk (we chose a name, and set the size to 4.0Gb). The next six figures illlustrate the steps in starting <application>VirtualBox</application> and defining the new VM:</para>
199 <para>At this point, <application>VirtualBox</application> has been installed, started for the first time, and a new virtual machine (VM) has been created. This VM is the environment in which the Linux / Evergreen installation will execute. Please continue in <xref linkend="serversideinstallation-virtual-install-linux-ev"/> with the installation of the Linux / Evergreen distribution.</para>
201 <primary>ZZZ-REVIEW</primary>
202 <secondary>ADD INFO ON VMWARE</secondary>
204 <caution>ADD INFO ON VMWARE</caution>
207 <title>Installing <application>"VirtualPC"</application> Virtualization Software</title>
208 <para>This section reviews the procedure for installing the <application>"VirtualPC"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
211 <para>Download <application>VMware</application> from here: <ulink url="">link</ulink>, then run the executable file. Continue with the steps shown in the first ??? figures until the software has been successfully installed:</para>
213 <title>Starting the Windows installation file</title>
216 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
222 <para>After successfully installating <application>VMware</application>, start it for the first time and click <guibutton>"New"</guibutton> to begin defining a new virtual machine (VM). You must specify a name and operating system type for the new VM; in this example we decided to install <systemitem class="osname">Debian Lenny</systemitem>. You must set a reasonable memory size (we chose the default value of 512Mb). You must define a name and size for a virtual hard disk (we chose a name, and set the size to 4.0Gb). The next six figures illlustrate the steps in starting <application>VirtualBox</application> and defining the new VM:</para>
225 <para>At this point, <application>VirtualBox</application> has been installed, started for the first time, and a new virtual machine (VM) has been created. This VM is the environment in which the Linux / Evergreen installation will execute. Please continue in <xref linkend="serversideinstallation-virtual-install-linux-ev"/> with the installation of the Linux / Evergreen distribution.</para>
227 <primary>ZZZ-REVIEW</primary>
228 <secondary>ADD INFO ON VIRTUALPC</secondary>
230 <caution>ADD INFO ON VIRTUALPC</caution>
233 <section xml:id="serversideinstallation-virtual-install-linux-ev">
234 <title>Installing Linux / Evergreen on Virtualization Software</title>
235 <para>After the virtualization software is installed and running and a new virtual machine (VM) has been created, there are two ways to continue with installing software in this virtualized environment:</para>
238 <para>Download a prebuilt software image file containing a working Linux / Evergreen system.</para>
241 <para>Manually install a Linux guest system, then manually install Evergreen on it.</para>
244 <para>See the following two sections for a review of each method.</para>
246 <title>Download a prebuilt software image file</title>
247 <para>Download a prebuilt software image that, when installed in <application>"VirtualBox"</application>, <application>"VMware"</application> or <application>"VirtualPC"</application>, will emulate a Linux guest system containing a running Evergreen distribution. The image is essentially a snapshot of a hard disk from a fully configured, functional Linux system with Evergreen already installed.</para>
248 <para>We recommend this approach if you wish to get Evergreen running quickly with minimal attention to configuration. After reviewing only a few configuration details you can have a working Evergreen system that integrates smoothly with the rest of your network. See <xref linkend="serversideinstall-virtual-versions"/> for a list of prebuilt software images that are currently available to download and execute:</para>
249 <table xml:id="serversideinstall-virtual-versions">
250 <title>Linux / Evergreen Virtual Images</title>
251 <tgroup align="left" cols="4" colsep="1" rowsep="1">
254 <entry>Linux Version</entry>
255 <entry>Evergreen Version</entry>
256 <entry>OpenSRF Version</entry>
257 <entry>VirtualBox Image</entry>
262 <entry>Debin lenny (5.0)</entry>
263 <entry>1.6.0.1</entry>
266 <ulink url="http://www.open-ils.org/~denials/Evergreen1601_DebianLenny.zip"> download </ulink>
272 <para>In the remainder of this section, we assume that the application <application>"VirtualBox"</application> has already been installed and started.</para>
274 <step>Download the prebuilt Linux/Evergreen system</step>
275 <step>Start the system</step>
276 <step>Configure the system</step>
280 <title>Manually install Linux and Evergreen</title>
281 <para>Manually install a Linux guest system, then manually install Evergreen.</para>
282 <para>We recommend this approach if you need to configure the Linux system in any special way, or if you require Evergreen to target some specific chores. This will require a detailed review of both Linux and Evergreen configuration details. You are essentially doing a normal Evergreen installation on a Linux system; it just happens that Linux is running within a virtualized environment. Refer to <xref linkend="serversideinstallation-ubuntudebian"/> for information on the normal Evergreen installation, then continue with this section.</para>
283 <para>In this example, we assume that the application <application>"VirtualBox"</application> has already been installed and started:</para>
285 <step>A standard <systemitem class="osname">Ubuntu</systemitem> distribution, the so-called "Guest" operating system, is installed in the running <application>"VirtualBox"</application> environment.</step>
286 <step>The <systemitem class="osname">Ubuntu</systemitem> distribution is started ("booted") just as if it existed on a real, physical system.</step>
287 <step>Evergreen is installed on the running <systemitem class="osname">Ubuntu</systemitem> distribution, just as if installing on a standalone system.</step>
289 <para>At this point, the <systemitem class="osname">Windows</systemitem> system is hosting an <systemitem class="osname">Ubuntu</systemitem> system, which itself is hosting the Evergreen distribution. So far as Evergreen is concerned, it is happily executing in a standard <systemitem class="osname">Ubuntu</systemitem> environment and behaves exactly as if it were executing on a standalone <systemitem class="osname">Ubuntu</systemitem> system.</para>
290 <para>Of course, there are limitations to how well a virtualized <systemitem class="osname">Ubuntu</systemitem> system emulates a real one. The <application>"VirtualBox"</application> application itself consumes memory, and it contributes to the CPU load on the <systemitem class="osname">Windows</systemitem> host system. The emulated <systemitem class="osname">Ubuntu</systemitem> system will have less available memory and will execute more slowly than if it were a standalone system, therefore Evergreen itself will inherit some limitations from this overall environment.</para>
291 <para>However, this technique of using a <systemitem class="osname">Windows</systemitem> host to emulate a Linux environment is a practical way to install and run an Evergreen system even if it isn't possible to dedicate a real machine solely as a Linux host for testing. This is a reasonable architecture for simple experiments, or as a proof of concept, or as a conference-room pilot.</para>