본문 바로가기
Web Development/Infra

[Infra / Rocky Linux] VM VirtualBox로 Rocky Linux 서버 개발 환경 설정 한방에 끝내기(+ PostgreSQL, 포트 포워딩)

by 감자맹고우 2022. 7. 4.
728x90
반응형

실무에서 서버 환경 설정하는 것이 아직 익숙하지 않아서, 매번 구글링의 도움을 받는다.

하지만 검색결과가 항상 달라지다보니 빠뜨리는 설정들이 생기곤 하는데, 이를 방지하기 위해서 정리하는 글을 쓰게 되었다.

 

이 글에서는 Oracle VM VirtualBox를 통해서 Rocky Linux 서버를 설치하고, 포트포워딩, PostgreSQL까지 설치하는 방법을 다루고자한다.

이미 환경 설정 자체는 다른 글들이 많기 때문에, 여기서는 순서와 링크 등으로 자세한 사항을 대체한다.

 

 

[ 환경 설정 방법 ]

 

1. Rocky Linux 설치 → 아래 블로그 글 따라하기 ( 언어, 시간대 설정만 한국으로 설정할 것 )

 

[LINUX] VMware에 Rocky Linux 설치하는 방법 How to Install Rocky Linux on VMware Workstation

 

www.bddungsblog.com

 

- 간략한 순서 

ⓐ ISO 이미지 다운로드 
ⓑ VM VirtualBox 새로만들기( 운영체제 Linux, 버전 Other Linux(64-bit), 새 가상 하드 디스크 만들기 ) 
ⓒ 파일 크기 50GB 이상 권장 (나머지는 임의설정) 
ⓓ 실행
ⓔ 시동디스크 Rocky Linux ISO 파일 선택
ⓕ 키보드/시간대를 한국어/서울로 설정
ⓖ 목적지 설정 클릭 후 자동 선택된 디스크 선택
ⓗ 소프트웨어 임의 선택
ⓘ 네트워크 설정(인터넷 사용 시 확인)
ⓙ 루트 계정 비밀번호 생성
ⓚ 사용자 계정 생성
ⓛ 설치 및 재부팅

 

 

2. PostgreSQL 설치 → 아래 블로그 글 따라하기

 

PostgreSQL 13 Linux 설치하기 - CURVC DevOps - Confluence

이 문서는 PostgreSQL 13 Linux 설치 가이드를 공유하기 위해 작성되었다.  Rocky Linux 8.5 (CentOS 8.x 계열)에서 Yum 패키지 매니저를 통해 설치하는 방법을 가이드 한다. 도구명PostgreSQL버전13.6OSRocky Linux 8.5

confluence.curvc.com

 

- 주의 사항

ⓐ PostgreSQL 설치 시 최신 버전을 설치하려면 기본 모듈을 비활성화하고 최신 버전을 설치해야 함
ⓑ dnf / yum 명령어 실행 시,
couldn't resolve host mirrors.rockylinux.org 또는
Failed to download metadata for repo 'appstream' 또는
'메타데이터 내려받기에 실패했습니다'와 같은 오류가 뜰 경우에 가장 먼저 확인해야할 사항은 네트워크가 제대로 연결되어있는지 여부이다. 인터넷이 연결되어 있어야 다운로드 받을 수 있기 때문으로, 설정창 또는 상단 우측의 아래 화살표를 클릭하여 연결 여부를 확인 가능 (아래 그림 참조)
ⓒ service 실행 실패(failed to start)할 시, initdb 로 postgresql을 초기화하였는지 확인

 

 

반응형

 

3. 포트 포워딩 설정

 

그 다음으로 정리할 것은, 구글링을 해도 좀처럼 쉽게 설명되어 있지 않아서 설정 방법을 종종 헷갈리곤 하는 포트 포워딩 설정 방법이다.

 

 

가상머신에서 설정창에 들어가면 네트워크 탭이 있는데, 고급을 클릭하여 포트 포워딩을 설정 가능하다.

창은 위의 이미지와 동일한데, 설정 방법은 다음과 같다.

 

