NGINX Agent 설치 – NGINX Plus 리포지토리 설치
이 문서는 NGINX Agent 를 NGINX Plus 리포지토리를 통해 설치 하는 방법에 관해 설명합니다.
목차
1. 전제 조건
2. NGINX Agent 설치를 위한 NGINX Plus 리포지토리 구성
2-1. RHEL, CentOS, Rocky Linux, AlmaLinux, Oracle Linux에 NGINX Agent 설치
2-2. Ubuntu에 NGINX Agent 설치
2-3. Debian에 NGINX Agent 설치
2-4. SLES에 NGINX Agent 설치
2-5. Alpine Linux에 NGINX Agent 설치
2-6. Amazon Linux 2023에 NGINX Agent 설치
2-7. Amazon Linux 2에 NGINX Agent 설치
2-8. FreeBSD에 NGINX Agent 설치
1. 전제 조건
- 구매 혹은 체험중인 NGINX Plus 구독
- NGINX Plus가 설치됨. 설치됐다면, 실행 중이어야 함. 아직 설치하지 않았다면 NGINX Plus 설치를 따라 설치하세요.
root권한- F5, Inc로부터 이메일로 제공받은 MyF5 사용자 포털 자격 증명.
- F5, Inc로부터 이메일로 제공받은 NGINX Plus 인증서, 키 파일(
nginx-repo.crt,nginx-repo.key파일)
2. NGINX Agent 설치를 위한 NGINX Plus 리포지토리 구성
NGINX Agent를 시스템에 최초로 설치하기 전에, nginx-agent 패키지 리포지토리를 구성해야 합니다. 구성한 이후, NGINX Agent를 리포지토리로부터 설치하고 업데이트할 수 있습니다.
2-1. RHEL, CentOS, Rocky Linux, AlmaLinux, Oracle Linux에 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성을 설치합니다.
$ sudo yum install yum-utils procps
5. /etc/yum.repos.d 디렉토리에 nginx-agent.repo 파일을 생성하여 yum 리포지토리를 설정합니다. 예제의 명령어는 vi를 사용했습니다.
$ sudo vi /etc/yum.repos.d/nginx-agent.repo
6. nginx-agent.repo 파일에 다음 내용을 추가합니다.
[nginx-agent]
name=nginx agent repo
baseurl=https://pkgs.nginx.com/nginx-agent/centos/$releasever/$basearch/
sslclientcert=/etc/ssl/nginx/nginx-repo.crt
sslclientkey=/etc/ssl/nginx/nginx-repo.key
gpgcheck=0
enabled=1
7. nginx-agent 설치를 위해 다음 명령어를 사용합니다.
$ sudo yum install nginx-agent
GPG 키 수락 메시지가 표시되면 지문이 8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46, 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3 와 일치하는지 확인하고, 일치하면 수락합니다.
8. 설치를 확인합니다.
$ sudo nginx-agent -v
2-2. Ubuntu에 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성을 설치합니다.
$ sudo apt-get install apt-transport-https lsb-release ca-certificates wget gnupg2 ubuntu-keyring
5. NGINX 서명 키를 다운로드합니다.
$ wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
6. apt 설정 파일 /etc/apt/apt.conf.d/90pkgs-nginx을 생성합니다.
Acquire::https::pkgs.nginx.com::Verify-Peer "true";
Acquire::https::pkgs.nginx.com::Verify-Host "true";
Acquire::https::pkgs.nginx.com::SslCert "/etc/ssl/nginx/nginx-repo.crt";
Acquire::https::pkgs.nginx.com::SslKey "/etc/ssl/nginx/nginx-repo.key";
7. nginx-agent 리포지토리를 추가합니다.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/nginx-agent/ubuntu/ `lsb_release -cs` agent" \
| sudo tee /etc/apt/sources.list.d/nginx-agent.list
8. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo apt update
$ sudo apt install nginx-agent
9. 설치를 확인합니다.
$ sudo nginx-agent -v
2-3. Debian에 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성을 설치합니다.
$ sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
5. nginx-agent 리포지토리를 추가합니다.
$ echo "deb https://pkgs.nginx.com/nginx-agent/debian/ `lsb_release -cs` agent" \
| sudo tee /etc/apt/sources.list.d/nginx-agent.list
6. apt 설정 파일 /etc/apt/apt.conf.d/90pkgs-nginx을 생성합니다.
Acquire::https::pkgs.nginx.com::Verify-Peer "true";
Acquire::https::pkgs.nginx.com::Verify-Host "true";
Acquire::https::pkgs.nginx.com::SslCert "/etc/ssl/nginx/nginx-repo.crt";
Acquire::https::pkgs.nginx.com::SslKey "/etc/ssl/nginx/nginx-repo.key";
7. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo apt update
$ sudo apt install nginx-agent
8. 설치를 확인합니다.
$ sudo nginx-agent -v
2-4. SLES에 NGINX Agent 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 인증서 파일과 키 파일의 번들 파일을 생성합니다.
$ cat /etc/ssl/nginx/nginx-repo.crt /etc/ssl/nginx/nginx-repo.key > /etc/ssl/nginx/nginx-repo-bundle.crt
5. 의존성을 설치합니다.
$ sudo zypper install curl ca-certificates gpg2 gawk
6. 명령어를 사용해 nginx-agent 패키지를 위한 zypper 리포지토리를 설정합니다.
$ sudo zypper addrepo --refresh --check \
'https://pkgs.nginx.com/nginx-agent/sles/$releasever_major?ssl_clientcert=/etc/ssl/nginx/nginx-repo-bundle.crt&ssl_verify=peer' nginx-agent
7. zypper/rpm 이 패키지의 진위 여부를 확인할 수 있도록 공식 NGINX 서명 키를 가져옵니다.
$ curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
8. 다운로드한 파일에 올바른 키가 포함되었는지 확인합니다.
$ gpg --with-fingerprint --dry-run --quiet --no-keyring --import --import-options import-show /tmp/nginx_signing.key
9. 출력에는 다음과 같이 전체 지문이 포함되어야 합니다.
8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46, 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3
pub rsa4096 2024-05-29 [SC]
8540A6F18833A80E9C1653A42FD21310B49F6B46
uid nginx signing key <signing-key-2@nginx.com>
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
pub rsa4096 2024-05-29 [SC]
9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3
uid nginx signing key <signing-key-3@nginx.com>
10. 마지막으로, 키를 rpm 데이터베이스에 추가합니다.
$ sudo rpmkeys --import /tmp/nginx_signing.key
11. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo zypper install nginx-agent
12. 설치를 확인합니다.
$ sudo nginx-agent -v
2-5. Alpine Linux에 NGINX Agent 설치
1. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
2. 다운받은 파일을 /etc/apk 디렉토리로 복사합니다.
$ sudo cp nginx-repo.key /etc/apk/cert.key
$ sudo cp nginx-repo.crt /etc/apk/cert.pem
3. 의존성을 설치합니다.
$ sudo apk add openssl curl ca-certificates
4. 명령어를 사용해 nginx-agent 를 위한 apt 리포지토리를 설정합니다.
$ printf "%s%s%s\n" \
"https://pkgs.nginx.com/nginx-agent/alpine/v" \
`grep -o -E '^[0-9]+\.[0-9]+' /etc/alpine-release` \
"/main" \
| sudo tee -a /etc/apk/repositories
5. apt가 패키지의 진위 여부를 확인할 수 있도록 공식 NGINX 서명 키를 가져옵니다.
$ curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
6. 다운로드한 파일에 올바른 키가 포함되었는지 확인합니다.
$ openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
출력에는 다음과 같은 모듈이 포함되어야 합니다.
Public-Key: (2048 bit)
Modulus:
00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58:
2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70:
5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1:
f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab:
9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f:
0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64:
86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d:
98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3:
04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c:
34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34:
5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f:
68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17:
24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99:
13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67:
c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e:
ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4:
99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f:
ab:6d
Exponent: 65537 (0x10001)
7. 마지막으로, 키를 apk trusted keys storage로 옮깁니다.
$ sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
8. 명령어를 사용해 nginx-agent를 설치합니다
$ sudo apk add nginx-agent
9. 설치를 확인합니다.
$ sudo nginx-agent -v
2-6. Amazon Linux 2023에 NGINX Agent 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성을 설치합니다.
$ sudo dnf install yum-utils procps-ng ca-certificates
5. Amazon Linux 2023을 위한 dnf 리포지토리 설정을 위해, 다음 내용을 포함하는 /etc/yum.repos.d/nginx-agent.repo 파일을 생성합니다.
[nginx-agent]
name=nginx-agent repo
baseurl=https://packages.nginx.org/nginx-agent/amzn/2023/$basearch/
sslclientcert=/etc/ssl/nginx/nginx-repo.crt
sslclientkey=/etc/ssl/nginx/nginx-repo.key
gpgcheck=0
enabled=1
6. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo dnf install nginx-agent
7. GPG 키 수락 메시지가 표시되면 지문이 8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46, 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3 와 일치하는지 확인하고, 일치하면 수락합니다.
8. 설치를 확인합니다.
$ sudo nginx-agent -v
2-7. Amazon Linux 2에 NGINX Agent 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성을 설치합니다.
$ sudo yum install yum-utils procps ca-certificates
5. Amazon Linux 2를 위한 yum 리포지토리 설정을 위해, 다음 내용을 포함하는 /etc/yum.repos.d/nginx-agent.repo 파일을 생성합니다.
[nginx-agent]
name=nginx-agent repo
baseurl=https://pkgs.nginx.com/nginx-agent/amzn/2023/$releasever/$basearch
sslclientcert=/etc/ssl/nginx/nginx-repo.crt
sslclientkey=/etc/ssl/nginx/nginx-repo.key
gpgcheck=0
enabled=1
6. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo yum install nginx-agent
7. GPG 키 수락 메시지가 표시되면 지문이 8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46, 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3 와 일치하는지 확인하고, 일치하면 수락합니다.
8. 설치를 확인합니다.
$ sudo nginx-agent -v
2-8. FreeBSD에 NGINX Agent 설치
1. /etc/ssl/nginx 디렉토리를 생성합니다.
$ sudo mkdir -p /etc/ssl/nginx
2. MyF5 사용자 포털에 로그인하여 nginx-repo.crt 파일과 nginx-repo.key 파일을 다운로드합니다.
3. 다운받은 파일을 /etc/ssl/nginx/ 디렉토리로 복사합니다.
$ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
4. 의존성 ca_root_nss 패키지를 설치합니다.
$ sudo pkg install ca_root_nss
5. pkg 리포지토리 설정을 위해 다음 내용을 포함하는 /etc/pkg/nginx-agent.conf 파일을 생성합니다.
nginx-agent: {
URL: pkg+http://packages.nginx.org/nginx-agent/freebsd/${ABI}/latest
ENABLED: true
MIRROR_TYPE: SRV
}
6. 다음 내용을 /usr/local/etc/pkg.conf 파일에 추가합니다.
PKG_ENV: { SSL_NO_VERIFY_PEER: "1",
SSL_CLIENT_CERT_FILE: "/etc/ssl/nginx/nginx-repo.crt",
SSL_CLIENT_KEY_FILE: "/etc/ssl/nginx/nginx-repo.key" }
7. 명령어를 사용해 nginx-agent를 설치합니다.
$ sudo pkg install nginx-agent
8. 설치를 확인합니다.
$ sudo nginx-agent -v