공통
- Local PC: Windows 10 / Server PC: CentOS 6 / Client PC: Windows 10
- 가상머신 (Oracle VM VirtualBox)를 이용해 서버, 클라이언트로 이용할 각각의 호스트 생성
- 중요) 네트워크 설정시 "어댑터에 브리지" 선택
- 기지국 DNS를 통해 클라이언트, 서버가 통신하므로 DNS 서버 주소는 같고, IP 주소는 달라야함
- 가상머신으로 호스트 생성시 호스트명은 식별하기 쉽도록 "IP주소-프로젝트명-Server 또는 Client-개발('test' 또는 '운영')"으로 작성
- 가상 호스트에 네트워크 연결
- 소프트웨어 버전을 선택할 수 있는데, 그 중 최소설치 버전은 cmd / GNOME 데스크탑 버전은 GUI로 PC를 관리할 수 있다.
- 이때, GNOME 데스크탑 버전으로 설치시 java 파일이 자동으로 설치된다.
(최소 설치시 java 파일이 자동으로 설치되지 않기 때문에 수동으로 명령어를 입력해 설치해야한다.)
- jdk 파일은 있지만 javac 파일이 없는데, intelliJ 구동시에는 javac 파일이 없어도 된다고 함
- 위의 과정을 통해 서버용, 클라이언트용 PC를 구축했다. 이때는 둘의 IP 주소가 달라야 한다고 했다.
(두 사람이 전화 통화를 하려면 두 사람의 전화번호가 달라야하는 것과 같은 이치다.)
- 구축된 서버용 PC에 Web 서버, DB 서버를 각각 설치하는데
- 이때 Web 서버와 DB 서버는 같은 PC에 설치하므로 동일한 IP 주소를 공유하고 있다.
- Web 과 DB 는 서로 요청을 주고받는다.
- 편의상 이 둘을 모두 Web 서버, DB 서버라고 부르지만 Web 이 DB 에게 요청할 때는 DB 입장에서 Web은 클라이언트이고, 반대 상황도 마찬가지다.
- 그렇다면 이 둘은 IP 주소가 같은데, 어떻게 서로 통신하는 걸까?
-> 바로 port 번호가 다르기 때문이다! 두 서버의 IP 주소는 같지만 TCP 주소인 port 번호가 다르다.
(같은 아파트라도, 호수가 다르면 다른 집으로 택배가 배송되는 것과 같은 이치다.)
cf)
- 그렇다면 위의 상황처럼 (같은 PC 내에서 서버, 클라이언트의 IP가 같고, TCP가 다른 상황처럼)
- 서버용 PC 와 클라이언트용 PC도 같은 PC 내에 설치해도 되는 것 아닐까?
- 물론 서버와 클라이언트 PC의 운영체제가 같다면 그렇게도 한다.
- 보통 <서버: 리눅스 OS / 클라이언트: 윈도우 OS> 를 사용하기 때문에 편의상 서버용 컴퓨터, 클라이언트용 컴퓨터를 각각 따로 생성하는 것이다.
서버 구축
Linux OS인 CentOS 7 설치
시스템 설정-> 마더보드: 기본 메모리 - 2048 MB / 프로세서: CPU - 2개
Termius: Local PC 에서 가상머신을 이용해 구축한 Server PC로 파일 이식 기능(SFTP), 터미널 원격 제어 기능(SSH)을 제공하는 애플리케이션으로 PuTTY 와 FileZilla 의 기능이 합쳐졌다고 보면 된다.
cf 1) SFTP (Secure File Transfer Protocol): 보안이 강화된 파일 전송 방식
SSH (Secure Shell): 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
cf 2) PuTTY: SSH 프로그램
FileZilla: SFTP 프로그램
cf) 소프트웨어를 GNOME 데스크탑 버전으로 설치했기 때문에 위와 같은 GUI 화면이 보인다.
최소 설치 버전으로 설치하는 경우 터미널 명령어로만 제어 가능
클라이언트 구축
- 가상머신에 클라이언트 호스트를 설치하는 이유?
: 회사 업무에 따라 회사 컴퓨터인 개인 PC에 클라이언트를 구축할 경우 개발 Test 시 개인 PC에 있는 파일들에 영향을 미칠 수 있다.
ex) PC 에 존재하는 특정 파일을 암호화, 복호화 기능을 개발하여 test 한다고 할 때, 로컬 PC에서 test시 로컬 호스트의 파일이 암호화 되는 경우 발생
Windows OS 설치
시스템 설정-> 마더보드: 기본 메모리 - 3072 MB / 프로세서: CPU - 2개 / Hard disk size : 100 GB
DVD: Windows 10 ISO 디스크 파일 선택 후 설치
제품 키가 없음 - Windows 10 Pro - 동의함 - 사용자 지정: Windows만 설치(고급) - 새로 만들기 - 적용
* 윈도우 설치 후 네트워크 연결
네트워크 및 인터넷 - 이더넷 - 어댑터 옵션 변경 - 이더넷 속성 - 인터넷 프로토콜 버전 4(TCP/IPv4) - IP 주소, 서브넷 마스크, 기본 게이트웨이(IP주소의 맨 끝자리만 1로 변경), DNS 서버 주소 기입
* 네트워크 연결 후 윈도우 업데이트
* 윈도우 업데이트 완료 후 게스트 확장 프로그램 설치
-> 부가 기능 사용을 위해 / ex) 클립보드 복사, 파일 드래그 앤 드랍 등
가상머신 윈도우 화면 상단 '장치' - 게스트 확장 CD 이미지 삽입 - 게스트 확장 파일 CD 디스크에 추가 (삽입 버튼) - CD 드라이브 열기 - VBoxWindowsAdditions 더블 클릭 후 설치
cf) Local PC(Windows)에서 Server PC(Linux)로 파일들을 옮길 때는 Termius 를 이용했지만 Client PC(Windows)의 경우 해당 확장 프로그램을 설치하여 파일 드래그 앤 드랍 기능을 이용해 파일을 옮긴다. (물론 Termius 를 사용해도 가능하다. 편한 방법을 취사선택하면 된다.)
'Linux' 카테고리의 다른 글
리눅스 명령어: cat (0) | 2023.03.08 |
---|---|
리눅스 명령어: 자주 사용되는 명령어 (0) | 2023.03.07 |
리눅스 명령어: find, grep, awk (0) | 2023.03.07 |
CentOS 란? (0) | 2023.03.06 |