<docbook><section><title>VirtInstallationEC2</title><title> Virtuoso Universal Server AMI for Amazon EC2 Instantiation Guide</title> Virtuoso Universal Server AMI for Amazon EC2 Instantiation Guide
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Introduction</bridgehead>
<para>The Virtuoso Universal Server AMI for Amazon EC2 comprises a cloud-based bundle of the following <ulink url="OpenLink">OpenLink</ulink> and third-party products and services:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://virtuoso.openlinksw.com/">Virtuoso Universal Server</ulink> </listitem>
<listitem><ulink url="VirtSponger">Virtuoso Sponger</ulink> Middleware &amp; Cartridges (extensible RDFizer covering 30+ different data formats) </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/">OpenLink Data Spaces (ODS)</ulink> </listitem>
<listitem><ulink url="http://oat.openlinksw.com/">OpenLink Ajax Toolkit (OAT)</ulink> </listitem>
<listitem>3rd party PHP applications (<ulink url="http://ods.openlinksw.com/wiki/ODS/OdsIntegrationWordPress">WordPress</ulink>, <ulink url="http://ods.openlinksw.com/wiki/ODS/OdsIntegrationMediaWiki">MediaWiki</ulink>, <ulink url="http://ods.openlinksw.com/wiki/ODS/OdsIntegrationphpBB">phpBB</ulink>, and <ulink url="http://ods.openlinksw.com/wiki/ODS/OdsIntegrationDrupal">Drupal</ulink>)</listitem>
</itemizedlist><para>This offering complements our <ulink url="VirtEBSBackedBYOLAMI">EBS-backed BYOL (&quot;Bring Your Own License&quot;) Virtuoso EC2 AMI</ulink>.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Prerequisites</bridgehead>
<orderedlist spacing="compact"><listitem>Register for an <ulink url="https://aws-portal.amazon.com/gp/aws/developer/registration/index.html/103-7399647-0537426?">Amazon Web Services</ulink> (AWS) account.
</listitem>
<listitem>New AWS accounts have been automatically signed up for the <ulink url="http://www.amazon.com/b/ref=sc_fe_l_2?ie=UTF8&amp;node=201590011&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon S3 and EC2 Web Service</ulink> for several years.
 If you created your AWS account a long time ago, you may now need to manually sign up for these services.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Virtuoso AMI Setup &amp; Instantiation</bridgehead>
<para>Follow the steps below to set up and launch your Virtuoso EC2 AMI instance.</para>
<orderedlist spacing="compact"><listitem>Subscribe to the <ulink url="https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=6CB89F71">Virtuoso Universal Server (Cloud Edition) Amazon DevPay</ulink> service to activate the Virtuoso AMI on your account.
<figure><graphic fileref="VirtInstallationEC2/ec2-pay-1.png" /></figure> </listitem>
<listitem>After successful subscription the DevPay service redirects users back to this page to continue the AMI instantiation as detailed in step 4.
<figure><graphic fileref="VirtInstallationEC2/EC2_AMI_Act_Key.png" /></figure> </listitem>
<listitem><emphasis><emphasis>Important:</emphasis></emphasis> Note that the <emphasis>activation key</emphasis> is only valid for 60 minutes, and is included as part of the redirect URL for AWS to use when instantiating the AMI.
 If you browser session is shut down for any reason, or if more than 60 minutes elapse before you take the next step, you will need to generate a new activation key, as follows -- <orderedlist spacing="compact"><listitem>A new activation key can be generated through the Application Activation tab of the <ulink url="https://aws-portal.amazon.com/gp/aws/user/account/index.html?ie=UTF8&amp;productCode=82772019">Virtuoso Universal Server (Cloud Edition) AMI Application</ulink> page.
<figure><graphic fileref="VirtInstallationEC2/EC2_AMI_Act_Key_Gen.png" /></figure> </listitem>
<listitem>Select <emphasis>Generate Key</emphasis>, followed by <emphasis>Go to Application</emphasis>, to get a new key.
 You will once again be redirected to this page (with the product code and new activation key passed in the URL), and can then continue the instantiation as detailed in step 4.
