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 (with some 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, this 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>The Linux environment is controlled by one of several popular virtualization software applications 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>.</para>
17 <para>Download <application>VirtualBox</application> from here: <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 first five figures until the software has been successfully installed:</para>
19 <title>Starting the Windows installation file</title>
22 <imagedata fileref="../media/serversideinstallation-virtual-1.png" scalefit="1" width="70%"/>
27 <title>Welcome to <application>VirtualBox</application> setup wizard</title>
30 <imagedata fileref="../media/serversideinstallation-virtual-2.png" scalefit="1" width="70%"/>
35 <title>Accept the license agreement</title>
38 <imagedata fileref="../media/serversideinstallation-virtual-3.png" scalefit="1" width="70%"/>
43 <title>Waiting for files to be copied</title>
46 <imagedata fileref="../media/serversideinstallation-virtual-6.png" scalefit="1" width="70%"/>
51 <title>Installation is complete</title>
54 <imagedata fileref="../media/serversideinstallation-virtual-7.png" scalefit="1" width="70%"/>
60 <para>After successfully installating <application>VirtualBox</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>
62 <title>Starting <application>VirtualBox</application> for the first time</title>
65 <imagedata fileref="../media/serversideinstallation-virtual-8.png" scalefit="1" width="60%"/>
70 <title>Setting VM name and OS type</title>
73 <imagedata fileref="../media/serversideinstallation-virtual-10.png" scalefit="1" width="70%"/>
78 <title>Setting memory size</title>
81 <imagedata fileref="../media/serversideinstallation-virtual-11.png" scalefit="1" width="70%"/>
86 <title>Setting disk type</title>
89 <imagedata fileref="../media/serversideinstallation-virtual-12.png" scalefit="1" width="70%"/>
94 <title>Setting disk size</title>
97 <imagedata fileref="../media/serversideinstallation-virtual-15.png" scalefit="1" width="70%"/>
102 <title>Finished defining the VM</title>
105 <imagedata fileref="../media/serversideinstallation-virtual-18.png" scalefit="1" width="70%"/>
111 <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>
114 <title>Installing <application>"VMware"</application> Virtualization Software</title>
115 <para>This section reviews the procedure for installing the <application>"VMware"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
118 <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>
120 <title>Starting the Windows installation file</title>
123 <imagedata fileref="../media/serversideinstallation-virtual-1.png" scalefit="1" width="70%"/>
129 <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>
132 <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>
134 <primary>ZZZ-REVIEW</primary>
135 <secondary>ADD INFO ON VMWARE</secondary>
137 <caution>ADD INFO ON VMWARE</caution>
140 <title>Installing <application>"VirtualPC"</application> Virtualization Software</title>
141 <para>This section reviews the procedure for installing the <application>"VirtualPC"</application> application on <systemitem class="osname">WindowsXP Professional (SP2)</systemitem>.</para>
144 <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>
146 <title>Starting the Windows installation file</title>
149 <imagedata fileref="../media/serversideinstallation-virtual-1.png" scalefit="1" width="70%"/>
155 <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>
158 <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>
160 <primary>ZZZ-REVIEW</primary>
161 <secondary>ADD INFO ON VIRTUALPC</secondary>
163 <caution>ADD INFO ON VIRTUALPC</caution>
166 <section xml:id="serversideinstallation-virtual-install-linux-ev">
167 <title>Installing Linux / Evergreen on Virtualization Software</title>
168 <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>
171 <para>Download a prebuilt software image file containing a working Linux / Evergreen system.</para>
174 <para>Manually install a Linux guest system, then manually install Evergreen on it.</para>
177 <para>See the following two sections for a review of each method.</para>
179 <title>Download a prebuilt software image file</title>
180 <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>
181 <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>
182 <table xml:id="serversideinstall-virtual-versions">
183 <title>Linux / Evergreen Virtual Images</title>
184 <tgroup align="left" cols="4" colsep="1" rowsep="1">
187 <entry>Linux Version</entry>
188 <entry>Evergreen Version</entry>
189 <entry>OpenSRF Version</entry>
190 <entry>VirtualBox Image</entry>
195 <entry>Debin lenny (5.0)</entry>
196 <entry>1.6.0.1</entry>
199 <ulink url="http://www.open-ils.org/~denials/Evergreen1601_DebianLenny.zip"> download </ulink>
205 <para>In the remainder of this section, we assume that the application <application>"VirtualBox"</application> has already been installed and started.</para>
207 <step>Download the prebuilt Linux/Evergreen system</step>
208 <step>Start the system</step>
209 <step>Configure the system</step>
213 <title>Manually install Linux and Evergreen</title>
214 <para>Manually install a Linux guest system, then manually install Evergreen.</para>
215 <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>
216 <para>In this example, we assume that the application <application>"VirtualBox"</application> has already been installed and started:</para>
218 <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>
219 <step>The <systemitem class="osname">Ubuntu</systemitem> distribution is started ("booted") just as if it existed on a real, physical system.</step>
220 <step>Evergreen is installed on the running <systemitem class="osname">Ubuntu</systemitem> distribution, just as if installing on a standalone system.</step>
222 <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>
223 <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>
224 <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>