+1-1+1-1+1-1+1-1...
Centos 7 Sonatype Nexus Repository 설치하기 본문
Installing Sonatype Nexus Repository OSS on CentOS 7 | FOSS Linux
1. 사전 환경 세팅 - jdk 확인, 없을 경우, 지원 버전 확인 후 설치
[root@localhost ~]# yum list installed | grep open*jdk
java-1.8.0-openjdk.x86_64 1:1.8.0.282.b08-1.el7_9 @updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.282.b08-1.el7_9 @updates
2. 넥서스 최신버전 다운로드 및 설치
[root@localhost opt]# wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
--2021-02-17 21:02:58-- https://download.sonatype.com/nexus/3/latest-unix.tar.gz
Resolving download.sonatype.com (download.sonatype.com)... 52.8.13.26, 52.9.54.207
Connecting to download.sonatype.com (download.sonatype.com)|52.8.13.26|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gz [following]
--2021-02-17 21:03:01-- https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gz
Resolving sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)... 151.101.89.194
Connecting to sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)|151.101.89.194|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 162406548 (155M) [application/x-gzip]
Saving to: ‘latest-unix.tar.gz’
100%[============================================================================================================================>] 162,406,548 1.76MB/s in 88s
2021-02-17 21:04:34 (1.76 MB/s) - ‘latest-unix.tar.gz’ saved [162406548/162406548]
[root@localhost opt]# tar -xvzf latest-unix.tar.gz
….
nexus-3.29.2-02/system/org/tukaani/xz/1.8/xz-1.8.jar
nexus-3.29.2-02/system/org/yaml/snakeyaml/1.26/snakeyaml-1.26.jar
nexus-3.29.2-02/system/se/sawano/java/alphanumeric-comparator/1.4.1/alphanumeric-comparator-1.4.1.jar
nexus-3.29.2-02/system/settings.xml
nexus-3.29.2-02/system/uk/org/lidalia/sysout-over-slf4j/1.0.2/sysout-over-slf4j-1.0.2.jar
sonatype-work/nexus3/clean_cache
sonatype-work/nexus3/log/.placeholder
sonatype-work/nexus3/orient/plugins/studio.zip
sonatype-work/nexus3/tmp/.placeholder
[root@localhost opt]# ls -al
합계 158604
drwxr-xr-x. 4 root root 76 2월 17 21:09 .
dr-xr-xr-x. 17 root root 224 2월 17 09:06 ..
-rw-r--r--. 1 root root 162406548 1월 7 11:45 latest-unix.tar.gz
drwxr-xr-x. 9 root root 163 2월 17 21:09 nexus-3.29.2-02
drwxr-xr-x. 3 root root 20 2월 17 21:09 sonatype-work
3. Nexus 계정 생성 및 권한 설정
[root@localhost opt]# useradd --system --no-create-home nexus
[root@localhost opt]# chown -R nexus:nexus nexus-3.29.2-02
[root@localhost opt]# chown -R nexus:nexus sonatype-work
[root@localhost opt]# vim /opt/nexus-3.29.2-02/bin/nexus.rc
run_as_user="nexus"
4. Nexus 호스트 IP 설정 (ngix를 프락시로 두지 않을 것이기 때문에 위에 링크 내용과 달리 실제 IP를 세팅함)
[root@localhost opt]# vim /opt/nexus-3.29.2-02/etc/nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=192.168.60.22
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
nexus.hazelcast.discovery.isEnabled=true
5. Nexus 설정, 데이터 Directory 세팅 확인
[root@localhost opt]# vim /opt/nexus-3.29.2-02/bin/nexus.vmoptions
-Xms2703m
-Xmx2703m
-XX:MaxDirectMemorySize=2703m
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Dkaraf.log=../sonatype-work/nexus3/log
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
6. nexus user의 파일 오픈 제한 설정 (옵션 사항으로 보임)
[root@localhost opt]# vim /etc/security/limits.conf
nexus - nofile 65536
6. Nexus 시스템 자동 서비스 등록
[root@localhost opt]# vim /etc/systemd/system/nexus.service
[Unit]
Description=Nexus Service
After=syslog.target network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus-3.29.2-02/bin/nexus start
ExecStop=/opt/nexus-3.29.2-02/bin/nexus stop
User=nexus
Group=nexus
Restart=on-failure
[Install]
WantedBy=multi-user.target
[root@localhost opt]# systemctl daemon-reload
[root@localhost opt]# systemctl enable nexus.service
[root@localhost opt]# systemctl start nexus.service
7. 서비스 시작 모니터링 – 처음 시작 후 바로 로그 생성되는데 시간이 걸리는 것인지?, 원인 모를 이유로 재시작 후 서비스 로딩 로그가 나타나기 시작함
[root@localhost log]# tail -f /opt/sonatype-work/nexus3/log/nexus.log
….
2021-02-17 21:43:57,088+0900 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@174639e0{HTTP/1.1, (http/1.1)}{192.168.60.22:8081}
2021-02-17 21:43:57,089+0900 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @194359ms
2021-02-17 21:43:57,089+0900 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.29.2-02
-------------------------------------------------
2021-02-17 21:44:19,502+0900 WARN [Timer-0] *SYSTEM java.util.prefs - Could not lock User prefs. Unix error code 2.
2021-02-17 21:44:19,502+0900 WARN [Timer-0] *SYSTEM java.util.prefs - Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
2021-02-17 21:44:49,503+0900 WARN [Timer-0] *SYSTEM java.util.prefs - Could not lock User prefs. Unix error code 2.
2021-02-17 21:44:49,503+0900 WARN [Timer-0] *SYSTEM java.util.prefs - Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
2021-02-17 21:45:05,743+0900 INFO [qtp709013400-47] *UNKNOWN org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
2021-02-17 21:45:05,797+0900 INFO [qtp709013400-47] *UNKNOWN org.sonatype.nexus.internal.security.anonymous.AnonymousManagerImpl - Using default configuration: OrientAnonymousConfiguration{enabled=true, userId='anonymous', realmName='NexusAuthorizingRealm'}
중간에 경고 메시지가 나오는데 제대로 설치된 것인지 모르겠음..ㅜㅜ
8. 페이지 확인 - 일단 열림....
9. 계정 등록 및 비밀 번호 변경
우측 상단 Sigin in 클릭 시 아래 팝업 창이 나타남
설명대로 해당 파일 조회 후 입력
[root@localhost log]# cat /opt/sonatype-work/nexus3/admin.password
577157f0-633a-43f0-8cd8-aa06c6617d7a
Next 클릭
신규 비밀번호 입력
익명 접근 허용 차단 - 보안상 이게 맞는 듯...
설치 완료
'Linux > CI & CD' 카테고리의 다른 글
Maven 프로젝트 빌드/배포 기본 환경 구성 시나리오 및 설정 (0) | 2021.02.21 |
---|---|
Gradle, Github, Eclipse 연동, 간단 프로젝트 생성/빌드 (0) | 2021.02.19 |
Jenkins Setting(2) > New Item (프로젝트) 생성 하기 (0) | 2021.02.15 |
Jenkins Setting(1) > Global Tool Configuration (0) | 2021.02.15 |
Jenkins 삭제 하기 (0) | 2021.02.15 |