<figure><graphic fileref="VirtInstallationEC2/EC2_AMI_Act_Key_Regen.png" /></figure> </listitem>
</orderedlist></listitem>
<listitem>Open the <ulink url="https://console.aws.amazon.com/ec2/home">AWS Management Console</ulink>.
From here, you can see a dashboard showing any current instances you may have running and a menu of various areas to control (instances, AMIs, etc.).
<figure><graphic fileref="VirtInstallationEC2/ec2-console-2.png" /></figure> </listitem>
<listitem>You will need to create a new security group (firewall configuration) for the Virtuoso AMI.
<orderedlist spacing="compact"><listitem>Click on <emphasis>Security Groups</emphasis> at the bottom of the left menu.
 By default, there is one group called <emphasis>default</emphasis> visible.
</listitem>
<listitem>Create a new security group (here called <emphasis>openlink</emphasis>) and, add the port 22/tcp (SSH) to enable ssh access to the AMI, also allow connections to port 80/tcp (HTTP) and port 8890/tcp (used by Virtuoso).
 Please refer to the Amazon EC2 <ulink url="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html">Authorizing Network Access to Your Instances</ulink> document for further details.
<figure><graphic fileref="VirtInstallationEC2/ec2-config-security-group-2.png" /></figure> </listitem>
<listitem>Save it and return to the dashboard.
</listitem>
</orderedlist></listitem>
<listitem>Now we need to create an instance of the image.
<orderedlist spacing="compact"><listitem>From the Console, select <emphasis>Launch Instances</emphasis>.
</listitem>
<listitem>You need to choose an AMI.
 In the <emphasis>Community AMIs</emphasis> tab, type <emphasis>virtuoso</emphasis> to see the relevant images published by <ulink url="OpenLink">OpenLink</ulink> — <itemizedlist mark="bullet" spacing="compact"><listitem>Virtuoso Release 7 AMIs 
<table><title /><tgroup><thead /><tbody>
<row />
<row><entry>64-bit </entry><entry>   ami-2c9de345   </entry><entry>   openlink/virtuoso-uim-unisvr-psnl/7.0/x86_64-centos-5.9.manifest.xml   </entry></row>
</tbody></tgroup></table>
  </listitem>
<listitem>Virtuoso Release 6 AMIs 
<table><title /><tgroup><thead /><tbody>
<row />
<row><entry>64-bit </entry><entry>   ami-23d0334a   </entry><entry>   openlink/virtuoso-uim-unisvr-psnl/6.0/x86_64-centos-5.3.manifest.xml   </entry></row>
<row><entry>32-bit </entry><entry>   ami-2fd03346   </entry><entry>   openlink/virtuoso-uim-unisvr-psnl/6.0/i386-centos-5.3.manifest.xml   </entry></row>
</tbody></tgroup></table>
  </listitem>
<listitem>Virtuoso Release 5 AMIs 
<table><title /><tgroup><thead /><tbody>
<row />
<row><entry>64-bit </entry><entry>   ami-59628630   </entry><entry>   openlink/virtuoso-uim-unisvr-psnl/5.0/x86_64-fedora-linux-9.manifest.xml   </entry></row>
<row><entry>32-bit </entry><entry>   ami-c46084ad   </entry><entry>   openlink/virtuoso-uim-unisvr-psnl/5.0/i686-fedora-linux-9.manifest.xml   </entry></row>
</tbody></tgroup></table>
  </listitem>
