Sonatype Nexus 설치 및 설정
Nexus Open Source 를 다운받고 설치하는 방법을 정리해 본다.
Nexus OSS 2.6.x 설치
Jetty 에 deploy
Nexus 기본 설치 파일에는 Jetty 가 내장되어 있으므로 별도의 WAS 는 필요없다.
- Nexus 를 구동할 계정(ex: nexus) 으로 로그인한다.
http://www.sonatype.org/nexus/go 에서 최신 버전의 zip 파일이나 tgz를 다운로드 (tomcat 이나 기타 WAS 에서 구동할 경우 WAR 파일을 받는다.)
wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz
다운받은 파일의 압축을 해제한다.
tar zxvf nexus-2.6.3-01-bundle.tar.gz
sonatype-work 이란 폴더와 nexus-version 두 개의 폴더가 생성된다. nexus-version 폴더(ex: nexus-2.6.3-01) 로 이동한다.
cd nexus-2.6.3-01
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
Apache httpd 와 nexus 를 mod_proxy 를 이용하여 연결할 때 SELinux 때문에 문제가 있을 경우 httpd mod_proxy 로 WAS 를 연결 실패 - (13)Permission denied 를 참고한다.
- bin/nexus start 로 구동한다.
- Browser 에서 http://localhost:8081/nexus 에 연결하여 설정한다. (nexus.properties를 수정했을 경우 변경 내용에 맞게 URL 을 기술한다.)
WAR 로 tomcat 에 deploy
사전에 tomcat 이 설치되어 있어야 한다.
nexus war 버전을 다운받는다.
wget http://www.sonatype.org/downloads/nexus-latest.war
다운받은 war 는 nexus-2.7.0-06.war 처럼 war 에 버전명이 붙어 있다. 편리한 deploy 를 위해 nexus.war 로 이름을 변경해서 tomcat 의 webapps 로 옮긴다.
mv nexus-2.7.0-06.war webapps/nexus.war
tomcat 을 구동한다.
bin/startup.sh
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