Nexus installieren und an Apache Webserver anbinden
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.
Veröffentlicht am 23.02.2011
