환경: linux, jdk가 깔려 있어야 함 (java 기반으로 실행되기 때문)

sudo apt-get install openjdk-8-jre openjdk-8-jdk

 

 

1. nexus를 다운 받는다.

wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.26.1-02-unix.tar.gz

 

2. tar파일을 압축 해제한다.

tar -zxvf nexus-3.26.1-02-unix.tar.gz

3. 아래와 같이 환경 변수를 설정해한다.

NEXUS_HOME="/repository/nexus"

 

4. 넥서스에서 사용할 사용자를 추가한다. 

useradd [사용자 이름]

 

5. bin/nexus.rc 파일에 위에서 등록한 사용자 이름을 등록해야 한다.

run_as_user="[사용자 이름]"

 

6. /etc/systemd/system/에 nexus.service 파일 생성 후 아래와 같은 내용을 등록해줘야 한다. 

(ubuntu 16.04에서는 systemd로 관리하기 때문에 서비스로 사용하기 위해서)

[Unit]
Description=nexus service
After=network.target

[Service] Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install] WantedBy=multi-user.target

 

7. systemd daemon을 업데이트 후, nexus를 실행시킨다.

systemctl daemon-reload
systemctl enable nexus.service
systemctl start nexus.service

 

 8. 서비스의 상태를 확인한다.

systemctl status nexus

또는

tail -f ./sonatype-work/nexus3/log/x.log

'Nexus' 카테고리의 다른 글

인터페이스 http -> https 접근 가능하게 하기  (0) 2020.08.13

사내에서 사용하고 있는 넥서스는 쿠버네티스에 올라가 있지 않고 애플리케이션으로 떠 있는데 jetty라는 was를 내장하고 있어 넥서스를 띄울 수 있다.

 

1. fullchain.pem, privkey.pem 파일이 있다는 가정하에 이 파일들을 jks 형식으로 변환해야 한다.

더보기

openssl pkcs12 -export -out [name] -in fullchain.pem -inkey privkey.pem

위 명령어를 입력하면 명령어를 날린 디렉토리에 [name]으로 지정한 파일이 하나 생성된다. 그리고 비밀번호는 123456이라고 가정한다. (jetty-https.xml 파일에서 쓰임)

 

2. keystore.jks 파일을 생성하는 인증서를 가져와야 한다.

더보기

keytool -importkeystore -srckeystore [name] -srcstoretype PKCS12 -destkeystore keystore.jks

위 명령어를 입력하면 명령어를 날린 디렉토리에 keystore.jks 라는 파일이 생성되고 위에 설정한 암호와 동일한 암호를 설정해준다. (123456)

 

(keystore.jks는 넥서스가 시작할 때 읽는 파일이다.)

 

3. etc/nexus.properties 파일을 수정해줘야 한다.

application-port-ssl=8443 행을 추가하고 nexus-args에는 ${jetty.etc}/jetty-https.xml 을 추가해준다.

더보기

nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty-http-redirect-to-https.xml

위에 형태로 들어가면 된다.

 

4. etc/jetty/jetty-https.xml 파일을 수정해줘야 한다.

더보기

<Set name="KeyStorePath"><Property name="ssl.etc" />/keystore.jks</Set>

<Set name="KeyStorePassword">123456</Set>

<Set name="KeyManagerPassword">123456</Set>

<Set name="TrustStorePath"><Property name="ssl.etc" />/keystore.jks</Set>

<Set name="TrustStorePassword">123456</Set>

아까 설정한 keystore.jks와 비밀번호를 맞게 넣어준다.

 

5. 넥서스를 재시작한다.

더보기

systemctl restart nexus

 

6. 접근이 잘 되는지 확인해본다.

더보기

https://domain:8443

위 url을 통해 넥서스에 접근이 가능하면 끝.

'Nexus' 카테고리의 다른 글

Nexus 설치  (0) 2020.08.25

+ Recent posts