Ubuntu 22.04 Nexus Repository 3.92.3 설치 및 데이터 복원

Ubuntu 22.04 Nexus Repository 3.92.3 설치 및 데이터 복원

설치 환경

  • OS : Ubuntu 22.04.5 LTS
  • Java : OpenJDK 17
  • Nexus : 3.92.3-01
  • Nexus Port : 9998

1. Java 17 설치

기존 Java 11이 설치되어 있었으나 Nexus 최신 버전 사용을 위해 Java 17 설치

sudo apt update
sudo apt install openjdk-17-jdk -y

설치 확인

java -version

결과

openjdk version "17.x.x"

기본 Java 변경

sudo update-alternatives --config java

Java 17 선택

확인

java -version
javac -version

2. Nexus 다운로드

기존 설치 가이드에서 사용한 URL

sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

실행 시 오류 발생

404 Not Found

원인

  • Sonatype 최신 버전 배포 방식 변경
  • latest-unix.tar.gz 링크 제거

해결

cd /opt

sudo wget https://download.sonatype.com/nexus/3/nexus-3.92.3-01-linux-x86_64.tar.gz

압축 해제

sudo tar -xzf nexus-3.92.3-01-linux-x86_64.tar.gz
sudo mv nexus-3.92.3-01 nexus

3. Nexus 실행

실행

sudo /opt/nexus/bin/nexus start

접속

http://YOUR_SERVER_IP:8081

4. 포트 충돌 오류

실행 시 오류 발생

Failed to bind to /0.0.0.0:8081
Address already in use

원인

  • Apache가 8081 포트 사용 중

확인

sudo ss -tulpn | grep 8081

해결

파일 수정

vi /opt/sonatype-work/nexus3/etc/nexus.properties

변경 전

application-port=8081

변경 후

application-port=9998

재시작

sudo /opt/nexus/bin/nexus stop
sudo /opt/nexus/bin/nexus start

접속

http://YOUR_SERVER_IP:9998

5. 최초 로그인

계정

admin

비밀번호 확인

cat /opt/sonatype-work/nexus3/admin.password

6. Anonymous Access 설정

설치 과정 중 선택

Disable anonymous access

선택

이유

  • 인증된 사용자만 접근 가능
  • Maven 업로드/다운로드 제어 가능
  • 보안 강화

7. 기존 Nexus 데이터 복원

맥북에서 Nexus 데이터 백업 보유

구조

nexus-data/
├── blobs
├── db
├── downloads
├── etc
├── javaprefs
├── keystores
├── log
├── restore-from-backup
└── tmp

위 구조는 Nexus 프로그램이 아닌 Nexus 데이터 디렉터리입니다.


8. 백업 파일 서버 전송

맥북에서 SCP 사용

파일 전송

scp nexus-data.tar.gz 사용자명@YOUR_SERVER_IP:/tmp/

폴더 전송

scp -r nexus-data 사용자명@YOUR_SERVER_IP:/tmp/

9. Nexus 데이터 복원

서비스 중지

sudo /opt/nexus/bin/nexus stop

기존 데이터 백업

sudo mv /opt/sonatype-work/nexus3 \
        /opt/sonatype-work/nexus3.bak

압축 해제

cd /opt/sonatype-work

sudo tar -xzf /tmp/nexus-data.tar.gz

폴더명 변경

sudo mv nexus-data nexus3

권한 변경

sudo chown -R nexus:nexus /opt/sonatype-work/nexus3

10. 복원 후 발생한 오류

다시 Nexus 실행 시

Failed to bind to /0.0.0.0:8081
Address already in use

원인

  • 백업 데이터 안의 nexus.properties 설정이 복원되면서
    application-port=8081 로 되돌아감

확인

cat /opt/sonatype-work/nexus3/etc/nexus.properties

수정

application-port=9998

재시작

sudo /opt/nexus/bin/nexus stop
sudo /opt/nexus/bin/nexus start

최종 서버 구성

서비스포트

Apache 8081
Nexus 9998
GitLab 9999
MySQL 3306

주요 명령어

상태 확인

ps -ef | grep nexus

포트 확인

sudo ss -tulpn | grep 9998

로그 확인

tail -f /opt/sonatype-work/nexus3/log/nexus.log

서비스 중지

sudo /opt/nexus/bin/nexus stop

서비스 시작

sudo /opt/nexus/bin/nexus start

서비스 재시작

sudo /opt/nexus/bin/nexus restart

연관글 

Ubuntu Apache PHP 사이트 배포 시 403 Forbidden, 500 Internal Server Error 해결 방법