Sonatype Nexus 설치 및 설정

Nexus Open Source 를 다운받고 설치하는 방법을 정리해 본다. 

Nexus OSS 2.6.x 설치

Jetty 에 deploy

Nexus 기본 설치 파일에는 Jetty 가 내장되어 있으므로 별도의 WAS 는 필요없다.

  1. Nexus 를 구동할 계정(ex: nexus) 으로 로그인한다.
  2. http://www.sonatype.org/nexus/go 에서 최신 버전의 zip 파일이나 tgz를 다운로드 (tomcat 이나 기타 WAS 에서 구동할 경우 WAR 파일을 받는다.)

    wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz
  3. 다운받은 파일의 압축을 해제한다.

    tar zxvf nexus-2.6.3-01-bundle.tar.gz
  4. sonatype-work 이란 폴더와 nexus-version 두 개의 폴더가 생성된다. nexus-version 폴더(ex: nexus-2.6.3-01) 로 이동한다.

    cd nexus-2.6.3-01
  5. vi conf/nexus.properties 하여 설정을 편집한다.

    # Jetty section
    ## WAS 의 app port. SELinux 를 쓸 경우 다른 포트로 변경한다. (Ex. 8080)
    application-port=8081
    application-host=0.0.0.0
     
    nexus-webapp=${bundleBasedir}/nexus
    ## http://localhost:8081/nexus 로 연결해야 한다. /nexus 가 싫고 / 로 연결하고 싶을 경우 아래의 /nexus 를 / 로 변경한다.
    nexus-webapp-context-path=/nexus
    
    
    # Nexus section
    ## artifact 가 저장되는 폴더이다. 다른 경로에 있을 경우 수정한다. 이 폴더는 꼭 백업을 해줘야 한다.
    nexus-work=${bundleBasedir}/../sonatype-work/nexus
    runtime=${bundleBasedir}/nexus/WEB-INF

    (warning) Apache httpd 와 nexus 를 mod_proxy 를 이용하여 연결할 때 SELinux 때문에 문제가 있을 경우 httpd mod_proxy 로 WAS 를 연결 실패 - (13)Permission denied 를 참고한다.

  6. bin/nexus start 로 구동한다.
  7. Browser 에서 http://localhost:8081/nexus 에 연결하여 설정한다. (nexus.properties를 수정했을 경우 변경 내용에 맞게 URL 을 기술한다.)

WAR 로 tomcat 에 deploy

사전에 tomcat 이 설치되어 있어야 한다.

 

  1. nexus war 버전을 다운받는다.

    wget http://www.sonatype.org/downloads/nexus-latest.war
  2. 다운받은 war 는 nexus-2.7.0-06.war 처럼 war 에 버전명이 붙어 있다. 편리한 deploy 를 위해 nexus.war 로 이름을 변경해서 tomcat 의 webapps 로 옮긴다.

    mv nexus-2.7.0-06.war webapps/nexus.war
  3. tomcat 을 구동한다.

    bin/startup.sh
  4. 80이나 443으로 nexus 를 사용하려면 apache 와 연계해야 한다. (참고 - apache httpd 와 tomcat 연동하기 - tomcat connector(mod_jk) , reverse proxy). 그렇지 않다면 다음과 같이 tomcat 의 포트로 연결한다.

    http://my-nexus-server:8080/nexus

    port 는 tomcat 의 conf/server.xml 의 <Connector port> 항목에 기술된 포트이다.

sonatype-work 에 artifact 가 저장되므로 이 폴더를 백업해 주어야 한다.

 

Nexus Pro

Nexus 사용 버전을 사용하면 OSS 보다 다양한 기능과 기술 지원을 받을수 있다. 제일 저렴한것은 10 seat 라이센스이며 연 1,200 $ 이다.

seat의 개념은 접속하는 client ip 이고 nexus 에 등록되는 계정의 수가 아님.

 

설치

  • Nexus Pro 도 Nexus OSS와 설치는 동일하다. 설치후 sonatype 사에서 받은 라이센스 키파일을 입력해야 한다. 또는 관리자 로그인후 Administration -> Licensing 에서 입력할수도 있다.

Pro 기능

Artifact Procument

상용 SW 를 개발한다면 매우 유용할 기능이다. 현재 repository 에 있는 artifact 중 상용에 사용하기 적합하지 않은 license(ex: AGPL)를 가진 모듈이 있을 경우 알려준다. 

Repository Health Check

현재 repository 에 있는 artifact중 보안 취약점이 있는 버전을 찾아서 보고해 준다.

설정

기본 admin 암호는 admin123