이름은 임의설정하면 되고,

호스트 IP, 호스트 포트, 게스트 IP, 게스트 포트를 설정해주면 된다.

이 때 각각의 메뉴는 다음과 같이 생각하면 이해가 쉽다.

 

- 호스트 IP : 서버 PC의 IP (메인 IP)
- 호스트 포트 : 서버 PC에 할당할 포트(서버 PC에서 중복된 포트가 없도록 변경 필요)
- 게스트 IP : 가상 머신 내 IP
- 게스트 포트 : 가상 머신에서의 포트(원본 포트)

 

즉, 가상 머신 내 록키 리눅스 환경에서 PostgreSQL을 설치하면 5432 포트가 자동으로 할당된다.

이 경우, 게스트 포트는 가상 머신 내 PostgreSQL의 포트를 수동으로 변경해주지 않았다면 포트포워딩 창에서 게스트 포트는 5432로 그대로 기재하면 된다.(변경한 경우에는 변경한 포트 기재)

 

하지만, 서버 PC 자체에서 PostgreSQL을 설치하였거나 또는 다른 가상 머신에서 PostgreSQL을 설치하여 서버 PC의 5432포트가 이미 할당된 경우에는, 포트가 중복되어 있기 때문에 외부에서 해당 가상머신의 PostgreSQL로 접근할 수 없다.

그렇기 때문에 포트포워딩을 해주어야 하고, 중복되지 않도록 임의의 포트 번호를 호스트 포트에 할당해주면 된다!

 

 

===================== 2022.07.05 추가 =====================

 

 

4. PostgreSQL 계정 및 DB 생성 → 아래 블로그 글 따라하기

 

 

PostgreSQL 계정 및 Database 생성 후 외부 접속 설정

Linux에 PostgreSQL가 설치 되어 있는데 신규 프로젝트를 위한 DB를 생성할 일이 발생했습니다. PostgreSQL에 사용자 계정을 생성하고 신규 Database를 만들어 외부에서 접속 가능하도록 설정을 하려고 합

copycoding.tistory.com

 

위의 링크대로 진행하고, 외부에서 DB에 접근하려고 하면(필자는 DBeaver를 사용해 Connection을 생성하였음) Connection reset 에러가 발생한다.

이는 아직 외부에서 접근하지 못하는 것인데, 위의 링크에 따라 방화벽 해제를 진행한 후에도 postgresql 서비스를 재시작해주어야 한다!

[root@localhost ~]# sudo systemctl restart postgresql-13

 

재시작 후 열려 있는 포트를 확인해보자.

[root@localhost ~]# netstat -ntlp

 

Local Address 항목에 127.0.0.1:5432가 아니라! 0.0.0.0:5432가 있다면 외부에서 접근가능하다.

따라서 외부에서 DB 접근해보면 정상적으로 연결이 되는 것을 확인할 수 있다!

 

 

- 관련 참고링크 :

 

1. Connection reset 에러 해결에 참고하였음

 

외부 서버에서 postgresql 접속하기

PostgreSQL을 기본 설치하면 외부에서는 접속할 수가 없다. config를 수정해 줘야 한다. 우선 Ubuntu에서 열려있는 포트를 확인해 보자. 포트 확인은 netstat -ntlp로 확인하자 $ netstat -ntlp (Not all processe..

dejavuqa.tistory.com

 

2. vi 명령어 모음

 

[vi 명령어] vi 명령어 정리

[리눅스나 유닉스에서 사용하는 vi 편집기 명령어 총 정리 입니다.] <목차> 1. vi 편집기 명령어 전체 구조 살펴보기 2. vi 명령어 총정리 (자주 사용하는 것은 색으로 표시) 3. 제가 진짜로 사용하는

blockdmask.tistory.com

 

🤞 도움이 되셨기를 바랍니다. 한 번의 클릭과 댓글은 어딘가의 누군가에게 진실로 큰 힘이 됩니다. 🐱‍🏍

 

728x90
반응형

댓글