:project-name: Virgo
:version: 3.7.0.RC01

:umbrella-project-name: Eclipse Virgo
:tomcat-product-name: Virgo for Apache Tomcat
:tomcat-product-name-short: VTS
:jetty-product-name: Virgo Jetty Server
:jetty-product-name-short: VJS
:kernel-product-name: Virgo Kernel
:kernel-product-name-short: VK
:nano-product-name: Virgo Nano
:nano-product-name-short: VN
:user-guide: link:../../virgo-user-guide/html/index.html[User Guide]
:tooling-guide: link:../../virgo-tooling-guide/html/index.html[Tooling Guide]

:gemini-blueprint-guide: https://www.eclipse.org/gemini/blueprint/documentation/reference/2.0.0.RELEASE/html/index.html[Eclipse Gemini Blueprint Reference Guide]

:spring-framework-version: 4.2.9.RELEASE

:homepage: https://www.eclipse.org/virgo
:ebr: http://www.eclipse.org/ebr[EBR]

:imagesdir: assets/images

anchor:nano-installation[]

== Installing {nano-product-name}

anchor:nano-installation-prereqs[]

=== Prerequisites

The {nano-product-name}, or {nano-product-name-short} for short, requires Java SE 6 or later to be installed. Java is available from
http://www.java.com/[http://www.java.com/] and elsewhere.

anchor:nano-installation-zip[]

=== Installing from the ZIP Download

==== Downloading the ZIP file

{nano-product-name} is distributed as a ZIP file. This can be downloaded from
http://www.eclipse.org/virgo/download/[here].

anchor:nano-installation-zip-installing[]

==== Installing

anchor:nano-installation-zip-installing-linux[]

===== Linux

To install the {nano-product-name} on Linux, unzip the distribution package to the desired installation directory.
For example, to install into `/opt`:

....
$ unzip virgo-nano-{version}.zip -d /opt
....

This creates a directory called `virgo-nano-{version}` under `/opt`.

{nano-product-name} requires write access to the installation directory, in this case `/opt/virgo-nano-{version}`.
Typically this means it must be run as the user that installed it, or the installation directory's ownership must be changed.

anchor:nano-installation-zip-installing-win[]

===== Microsoft Windows

To install the {nano-product-name} on Windows, unzip the distribution package to the desired installation directory.
You should use a zip application such as 7zip, not the built-in folder decompression.  Note that both Windows and
Java have some issues with long file names and file paths, so we recommend installing to the root directory of
your chosen drive.

anchor:nano-installation-updatesite[]

=== Installing from an update site

==== The repository location

Virgo has a single p2 repository that contains all Virgo distributions. The repository for version {version} can be found {p2repo}[here].
There is a repository for each released version.

==== Using the p2 director

As shown in xref:using-director[] you can easily install {nano-product-name-short} in a desired destination.
The only director argument that needs to be adjusted is *-installIU*.

For {nano-product-name-short} the right value is *nano.product*.

anchor:nano-installation-post[]

=== Post-installation steps
Follow the same xref:installation-post[Post-installation steps] as for {tomcat-product-name}.

