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 <systemitem class="osname">Linux</systemitem> 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 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 <systemitem class="osname">Linux</systemitem> 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 <systemitem class="osname">Linux</systemitem> 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 <systemitem class="osname">Linux</systemitem> host for Evergreen. This architecture is not recommended for large scale systems since there are performance limitations to running Evergreen in a virtualized environment. However, it is a reasonable architecture for smaller experimental systems, as a proof of concept, or as a conference-room pilot.</para>
9 <title>Installing Virtualization Software</title>
10 <para>As described above, Evergreen can be installed on top of an emulated <systemitem class="osname">Linux</systemitem> environment. The <systemitem class="osname">Linux</systemitem> 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 that show installing popular virtualization applications on a <systemitem class="osname">Windows</systemitem> host system. Following this section are further descriptions of installing <systemitem class="osname">Linux</systemitem> and Evergreen systems using that virtualization software.</para>
11 <section xml:id="serversideinstallation-virtual-vbox-install">
12 <title>Installing <application>"VirtualBox"</application> Virtualization Software</title>
13 <para>This section reviews installation of the <application>"VirtualBox"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>. 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>
15 <title>Starting the Windows installation file</title>
18 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="70%"/>
23 <title>Welcome to <application>VirtualBox</application> setup wizard</title>
26 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-2.png" scalefit="1" width="70%"/>
31 <title>Accept the license agreement</title>
34 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-3.png" scalefit="1" width="70%"/>
39 <title>Waiting for files to be copied</title>
42 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-4.png" scalefit="1" width="70%"/>
47 <title>Installation is complete</title>
50 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-5.png" scalefit="1" width="70%"/>
56 <title>Installing <application>"VMware"</application> Virtualization Software</title>
57 <para>This section reviews installation of the <application>"VMware"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>. Download <application>VMware</application> from their official website: <ulink url="">link</ulink>, then run the executable file. Continue with the steps shown in the figures until the software has been successfully installed:</para>
59 <title>Starting the Windows installation file</title>
62 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
67 <primary>ZZZ-REVIEW</primary>
68 <secondary>ADD INFO ON VMWARE</secondary>
70 <caution>ADD INFO ON VMWARE</caution>
71 <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 <systemitem class="osname">Linux</systemitem> / Evergreen installation will execute. Please continue in <xref linkend="serversideinstallation-virtual-install-linux-ev"/> with the installation of the <systemitem class="osname">Linux</systemitem> / Evergreen distribution.</para>
74 <title>Installing <application>"VirtualPC"</application> Virtualization Software</title>
75 <para>This section reviews installation of the <application>"VirtualPC"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>. Download <application>VMware</application> from their official website: <ulink url="">link</ulink>, then run the executable file. Continue with the steps shown in the figures until the software has been successfully installed:</para>
77 <title>Starting the Windows installation file</title>
80 <imagedata fileref="../media/serversideinstallation-virtual-vbox-install-1.png" scalefit="1" width="75%"/>
85 <primary>ZZZ-REVIEW</primary>
86 <secondary>ADD INFO ON VIRTUALPC</secondary>
88 <caution>ADD INFO ON VIRTUALPC</caution>
89 <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 <systemitem class="osname">Linux</systemitem> / Evergreen installation will execute. Please continue in <xref linkend="serversideinstallation-virtual-install-linux-ev"/> with the installation of the <systemitem class="osname">Linux</systemitem> / Evergreen distribution.</para>
92 <section xml:id="serversideinstallation-virtual-install-linux-ev">
93 <title>Installing <systemitem class="osname">Linux</systemitem> / Evergreen on Virtualization Software</title>
94 <para>After the virtualization software is installed and running, there are two ways to continue with installing <systemitem class="osname">Linux</systemitem> and Evergreen software in the new virtualized environment:</para>
97 <para>Download and install a prebuilt software image that contains a working <systemitem class="osname">Linux</systemitem> / Evergreen system (see <xref linkend="serversideinstall-virtual-prebuilt"/> for details)</para>
100 <para>Manually install a <systemitem class="osname">Linux</systemitem> guest system, then manually install Evergreen on it (see <xref linkend="serversideinstall-virtual-manual"/> for details)</para>
103 <para>We review each method in the following sections.</para>
104 <section xml:id="serversideinstall-virtual-prebuilt">
105 <title>Download and install a prebuilt software image</title>
106 <para>You can download a prebuilt software image that, when installed with your virtualization software, emulates a <systemitem class="osname">Linux</systemitem> guest system containing a running Evergreen distribution. The image is essentially a snapshot of a hard disk from a fully configured, functional <systemitem class="osname">Linux</systemitem> system with Evergreen already installed.</para>
107 <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 install</para>
108 <note>DISCLAIMER: The following virtual images have been contributed by members of the Evergreen community for the purposes of testing, evaluation, training, and development.</note>
109 <table xml:id="serversideinstall-virtual-versions">
110 <title>Linux / Evergreen Virtual Images</title>
111 <tgroup align="left" cols="4" colsep="1" rowsep="1">
114 <entry>Linux Version</entry>
115 <entry>Evergreen Version</entry>
117 <entry>Comments</entry>
122 <entry>Debian lenny (5.0)</entry>
123 <entry>1.6.0.1</entry>
125 <ulink url="http://www.open-ils.org/~denials/Evergreen1601_DebianLenny.zip"> download </ulink>
127 <entry>VirtualBox image</entry>
130 <entry>Ubuntu karmic koala (9.10)</entry>
131 <entry>1.6.0.0</entry>
133 <ulink url="http://www.open-ils.org/~denials/Evergreen-1600-Karmic.zip"> download </ulink>
138 <entry>Ubuntu hardy heron (8.04)</entry>
139 <entry>1.2.3.1</entry>
141 <ulink url="http://open-ils.org/dokuwiki/doku.php?id=server:1.2:ubuntu804:readme"> download </ulink>
143 <entry>VirtualBox image; no preloaded data</entry>
146 <entry>Debian etch (4.0)</entry>
147 <entry>1.2.2.3</entry>
149 <ulink url="http://open-ils.org/dokuwiki/doku.php?id=vmware:debian"> download </ulink>
151 <entry>VMware image; preloaded with 13,000 Gutenberg records</entry>
154 <entry>Ubuntu gutsy gibbon (7.10)</entry>
155 <entry>1.2.1.4</entry>
157 <ulink url="http://www.open-ils.org/downloads/vmware/Evergreen_1.2.1.4_on_Ubuntu_7.10.zip"> download </ulink>
159 <entry>VMware image</entry>
162 <entry>Gentoo</entry>
165 <ulink url="http://www.open-ils.org/~denials/Evergreen_1.1.5_Gentoo_x86.zip"> download </ulink>
167 <entry>VMware image</entry>
173 <primary>ZZZ-REVIEW</primary>
174 <secondary>ADD LIST OF OTHER PREBUILT IMAGES</secondary>
176 <caution>ADD LIST OF OTHER PREBUILT IMAGES</caution>
177 <para>For the following example, we have already installed the <application>VirtualBox</application> application (see <xref linkend="serversideinstallation-virtual-vbox-install"/> for details). Continue with the steps as shown; refer to the accompanying figures for further information:</para>
179 <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>
180 <step>After selecting the file, click <guibutton>Open</guibutton> to import it (see <xref linkend="serversideinstallation-virtual-vm-install-3"/> for details).</step>
181 <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>
182 <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>
183 <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>
184 <step>Set the memory size (we chose the default value of 512Mb), then click <guibutton>Next</guibutton> (see <xref linkend="serversideinstallation-virtual-vm-install-7"/>).</step>
185 <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>
187 <para>Install the <application>VirtualBox Guest Additions</application> (really a required upgrade to VirtualBox)</para>
189 <primary>ZZZ-REVIEW</primary>
190 <secondary>ADD INFO ON INSTALLING VIRTUALBOX GUEST ADDITIONS</secondary>
192 <caution>ADD INFO ON INSTALLING VIRTUALBOX GUEST ADDITIONS</caution>
194 <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>
195 <step>See the start of the <systemitem class="osname">Linux</systemitem> boot sequence. Choose "Debian Gnu/Linux, kernel 2.6.26-2-686" from the startup menu and type <guibutton>Enter</guibutton> to start <systemitem class="osname">Linux</systemitem> 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>
197 <para>At this point you have a running <systemitem class="osname">Linux</systemitem> / Evergreen system. If you need to modify the Evergreen configuration in any way, review the sectons of the standard Evergreen installation instructions in <xref linkend="serversideinstallation-ubuntudebian"/> that deal with configuration.</para>
198 <figure xml:id="serversideinstallation-virtual-vm-install-2">
199 <title>Starting <application>VirtualBox</application> for the first time</title>
202 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-2.png" scalefit="1" width="70%"/>
206 <figure xml:id="serversideinstallation-virtual-vm-install-3">
207 <title>Selecting the software image in Virtual Media Manager</title>
210 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-3.png" scalefit="1" width="70%"/>
214 <figure xml:id="serversideinstallation-virtual-vm-install-4">
215 <title>New software image added to <application>VirtualBox</application></title>
218 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-4.png" scalefit="1" width="75%"/>
222 <figure xml:id="serversideinstallation-virtual-vm-install-5">
223 <title>Creating a new VM</title>
224 <mediaobject><imageobject><imagedata fileref="../media/serversideinstallation-virtual-vm-install-5.png" scalefit="1" width="75%"/></imageobject>
227 <figure xml:id="serversideinstallation-virtual-vm-install-6">
228 <title>Setting the VM name and OS type</title>
231 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-6.png" scalefit="1" width="75%"/>
235 <figure xml:id="serversideinstallation-virtual-vm-install-7">
236 <title>Setting memory size</title>
239 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-7.png" scalefit="1" width="75%"/>
243 <figure xml:id="serversideinstallation-virtual-vm-install-8">
244 <title>Setting up the Virtual Hard Disk</title>
247 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-8.png" scalefit="1" width="75%"/>
251 <figure xml:id="serversideinstallation-virtual-vm-install-9">
252 <title>Finishing definition of new VM</title>
255 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-9.png" scalefit="1" width="75%"/>
259 <figure xml:id="serversideinstallation-virtual-vm-install-10">
260 <title>Summary of the new VM</title>
263 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-10.png" scalefit="1" width="75%"/>
267 <figure xml:id="serversideinstallation-virtual-vm-install-11">
268 <title>Selecting VM from startup menu</title>
271 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-11.png" scalefit="1" width="75%"/>
275 <figure xml:id="serversideinstallation-virtual-vm-install-12">
276 <title>Starting the new VM</title>
279 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-12.png" scalefit="1" width="75%"/>
283 <figure xml:id="serversideinstallation-virtual-vm-install-13">
284 <title>Starting the new VM (continued)</title>
287 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-13.png" scalefit="1" width="75%"/>
291 <figure xml:id="serversideinstallation-virtual-vm-install-14">
292 <title>Logging into the new VM</title>
295 <imagedata fileref="../media/serversideinstallation-virtual-vm-install-14.png" scalefit="1" width="75%"/>
300 <section xml:id="serversideinstall-virtual-manual">
301 <title>Manually install <systemitem class="osname">Linux</systemitem> and Evergreen</title>
302 <para>You can manually install a <systemitem class="osname">Linux</systemitem> guest system and Evergreen on your virtualization software.</para>
303 <para>We recommend this approach if you need to specially configure either the <systemitem class="osname">Linux</systemitem> system or Evergreen itself. This will require a detailed review of both <systemitem class="osname">Linux</systemitem> and Evergreen configuration details. You are essentially doing a normal Evergreen installation on a <systemitem class="osname">Linux</systemitem> system; it just happens that <systemitem class="osname">Linux</systemitem> 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>
304 <para>For the following example, we have already installed the <application>VirtualBox</application> application (see <xref linkend="serversideinstallation-virtual-vbox-install"/> for details). Continue with the steps as shown; refer to the accompanying figures for further information:</para>
307 <para>Download and install a standard <systemitem class="osname">Ubuntu</systemitem> distribution in <application>"VirtualBox"</application>.</para>
308 <para>You can download a software image of a prebuilt <systemitem class="osname">Ubuntu</systemitem> distribution and immediately import it into <application>"VirtualBox"</application> , or you can download and install
311 <primary>ZZZ-REVIEW</primary>
312 <secondary>ADD DETAILS ON MANUAL INSTALLATION OF LINUX</secondary>
314 <caution>ADD DETAILS ON MANUAL INSTALLATION OF LINUX</caution>
317 <para>Start (boot) <systemitem class="osname">Ubuntu</systemitem>.</para>
319 <primary>ZZZ-REVIEW</primary>
320 <secondary>ADD DETAILS ON VM LINUX BOOT SEQUENCE</secondary>
322 <caution>ADD DETAILS ON VM LINUX BOOT SEQUENCE</caution>
325 <para>Install Evergreen on <systemitem class="osname">Ubuntu</systemitem>.</para>
327 <primary>ZZZ-REVIEW</primary>
328 <secondary>ADD DETAILS ON MANUAL INSTALLATION OF EVERGREEN</secondary>
330 <caution>ADD DETAILS ON MANUAL INSTALLATION OF EVERGREEN</caution>
333 <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>
334 <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>
335 <para>However, this technique of using a <systemitem class="osname">Windows</systemitem> host to emulate a <systemitem class="osname">Linux</systemitem> 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 <systemitem class="osname">Linux</systemitem> host for testing. This is a reasonable architecture for simple experiments, or as a proof of concept, or as a conference-room pilot.</para>