</itemizedlist></listitem>
<listitem>Choose whichever image you prefer, 64-bit (<emphasis>x86_64</emphasis>) or 32-bit (<emphasis>i686</emphasis>) and press <emphasis>Select</emphasis>.
<figure><graphic fileref="VirtInstallationEC2/ec2-select-ami-1.png" /></figure> </listitem>
<listitem>Enter the <emphasis>Number of Instances</emphasis> (normally 1).
</listitem>
<listitem>Select the <emphasis>Instance Type</emphasis>.
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis><emphasis>Note:</emphasis> The Virtuoso Release 7 AMI is available in 64bit form only, thus an m1.large instance type or larger must be chosen.</emphasis> </listitem>
<listitem><emphasis><emphasis>Note:</emphasis> The optimal Instance Type will depend on the use for this instance, including the data to be hosted.
 If you intent to host your own <ulink url="VirtEC2AMIDBpediaInstall">DBpedia</ulink>, <ulink url="VirtEC2AMINeuroCommonsInstall">Neurocommons</ulink>, <ulink url="VirtEC2AMIBio2rdfInstall">Bio2RDF</ulink> instance, see the instructions relevant to the data set before proceeding!</emphasis> </listitem>
</itemizedlist></listitem>
<listitem>Choose a key-pair or create a new one for the purpose.
 This will be used as an SSH key to access your instance later.
</listitem>
<listitem>Select the <emphasis>openlink</emphasis> security group created earlier.
</listitem>
</orderedlist></listitem>
<listitem>Click the <emphasis>Launch</emphasis> button.
<figure><graphic fileref="VirtInstallationEC2/ec2-instance-creation-security-group.png" /></figure> </listitem>
<listitem>You will see a status page saying your instances are in the process of launching, and the next time you visit <ulink url="https://console.aws.amazon.com/ec2/home">the dashboard</ulink> there will be an appropriate instance listed for you to simply Stop, Start, etc.
<figure><graphic fileref="VirtInstallationEC2/ec2-instance-running-1.png" /></figure></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Post-Installation Tasks</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Update the OS and Virtuoso components on the AMI</bridgehead>
<para><ulink url="OpenLink">OpenLink</ulink> Virtuoso Cloud Edition is based on Fedora and <ulink url="CentOS">CentOS</ulink> Core Linux images which you should update before first using your Virtuoso instance, and regularly thereafter.
This can be done as follows:</para>
<orderedlist spacing="compact"><listitem>Locate the key created above and run the command — <programlisting>chmod 600 MyKeyPair.pem
</programlisting></listitem>
<listitem>Connect to the EC2 AMI Server with the command — <programlisting>ssh -i MyKeyPair.pem root@your-ec2-instance-cname
</programlisting></listitem>
<listitem>The Virtuoso EC2 AMI installation is located in /opt/virtuoso.
 From this location first run the following commands to shutdown the Virtuoso server instance — <programlisting>. ./virtuoso-environment.sh
virtuoso-stop.sh
oplmgr +stop
</programlisting></listitem>
<listitem><emphasis><emphasis>Important:</emphasis></emphasis> Update the Virtuoso EC2 AMI installation to the latest OS and Virtuoso versions.
 Exact sequence depends on which Virtuoso Release you are running -- <itemizedlist mark="bullet" spacing="compact"><listitem>Users of AMIs with <emphasis><emphasis>Virtuoso Release 5</emphasis></emphasis> must run the following command sequence to first update the <ulink url="OpenLink">OpenLink</ulink> License Manager (oplmgr) and license file (virtuoso.lic), and then update the OS and Virtuoso.
 <emphasis><emphasis>DO NOT</emphasis> use this sequence with any other Virtuoso Release!</emphasis> — <programlisting>yum update oplmgr virtuoso-ami-init
yum update
</programlisting></listitem>
<listitem>Users of AMIs with <emphasis><emphasis>Virtuoso Release 6</emphasis></emphasis> must run the following command sequence to first remove the pre-existing Virtuoso database file (virtuoso.db) and transaction log file (virtuoso.trx) , and then update the OS and Virtuoso.
 <emphasis><emphasis>DO NOT</emphasis> use this sequence with any other Virtuoso Release!</emphasis> — <programlisting>cd database
rm virtuoso.db
rm virtuoso.trx
yum update
</programlisting></listitem>
<listitem>Users of AMIs with <emphasis><emphasis>Virtuoso Release 7 or later</emphasis></emphasis> should simply update the Virtuoso EC2 AMI installation to the latest OS and Virtuoso versions with the following command.
 <emphasis><emphasis>DO NOT</emphasis> use this sequence with any earlier Virtuoso Release!</emphasis> — <programlisting>yum update
