Nexus
This page explains how to setup and configure NEXUS Maven repositories.
For Nexus clients see Nexus Maven configuration
Requirements
a) You need to setup Maven
Installation
Create user / group
# Create group
addgroup --system "nexus"
# Create Nexus user (home directory must be Nexus)
adduser --home /opt/nexus --disabled-login --disabled-password nexus
Prepare work folder
You need to create a root folder to host all the artifacts. !!! This will be bigger and bigger over time !!!
mkdir -p /home/nexus
chmod -R 777 /home/nexus
chown -R nexus:nexus /home/nexus
Get binaries
Download Nexus OSS as Nexus Open-Source Server - take the ZIP format
cd /opt
wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz
tar xzvf nexus-latest-bundle.tar.gz
rm nexus-latest-bundle.tar.gz
ln -s /opt/nexus-2.11.4-01/ /opt/nexus
Set rights
chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/nexus-2.11.4-01
Set nexus parameters
Adjust the port number and root context path, if required
vim /opt/nexus/conf/nexus.properties
Set:
application-port=9081
application-host=127.0.0.1
nexus-webapp-context-path=/nexus
## Nexus section
## nexus-work ==>> folders where the artifacts are going to be saved. You must choose a folder with a lot of disk!
nexus-work=/home/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
Log symlink
ln -s /opt/nexus/logs/wrapper.log /var/log/nexus.log
Set Nexus user and rights
vim /opt/nexus/bin/nexus
# Set the correct home
NEXUS_HOME="/opt/nexus"
#uncomment and adjust
RUN_AS_USER="nexus"
#The PID directory must be a directory where you the runtime user can Read/Write
PIDDIR="/opt/nexus"
Start / stop server
To start|stop the server:
/opt/nexus/bin/nexus start
ERROR Fix
If you encounter the Failed to start Nexus OSS
error, then you need to:
chown -R nexus:nexus /opt/sonatype-work
Run Nexus from anywhere
Set the NEXUS_HOME into the start script. Without it you cannot run Nexus as a service!
ln -s /opt/nexus/bin/nexus /usr/bin/nexus
ln -s /opt/nexus/bin/nexus /etc/init.d/nexus
vim /opt/nexus/bin/nexus
Start Nexus on boot
vim /opt/nexus/bin/nexus
Add the following declaration after the first line #!/bin/sh
:
### BEGIN INIT INFO
# Provides: Nexus
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Nexus
### END INIT INFO
Register the program to the boot sequence:
cd /etc/init.d/
update-rc.d nexus defaults
Apache2 proxy
Put the following lines into your Apache2 proxy configuration:
## Proxy to NEXUS
<Location /nexus/ >
ProxyPass http://localhost:9081/nexus/
ProxyPassReverse http://localhost:9081/nexus/
Require all granted
satisfy any
</Location>
Nexus server access
You can access your server on http://myServer/nexus/ (Don't forget the end '/')
The default users and passwords are:
login | password |
---|---|
admin | admin123 |
deployment | deployment123 |
anonymous |
To change the password go to NEXUS > log-in > Security menu (left) > Users