Skip to content
John Casey edited this page Feb 13, 2014 · 6 revisions

Choose Your Flavor

AProx contains a few pre-build flavors that incorporate different suites of add-ons for specific purposes. You'll want to start the installation process by selecting which flavor you want to install:

  • aprox-rest-min: This WAR contains ONLY the repository manager and REST endpoints. There is no UI, beyond browsing content URLs. There is currently no corresponding launcher for this flavor.
  • aprox-basic / aprox-launcher-min: This contains the core repository manager + core REST endpoints + monorail javascript UI
  • aprox-easyprox / aprox-launcher-easyprox: This contains everything in the basic app, along with the dotMaven and Autoprox add-ons
  • aprox-savant / aprox-launcher-savant: This contains everything and the kitchen sink. The main difference from easyprox is the addition of the Depgraph Add-On.

Download

All of the above are available from the Maven central repository. The groupId for WARs is org.commonjava.aprox.wars and for standalone launchers it's org.commonjava.aprox.launch. For example, to download the 0.11.2 version of the aprox-savant WAR, you'd go to:

http://repo.maven.apache.org/maven2/org/commonjava/aprox/wars/aprox-savant/0.11.2/aprox-savant-0.11.2.war

To download the standalone launcher for aprox-launcher-easyprox, you'd go to:

http://repo.maven.apache.org/maven2/org/commonjava/aprox/launch/aprox-launcher-easyprox/0.11.2/aprox-launcher-easyprox-0.11.2-launcher.tar.gz

Docker

To setup a Docker container, you can use the images at: [https://index.docker.io/u/buildchimp/]. For instance:

$ sudo docker run buildchimp/trusted-aprox-min

Standalone (via Vert.x Integration)

The standalone-launcher variant of AProx is a self-contained application. You simply unpack the .zip or .tar.gz bundle to the desired location, and start it via:

$ cd aprox-launcher-<type>
$ bin/aprox.sh

NOTE: A Windows launch script is in the works but not yet ready as of 0.11.2. Look for it soon.

The unpacked application contains the following directory structures:

.
├── bin ................... lauch scripts
├── data .................. contains repository/group/deploy definitions, along with any add-on state
├── etc
│   └── aprox ............. contains main.conf, possibly autoprox.json and conf.d/ for add-on configuration
├── lib ................... contains aprox-cdi-components, the aggregation of org.commonjava* dependency classes
│   └── thirdparty ........ contains non-commonjava dependencies, in their unaltered forms
├── storage ............... contains artifact content, organized in per-repository/group/deploy subdirectories
└── ui .................... contains static files related to the user interface

JBoss EAP / AS / Wildfly

Installing AProx on JBoss AS7 is fairly straightforward. However, one piece that may confuse many people used to working with WAR files is the configuration, which is located on the filesystem in the /etc/aprox/ directory. This may be a matter of co-locating the /etc/aprox directory structure on the same drive letter as the WAR deployment for Windows users; I simply haven't tried that yet.

##Configuration Files

###/etc/aprox/main.conf

This is the main configuration file for AProx. It's designed to configure the options that will not vary depending on the specific mix of backend storage or add-ons included in the AProx WAR.

Currently, it only has a single configuration option:

/etc/aprox/main.conf:
---------------------

Include conf.d/*.conf

That one line tells Aprox to read all *.conf files out of the conf.d subdirectory. This configuration approach is designed to accommodate popular configuration management tools like Chef or Puppet, which tend to operate best when they control the entire contents of a particular file from a single configuration stanza.

For the simplest case, you only need one file in that conf.d directory:

/etc/aprox/conf.d/storage-default.conf:
---------------------------------------

[storage-default]
storage.dir=/var/lib/aprox/storage

This configuration file contains a section header ([storage-default]), and a directory for storing Aprox data.

You'll notice that I've got my AProx instance configured to conform to the Linux standards. Of course, it doesn't have to be this way.

Depending on which add-ons you select, you may need other configuration files. For instance, I use autoprox, which requires:

/etc/aprox/conf.d/autoprox.conf:
--------------------------------

[autoprox]
enabled=true
deployEnabled=true

(The main part of the autoprox template configuration is actually stored in /etc/aprox/autoprox.json).

Also, note that you don't HAVE to do it this way. If you want, you can just as easily include all of the config sections you need in the main /etc/aprox/main.conf file and forget the Include ... line.

##Directory Setup

Now, you need to create the directory structure you referred to in storage.dir within your /etc/aprox/main.conf file:

$ sudo mkdir -p /var/lib/aprox/storage

Also, make sure the directory is owned by the user that will run the AS7 instance:

$ sudo chown -R jboss-as /var/lib/aprox/storage

##Install the AProx WAR

Simply stand up an instance of JBoss AS7 and deploy your freshly-built AProx WAR:

  1. Unzip the AS7 distribution .ZIP
  2. Execute bin/standalone.sh
  3. Go to http://localhost:8080/
  4. Follow the link for Administration Console
  5. Click on Manage Deployments near the bottom left of the console UI.
  6. Click Add Content near the top right of the console UI.
  7. Browse to your AProx WAR (<aprox-source-dir>/wars/basic/target/aprox.war)
  8. Approve the Name and Runtime Name settings (should be okay by default), and Save
  9. Click Enable next to the aprox.war entry, and confirm.
Clone this wiki locally