</programlisting> While you can, and should, keep the whole operating system up to date with this method, you can also upgrade only the Virtuoso components with the command — <programlisting>yum update --disablerepo=*  --enablerepo=virtuoso
</programlisting></listitem>
</itemizedlist></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Adjust Virtuoso configuration files for your specifics</bridgehead>
<orderedlist spacing="compact"><listitem>Edit the Virtuoso configuration file /opt/virtuoso/database/virtuoso.ini and set the <ulink url="DefaultHost">DefaultHost</ulink> parameter in the URIQA section to your-ec2-instance-cname (or whatever external cname the instance will be configured to use).
 This is required for the correct hostname to be picked up when using the ODS and other applications — <programlisting>[URIQA]
DynamicLocal = 1
DefaultHost  = your-ec2-instance-cname:80
</programlisting></listitem>
<listitem>Edit the Virtuoso configuration file /opt/virtuoso/database/virtuoso.ini and add the line Load8    = plain, qrcode to the [Plugins] section to enable qrcode support in the Virtuoso Server — <programlisting>[URIQA]
[Plugins]
LoadPath = ../hosting
Load1    = plain, wikiv
Load2    = plain, mediawiki
Load3    = plain, creolewiki
Load4    = plain, im
Load5    = plain, wbxml2
Load6    = attach, libphp5.so
Load7    = Hosting, hosting_php.so
Load8    = plain, qrcode
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Start the License Manager and Virtuoso processes</bridgehead>
<orderedlist spacing="compact"><listitem>The <ulink url="OpenLink">OpenLink</ulink> License Manager can now be restarted with the command — <programlisting>/usr/sbin/oplmgr +start
</programlisting></listitem>
<listitem>The Virtuoso server can then be restarted with the command — <programlisting>virtuoso-start.sh
</programlisting></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> First-run task: Change default passwords</bridgehead>
<para>Virtuoso has two system users, <emphasis>dba</emphasis> (for SQL/relational/system-admin tasks) and <emphasis>dav</emphasis> (for <ulink url="WebDAV">WebDAV</ulink> and ODS), with default passwords matching their usernames.
 On any live server, it is essential to change these two passwords to something more secure, of your own choosing.</para>
