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>
12 <section xml:id="serversideinstallation-virtual-vbox-install">
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>
15 <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>
17 <title>Starting the Windows installation file</title>
20 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="70%"/>
25 <title>Welcome to <application>VirtualBox</application> setup wizard</title>
28 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-2.png" scalefit="1" width="70%"/>
33 <title>Accept the license agreement</title>
36 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-3.png" scalefit="1" width="70%"/>
41 <title>Waiting for files to be copied</title>
44 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-4.png" scalefit="1" width="70%"/>
49 <title>Installation is complete</title>
52 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-5.png" scalefit="1" width="70%"/>
58 <title>Installing <application>"VMware"</application> Virtualization Software</title>
59 <para>This section reviews the procedure for installing the <application>"VMware"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
62 <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>
64 <title>Starting the Windows installation file</title>
67 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
73 <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>
76 <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>
78 <primary>ZZZ-REVIEW</primary>
79 <secondary>ADD INFO ON VMWARE</secondary>
81 <caution>ADD INFO ON VMWARE</caution>
84 <title>Installing <application>"VirtualPC"</application> Virtualization Software</title>
85 <para>This section reviews the procedure for installing the <application>"VirtualPC"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
88 <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>
90 <title>Starting the Windows installation file</title>
93 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
99 <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>
102 <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>
104 <primary>ZZZ-REVIEW</primary>
105 <secondary>ADD INFO ON VIRTUALPC</secondary>
107 <caution>ADD INFO ON VIRTUALPC</caution>
110 <section xml:id="serversideinstallation-virtual-install-linux-ev">
111 <title>Installing Linux / Evergreen on Virtualization Software</title>
112 <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>
115 <para>Download a prebuilt software image file containing a working Linux / Evergreen system (see <xref linkend="serversideinstall-virtual-prebuilt"/> for details)</para>
118 <para>Manually install a Linux guest system, then manually install Evergreen on it (see <xref linkend="serversideinstall-virtual-manual"/> for details)</para>
121 <para>See the following two sections for a review of each method.</para>
122 <section xml:id="serversideinstall-virtual-prebuilt">
123 <title>Download and install a prebuilt software image</title>
124 <para>You can 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>
125 <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>
126 <table xml:id="serversideinstall-virtual-versions">
127 <title>Linux / Evergreen Virtual Images</title>
128 <tgroup align="left" cols="4" colsep="1" rowsep="1">
131 <entry>Linux Version</entry>
132 <entry>Evergreen Version</entry>
133 <entry>OpenSRF Version</entry>
134 <entry>VirtualBox Image</entry>
139 <entry>Debin lenny (5.0)</entry>
140 <entry>1.6.0.1</entry>
143 <ulink url="http://www.open-ils.org/~denials/Evergreen1601_DebianLenny.zip"> download </ulink>
150 <primary>ZZZ-REVIEW</primary>
151 <secondary>ADD LIST OF OTHER PREBUILT IMAGES</secondary>
153 <caution>ADD LIST OF OTHER PREBUILT IMAGES</caution>
154 <para>After successfully installing <application>VirtualBox</application> (see <xref linkend="serversideinstallation-virtual-vbox-install"/> for details), continue with the following procedure. Refer to the accompanying figures for further information:</para>
156 <step>Start VirtualBox 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.</step>
157 <step>After selecting the file, click <guibutton>Open</guibutton> to import it (see <xref linkend="serversideinstallation-virtual-vm-install-3"/> for details).</step>
158 <step>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).</step>
159 <step>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"/>).</step>
160 <step>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"/>).</step>
161 <step>Set the memory size (we chose the default value of 384Mb), then click <guibutton>Next</guibutton> (see <xref linkend="serversideinstallation-virtual-vm-install-7"/>).</step>
162 <step>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"/>).</step>
163 <step>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"/>).</step>
164 <step>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"/>).</step>
166 <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>
167 <figure xml:id="serversideinstallation-virtual-vm-install-2">
168 <title>Starting <application>VirtualBox</application> for the first time</title>
171 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-2.png" scalefit="1" width="70%"/>
175 <figure xml:id="serversideinstallation-virtual-vm-install-3">
176 <title>Selecting the software image in "Virtual Media Manager"</title>
179 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-3.png" scalefit="1" width="70%"/>
183 <figure xml:id="serversideinstallation-virtual-vm-install-4">
184 <title>New software image added to <application>VirtualBox</application></title>
187 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-4.png" scalefit="1" width="75%"/>
191 <figure xml:id="serversideinstallation-virtual-vm-install-5">
192 <title>Creating a new VM</title>
195 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-5.png" scalefit="1" width="75%"/>
199 <figure xml:id="serversideinstallation-virtual-vm-install-6">
200 <title>Setting the VM name and OS type</title>
203 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-6.png" scalefit="1" width="75%"/>
207 <figure xml:id="serversideinstallation-virtual-vm-install-7">
208 <title>Setting memory size</title>
211 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-7.png" scalefit="1" width="75%"/>
215 <figure xml:id="serversideinstallation-virtual-vm-install-8">
216 <title>Setting up the Virtual Hard Disk</title>
219 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-8.png" scalefit="1" width="75%"/>
223 <figure xml:id="serversideinstallation-virtual-vm-install-9">
224 <title>Finishing definiton of new VM</title>
227 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-9.png" scalefit="1" width="75%"/>
231 <figure xml:id="serversideinstallation-virtual-vm-install-10">
232 <title>Summary of the new VM</title>
235 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-10.png" scalefit="1" width="75%"/>
239 <figure xml:id="serversideinstallation-virtual-vm-install-11">
240 <title>Selecting VM from startup menu</title>
243 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-11.png" scalefit="1" width="75%"/>
247 <figure xml:id="serversideinstallation-virtual-vm-install-12">
248 <title>Starting the new VM</title>
251 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-12.png" scalefit="1" width="75%"/>
255 <figure xml:id="serversideinstallation-virtual-vm-install-13">
256 <title>Starting the new VM (continued)</title>
259 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-13.png" scalefit="1" width="75%"/>
263 <figure xml:id="serversideinstallation-virtual-vm-install-14">
264 <title>Logging in to the new VM</title>
267 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-14.png" scalefit="1" width="75%"/>
272 <section xml:id="serversideinstall-virtual-manual">
273 <title>Manually install Linux and Evergreen</title>
274 <para>Manually install a Linux guest system, then manually install Evergreen.</para>
275 <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>
276 <para>In this example, we assume that the application <application>"VirtualBox"</application> has already been installed and started:</para>
279 <para>A standard <systemitem class="osname">Ubuntu</systemitem> distribution, the so-called "Guest" operating system, is installed in the running <application>"VirtualBox"</application> environment.</para>
281 <primary>ZZZ-REVIEW</primary>
282 <secondary>ADD DETAILS ON MANUAL INSTALLATION OF LINUX</secondary>
284 <caution>ADD DETAILS ON MANUAL INSTALLATION OF LINUX</caution>
287 <para>The <systemitem class="osname">Ubuntu</systemitem> distribution is started ("booted") just as if it existed on a real, physical system.</para>
289 <primary>ZZZ-REVIEW</primary>
290 <secondary>ADD DETAILS ON MANUAL INSTALLATION OF VM LINUX BOOT SEQUENCE</secondary>
292 <caution>ADD DETAILS ON MANUAL INSTALLATION OF VM LINUX BOOT SEQUENCE</caution>
295 <para>Evergreen is installed on the running <systemitem class="osname">Ubuntu</systemitem> distribution, just as if installing on a standalone system.</para>
297 <primary>ZZZ-REVIEW</primary>
298 <secondary>ADD DETAILS ON MANUAL INSTALLATION OF EVERGREEN</secondary>
300 <caution>ADD DETAILS ON MANUAL INSTALLATION OF EVERGREEN</caution>
303 <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>
304 <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>
305 <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>