Difference between revisions of "Nexus"
(5 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
This page explains how to setup and configure NEXUS Maven repositories. | This page explains how to setup and configure NEXUS Maven repositories. | ||
+ | |||
+ | For Nexus clients see [[Nexus Maven configuration]] | ||
+ | |||
Line 10: | Line 13: | ||
− | + | ||
+ | =Installation= | ||
+ | |||
+ | |||
+ | ==Create user / group== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 21: | Line 28: | ||
− | + | ==Prepare work folder== | |
+ | |||
+ | You need to create a root folder to host all the artifacts. !!! This will be bigger and bigger over time !!! | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 30: | Line 39: | ||
− | + | ==Get binaries== | |
− | |||
− | = | ||
Download '''Nexus OSS''' as ''Nexus Open-Source Server'' - take the ZIP format | Download '''Nexus OSS''' as ''Nexus Open-Source Server'' - take the ZIP format | ||
Line 46: | Line 53: | ||
− | Set rights | + | ==Set rights== |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 52: | Line 59: | ||
chown -R nexus:nexus /opt/nexus-2.11.4-01 | chown -R nexus:nexus /opt/nexus-2.11.4-01 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
Line 78: | Line 81: | ||
runtime=${bundleBasedir}/nexus/WEB-INF | runtime=${bundleBasedir}/nexus/WEB-INF | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
Line 86: | Line 88: | ||
ln -s /opt/nexus/logs/wrapper.log /var/log/nexus.log | ln -s /opt/nexus/logs/wrapper.log /var/log/nexus.log | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
Line 104: | Line 105: | ||
#The PID directory must be a directory where you the runtime user can Read/Write | #The PID directory must be a directory where you the runtime user can Read/Write | ||
PIDDIR="/opt/nexus" | PIDDIR="/opt/nexus" | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ==Start / stop server== | ||
+ | |||
+ | To start|stop the server: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | /opt/nexus/bin/nexus start | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 128: | Line 138: | ||
vim /opt/nexus/bin/nexus | vim /opt/nexus/bin/nexus | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ==Start Nexus on boot== | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | vim /opt/nexus/bin/nexus | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Add the following declaration after the first line <code>#!/bin/sh</code> : | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | ### 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Register the program to the boot sequence: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd /etc/init.d/ | ||
+ | update-rc.d nexus defaults | ||
+ | </syntaxhighlight> | ||
+ | |||
Line 138: | Line 179: | ||
<syntaxhighlight lang="apache"> | <syntaxhighlight lang="apache"> | ||
## Proxy to NEXUS | ## Proxy to NEXUS | ||
− | <Location /nexus > | + | <Location /nexus/ > |
ProxyPass http://localhost:9081/nexus/ | ProxyPass http://localhost:9081/nexus/ | ||
ProxyPassReverse http://localhost:9081/nexus/ | ProxyPassReverse http://localhost:9081/nexus/ | ||
Line 150: | Line 191: | ||
=Nexus server access= | =Nexus server access= | ||
− | + | You can access your server on http://myServer/nexus/ (Don't forget the end '/') | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The default users and passwords are: | |
− | |||
− | |||
− | |||
− | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! login !! password | ||
+ | |- | ||
+ | | admin || admin123 | ||
+ | |- | ||
+ | | deployment || deployment123 | ||
+ | |- | ||
+ | | anonymous || | ||
+ | |} | ||
− | |||
− | + | To change the password go to NEXUS > log-in > Security menu (left) > Users |
Latest revision as of 10:53, 12 September 2015
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