Nexus installieren und an Apache Webserver anbinden

veröffentlicht am 23. Februar 2011

Wie aus vielen vorhergehenden Artikeln hervorgeht, bin ich ein absoluter Maven-Liebhaber. Allerdings hat mich bisher gestört, dass die Installation meines bisherigen Repository-Managers Archiva relativ aufwändig ist und die Performance meines vServers darunter leiden musste (Archiva ist RAM-hungrig). Dass es auch anders geht, zeigt die Firma Sonatype, die Nexus als dem RAM-schonendsten Repository-Manager auszeichnet.

Installation

Die Installation von Nexus ist dabei auch mehr als einfach. Verbinde dich mit deinem SSH-Server und besorge dir root-Rechte. Wechsel dann in ein passendes Verzeichnis. Ich habe dazu /opt ausgesucht:

cd /opt

Nun lädst du Nexus per wget herunter…

wget http://nexus.sonatype.org/downloads/nexus-oss-webapp-1.9.0.2-bundle.tar.gz

…und entpackst du das Ganze:

tar -xzf nexus-oss-webapp-1.9.0.2-bundle.tar.gz

Erstelle dann einen Symlink auf die Startdatei und trage Nexus in den Systemstart ein, damit Nexus auch automatisch mit dem System hoch- und runtergefahren werden kann:

ln -s /opt/nexus-oss-webapp-1.9.0.2/bin/jsw/linux-x86-64/nexus /etc/init.d/nexus

Den Link musst du ggf. an deine Prozessorarchitektur anpassen. Jetzt könntest du Nexus bereits starten und über http://<Hostname>:8081/nexus erreichen, aber ich wollte Nexus gerne über eine Subdomain erreichbar machen.

Nexus mit Apache Webserver koppeln

Damit Nexus direkt über eine (Sub-)Domain ansprechbar wird, muss der integrierte Application-Server ein wenig angepasst werden. Öffne dazu die Datei relevante Konfigurationsdatei…

nano /opt/nexus-oss-webapp-1.9.0.2/conf/plexus.properties

…und passe den Eintrag für den Application-Context wie folgt an:

webapp-context-path=/

Dann stellst du sicher, dass die Apache-Module proxy und proxy_http aktiviert sind:

a2enmod proxy proxy_http

Wechsel nun in den Apache-Konfigurationsordner…

cd /etc/apache2

…öffne die Konfiguration des Proxy-Moduls…

nano mods-available/proxy.conf

…und passe die Konfiguration wie folgt an:

<IfModule mod_proxy.c>
   ProxyRequests Off
   ProxyPreserveHost On
   <Proxy *>
      AddDefaultCharset off
      Order deny,allow
      Allow from localhost
   </Proxy>
   ProxyVia On
</IfModule>

Erstelle dann einen neuen vHost für Apache…

nano sites-available/nexus.conf

…mit folgendem Inhalt:

<VirtualHost *:80>
   ServerName <Domain>
   ProxyPass        / http://localhost:8081/
   ProxyPassReverse / http://localhost:8081/
</VirtualHost>

Die Domain musst du natürlich entsprechend anpassen. Aktiviere danach den neuen vHost und starte den Webserver neu:

a2ensite nexus
/etc/init.d/apache2 restart

Ab sofort sollte dein Nexus über die angegebene (Sub-)Domain erreichbar sein. Falls etwas nicht klappt, ist die Log-Datei vom Apache eine sehr gute Anlaufstelle.

Die vorkonfigurierten Logindaten lauten übrigens admin (Benutzername) und admin123 (Passwort). Diese solltest du natürlich sofort abändern.

Hinterlasse einen Kommentar