Sonatype Nexus #1 : 톰캣에 설치하기


메이븐을 빌드툴로 써서 개발하다 보면 편안하긴 편안하지만 인터넷으로 라이브러리나 훌러그인을 다운로드 받는 시간이 쫌 걸린다는게

살짝 불편한 점이긴 하다. 뭐 물론 나의 로컬로 라이브러리가 한번 다운로드되면 그 뒤론 다시 다운로드 받지 않아서 빠르긴 하지만

컴퓨터를 포맷하거나 했을때는 다시 다운로드 받는 과정을 거쳐야 하기 때문에 아주 사소히 불편스럽다.


요런 시간 소모를 해소하기 위해 사설 메이븐 리파지토리를 맹글어 보겠다.

메이븐 사설 리파지토리를 맹글어 주는 제품은 많다고 하던데 기능이야 뭐~ 다 비슷비슷 하겠고 UI 가 쫌 깔쌈하다는 Sonatype Nexus 를 설치해 보겠다. 


웹사이트 :  http://nexus.sonatype.org/
다운로드 사이트 : http://nexus.sonatype.org/downloads/

이 글을 작성하는 시점에서 제일 최신버전이 1.9.2.3 버전이다.



다운로드 사이트에 가면 파일들 목록이 쪽 나오는데 그중에서  nexus-webapp-1.9.2.3.war 요런 war 파일을 다운로드 받으면 된다.



war 파일이라서 톰캣이나 다른 것들에 설치하는건 일도 아니다.

모를 사람도 있으니 간단히 설명하겠다. 먼저  nexus-webapp-1.9.2.3.war 파일명을 ROOT.war 로 바꾼다.

※ 나는 http://127.0.0.1:8080 으로 접근하기 위해서 ROOT.war 로 바꾼것이지 만약 http://127.0.0.1:8080/nexus 로 접근하고 싶다면 nexus.war 로 파일명을 바꾸면 된다.

파일명을 바꿨으면 고 파일을

톰캣 설치디렉토리/webapps/ 아래에다 복사를 하고 톰캣을 시작하면 설치가 끝난다. 




브라우져로 주소창에 http://127.0.0.1:8080 을 입력하고 접속해 보자~ 


뽓 하고 정상적으로 접근이 된다.




관리자로 접속을 하기 위해서는 오른쪽 귀퉁이에 있는 Log In 버튼을 클릭하고 아이디/패스워드에 admin / admin123 을 입력하면 된다.



이게 심하게 보안이 필요할것 같진 않지만 그래도 기분상 Security > Change Password 에 가서 관리자의 패스위드도 변경해 주자.

왼쪽 메뉴중에 Repositories 를 클릭해 보면 친절하게 디폴트로 등록해준 메이븐 리파지토리들이 보인다.

지금 당장은 미리 등록해준 리파지토리들이 다 필요하진 않고 Public Repositories 랑 Maven Central 요거 두개 정도만 필요하다.




리파지토리 타입을 보면 group, hosted, proxy, virtual 같은게 보이는데 간단하게 설명하면

group 은 hosted, proxy 타입등 등록된 리파지토리들을 논리적으로 묶어주는 리파지토리 타입이다.
▣ hosted 는 maven 야리꾸리한 듣보잡 라이브러리나 상용제품에서 제공하는 라이브러리 같이 maven 리파지토리에 등록이 안된 라이브러리를 등록해 주는 리파지토리 타입이다. 따로 jar 파일 같은걸 등록하고 싶다면 요 타입을 쓰면 된다.
▣ proxy 는  http://repo1.maven.org/maven2/ 은 같은 인터넷상의 다른 메이븐 리파지토리를 캐싱해 주는 리파지토리 타입이다. 이 타입이 아마 가장 많이 쓰일것같다.
virtual 은 maven1, maven2 리파지토리를 상호변환 해주는 것인데 거의 쓸일은 없을것 같다.




대충 요런 타입들의 리파지토리들을 적절하게 짬뽕시켜 나만의~ 우리회사만의~ 리파지토리를 만들면 된다.  


대부분, 원하는 외부 주요 리파지토리들을 proxy 타입으로 여러개 등록하고, maven 리파지토리에 없는 라이브러리 등록용 hosted 타입도 하나 등록하고,

요것들을 group 타입 리파지토리로 하나로 묶어서 group 만 바라보면 되도록 하는 구성을 많이 쓰는 것 같다. 






아무튼 이렇게 하면 Nexus 설치는 끝나지만, 살짝 설정도 바꾸고, 리파지토리 인덱스도 업데이트 해줘야 maven 이랑 연결시켜서 사설 리파지토리의 역할을 할 수 있게 된다.

고건 다음 포스트에!!