<para>To this end,</para>
<orderedlist spacing="compact"><listitem>Open the location <ulink url="http://your-ec2-instance/conductor/">http://your-ec2-instance/conductor/</ulink> in a web browser.
<figure><graphic fileref="VirtInstallationEC2/ec2-conductor-1.png" /></figure> </listitem>
<listitem>Log in as dba/dba <figure><graphic fileref="VirtInstallationEC2/ec2-conductor-2.png" /></figure> </listitem>
<listitem>Select <emphasis>System Admin</emphasis> from the menu and then <emphasis>User Accounts</emphasis> from the second level menu.
<figure><graphic fileref="VirtInstallationEC2/ec2-conductor-3.png" /></figure> </listitem>
<listitem>Click <emphasis>Edit</emphasis> beside the dba user.
<figure><graphic fileref="VirtInstallationEC2/ec2-conductor-4.png" /></figure> </listitem>
<listitem>Enter replacement passwords in both boxes and press the <emphasis>Save</emphasis> button at the bottom to return to the user-list.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Update and start example</bridgehead>
<para>A complete update and initial startup run will look something like this — </para>
<programlisting>$ chmod 600 MyKeyPair.pem 
$ ssh -i MyKeyPair.pem root@ec2-67-202-24-222.compute-1.amazonaws.com
The authenticity of host &#39;ec2-67-202-24-222.compute-1.amazonaws.com (67.202.24.222)&#39; can&#39;t be established.
RSA key fingerprint is 58:ae:0b:e7:a6:d8:d0:00:4f:ca:22:53:42:d5:e5:22.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added &#39;ec2-67-202-24-222.compute-1.amazonaws.com,67.202.24.222&#39; (RSA) to the list of known hosts.
-bash-3.1# cd /opt/virtuoso/
-bash-3.1# ls
bin       hosting  lib  virtuoso-environment.csh  vsp
database  install  vad  virtuoso-environment.sh
-bash-3.1# . ./virtuoso-environment.sh
-bash-3.1# virtuoso-stop.sh
Shutting down Virtuoso instance in [database]
-bash-3.1# yum update
Loading &quot;installonlyn&quot; plugin
Setting up Update Process
Setting up repositories
core                      100% |=========================| 1.1 kB    00:00     
extras                    100% |=========================| 1.1 kB    00:00     
updates                   100% |=========================| 1.2 kB    00:00     
virtuoso                  100% |=========================|  951 B    00:00     
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.8 MB    00:01     
extras    : ################################################## 5699/5699
.
.
.
-bash-3.1# vi database/virtuoso.ini
-bash-3.1# /usr/sbin/oplmgr +start
-bash-3.1# virtuoso-start.sh
Starting Virtuoso instance in [database]
-bash-3.1#
</programlisting><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Instance Enhancements</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Installing additional VAD application packages</bridgehead>
<para>Additional VAD application packages are available for the Virtuoso demo database, documentation and tutorials which can be installed from a yum install as follows:</para>
<programlisting>[root@domU-12-31-39-00-00-61 virtuoso]# yum install virtuoso-vad-doc virtuoso-vad-demo virtuoso-vad-tutorial
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * extras: mirror.trouble-free.net
 * updates: mirrors.cmich.edu
 * base: centos.mbni.med.umich.edu
 * addons: mirror.skiplink.com
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package virtuoso-vad-doc.x86_64 0:6.0.3123-1.20091016 set to be updated
---&gt; Package virtuoso-vad-demo.x86_64 0:6.0.3123-1.20091016 set to be updated
---&gt; Package virtuoso-vad-tutorial.x86_64 0:6.0.3123-1.20091016 set to be updated
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch      Version                   Repository   Size
================================================================================
Installing:
 virtuoso-vad-doc         x86_64    6.0.3123-1.20091016       virtuoso     64 M
 virtuoso-vad-demo     x86_64     6.0.3123-1.20091016        virtuoso     9.1 M
 virtuoso-vad-tutorial    x86_64    6.0.3123-1.20091016       virtuoso    5.2 M

Transaction Summary
================================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 69 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): virtuoso-vad-tutorial-6.0.3123-1.20091016.x86_64.    | 5.2 MB     00:01  
(2/3): virtuoso-vad-demo-6.0.3123-1.20091016.x86_64.rpm     | 9.1 MB     00:00    
(3/3): virtuoso-vad-doc-6.0.3123-1.20091016.x86_64.rpm      |  64 MB     00:04     
--------------------------------------------------------------------------------
Total                                               12 MB/s |  69 MB     00:05     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : virtuoso-vad-doc                                  [1/3] 
  Installing     : virtuoso-vad-demo                                 [2/3]
  Installing     : virtuoso-vad-tutorial                             [3/3] 

Installed: virtuoso-vad-doc.x86_64 0:6.0.3123-1.20091016 virtuoso-vad-demo.x86_64 0:6.0.3123-1.20091016 virtuoso-vad-tutorial.x86_64 0:6.0.3123-1.20091016
Complete!
[root@domU-12-31-39-00-00-61 virtuoso]#
</programlisting><para> These VAD packages can then be installed by the Virtuoso Conductor UI from the System Admin-&gt;Packages tab where they will now be listed as available to install.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Using OAT Applications from your Virtuoso EC2 AMI instance</bridgehead>
<para>Install the <ulink url="http://wikis.openlinksw.com/dataspace/owiki/wiki/OATWikiWeb/">OAT (OpenLink Ajax Toolkit)</ulink> VAD package via the Admin UI, and then you can use the URL patterns below within your browser:</para>

