Menu

메모용 개발 블로그

전체보기 > OS > Linux >

리눅스(우분투)에서 Nexus3 구축

2022-02-06 19:48:11

서론

Nexus3는 각종 저장소(apt, npm, maven 등)를 사설로 구축할 수 있는 오픈소스 소프트웨어이다.

회사나 개인에서 비공개로 사용하는 패키지에 대해서 올려두거나 폐쇄된 망에서 미리 패키지를 받아두고 사용할 수도 있다.

혹은 느린 인터넷속도의 저장소의 패키지를 미리 다운 받아두고 사용해볼 수도 있겠다.

일단 궁금하기때문에 해당하는 내용에 대해서 설치를 진행하고 활용해보고자 한다.

이 글에서는 도커이용한다. 그러므로 도커에 대한 설치가 선행되어야한다.

본론

1. 설치

sudo docker run --name nexus -d -p 5000:5000 -p 8081:8081 -v /nexus-data:/nexus-data -u root sonatype/nexus3

위 명령어를 입력하면 자동으로 도커에서 받아서 진행하게 된다.

/nexus-data 경로는 설정파일 연결을 위해서 사용한다.

2. 방화벽 설정

사용하고 있는 포트에 대해서 다른 기기에서 접속을 허용하여야 한다면 당연히 방화벽 설정을 해주어야 한다.

ufw를 통해서 방화벽 설정을 할 것이므로 다음 명령어를 통하여 방화벽을 열어준다.

sudo ufw allow 8081/tcp

3. 초기 설정

정상적으로 실행이 되었다면 설치한 기기로 웹 브라우저를 통해서 접속한다.

생각보다 초기 구동 시간이 오래 걸리므로 바로 접속이 되지 않고 기다려야할 수도 있다.

들어가면 다음과 같이 메인 화면이 나오게 되고 Sign in을 눌러주자.

image-20220206193309578

그러면 다음과 같은 팝업이 나타난다.

image-20220206193414388

해당하는 경로에 어드민 계정의 기본 비밀번호가 있으므로 해당 경로에 가서 비밀번호를 가져온다.

cat /nexus-data/admin.password

그 다음부터 진행은 새로운 관리자 비밀번호를 입력해주는 것과 익명 유저의 패키지 저장소 접근을 허용하겠냐라는 질문이다.

본인의 선택에 따라서 진행하면 된다.

익명 유저를 패키지 저장소 접근에 허용할 경우 저장소에 어떠한 패키지가 있는지와 다운로드를 해당 서버에 접근만 가능하다면 자유롭게 할 수 있다.

그러므로 잘 선택해서 진행하면 된다.

4. 계정 관리

다음은 저장소 계정을 관리하는 일이다.

저장소를 업로드하는 경우에 관리자 계정으로 이런 것을 모두 수행하는 것은 보안상 좋지 못한 행위이다.

그러므로 개인적으로 사용하더라도 따로 계정을 생성하여서 사용하고 관리자 계정의 접속에 대해서는 최대한 닫아두는 편이 좋다.

또한 관리자 계정을 두더라도 기본 이름보다는 별도의 이름을 관리자 계정으로 사용하는 편이 보안상 유리하다.

SSH 포트로 들어오는 클라우드 서버발 수많은 접속 시도를 보면 절실하게 깨닫고 변경을 하게된다.

image-20220206194016438

상단의 톱니바퀴 아이콘을 선택하면 설정으로 넘어갈 수 있다.

그 다음 Security -> Users 메뉴로 들어가서 Create Local User를 누르고 계정 생성을 진행해준다.

ID : 로그인 시 사용하게 될 아이디

First Name : 이름

Last Name : 이름의 성

Email : 이메일

Password : 로그인 시 사용하게 될 비밀번호

Confirm password : 비밀번호 확인

Status : 계정 활성화 여부

Role : 권한

다음 항목들을 입력하면 계정이 생성되므로 그렇게 어렵지 않다.

만약 기존 계정을 비활성화 시키려면 수정에 들어가서 Status를 Disable로 변경해주면 된다.