<table><title /><tgroup><thead /><tbody>
<row><entry> <emphasis>Entire OAT Demo Collection</emphasis> </entry><entry>  http://your-ec2-instance-cname/oatdemo   </entry></row>
<row><entry> <emphasis><ulink url="OpenLink">OpenLink</ulink> Data Explorer</emphasis> </entry><entry>  http://your-ec2-instance-cname/ode   </entry></row>
<row><entry> <emphasis>Interactive SPARQL Query Builder (iSPARQL)</emphasis> </entry><entry>  http://your-ec2-instance-cname/isparql   </entry></row>
<row><entry> <emphasis>SQL Query Builder (iSQL)</emphasis> </entry><entry>  http://your-ec2-instance-cname/qbe   </entry></row>
<row><entry> <emphasis>Forms Builder</emphasis> (for building Meshups based on RDF, SQL, or Web Services Data Sources) </entry><entry>  http://your-ec2-instance-cname/formdesigner   </entry></row>
<row><entry> <emphasis>SQL DB Schema Designer</emphasis> (a Visual SQL-RDF Mapper is also on its way!) </entry><entry>  http://your-ec2-instance-cname/dbdesigner   </entry></row>
<row><entry> To view the <emphasis>OAT Tree</emphasis> (there are some experimental demos that are not listed in the main demo app) </entry><entry>  http://your-ec2-instance-cname/DAV/JS/   </entry></row>
</tbody></tgroup></table>
 <para><emphasis>Note</emphasis>: Should license expiration errors be encountered, which may occur due to changes in AMI components, please make a ssh connection to the Linux virtual machine and perform the following steps to obtain an updated license: </para>
<programlisting>ssh -i MyKeyPair.pem root@your-ec2-instance-cname
. ./virtuoso-environment.sh
virtuoso-stop.sh
yum update virtuoso-ami-init
virtuoso-start.sh
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Related Items</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSInstallationEC2">OpenLink Data Spaces Installation</ulink> </listitem>
<listitem>EC2 &amp; AMI related information <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtEBSBackedBYOLAMI">EBS-backed BYOL (&quot;Bring Your Own License&quot;) Virtuoso EC2 AMI</ulink> </listitem>
<listitem><ulink url="VirtAWSPublicDataSets">Pre-configured &amp; Pre-loaded Virtuoso instances (DBpedia, BBC Music &amp; Programmes etc.)</ulink> </listitem>
<listitem><ulink url="VirtEC2AMINeuroCommonsInstall">Creating Your Own Neurocommons Instance</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIBio2rdfInstall">Creating Your Own Bio2RDF Instance</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIMusicBrainzInstall">Creating Your Own MusicBrainz Instance</ulink> </listitem>
<listitem><ulink url="VirtEc2ExtensionUI">Backup Your Virtuoso EC2 AMI to S3</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIElasticBlockStorageConfig">Configure your Virtuoso EC2 AMI for use with Amazon Elastic Block Storage (EBS)</ulink> </listitem>
<listitem><ulink url="http://calculator.s3.amazonaws.com/calc5.html">Amazon-provided AWS Simple Monthly Cost Calculator</ulink> </listitem>
</itemizedlist></listitem>
<listitem>Protecting your Virtuoso-hosted SPARQL Endpoint <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLEndpointProtection">Safeguarding your Virtuoso-hosted SPARQL Endpoint</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpointProtection">SPARQL Endpoint Protection Methods Collection</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpoints">Securing SPARQL endpoints</ulink> </listitem>
<listitem><ulink url="VirtSPARQLSecurityWebID">WebID Protocol &amp; SPARQL Endpoint ACLs Tutorial</ulink> </listitem>
<listitem><ulink url="VirtOAuthSPARQL">SPARQL OAuth Tutorial</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/">Virtuoso documentation</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html">Virtuoso&#39;s SPARQL support</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtTipsAndTricksGuide">Virtuoso Tips and Tricks</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLDET">SPARQL Endpoint DET (DEV Extension Type) Configuration Guide</ulink></listitem>
</itemizedlist></listitem>
</itemizedlist><para> <ulink url="CategoryHowTo">CategoryHowTo</ulink> <ulink url="CategoryODS">CategoryODS</ulink> <ulink url="CategoryVirtuoso">CategoryVirtuoso</ulink> <ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryEC2">CategoryEC2</ulink></para>
<para> </para>
</section></docbook>