현재 MongoDB 공홈에 접속하면 Linux cent os 관련 버전은 찾을 수 없다. (사실 RHEL 버전 깔면 상관없긴하다.)

그래서 리눅스 커맨드 이용을 Putty 로 하고 파일 업로드를 FileZilla 로 하는 사람은 난감할 수 있다. (사실 RHEL 버전 업로드 하면 상관없긴하다.)

하지만 Cent OS 에서는 파일을 따로 업로드 받아서 푸는 형태로 하지 않아도 MongoDB를 설치 할 수 있다.

[1단계 – 몽고DB 리포지토리(repository) 추가하기]

mongodb-org 패키지가 CentOS의 기본 리포지토리에 포함되어 있지 않기 때문에 리포지토리 파일을 생성하여 추가해 주어야 한다.

$ sudo vi /etc/yum.repos.d/mongodb-org.repo

다음의 내용을 작성 후 저장한다. 이 때 몽고DB 문서 혹은 웹 사이트를 참조하여 적절한 버전을 기술해 준다.

[mongodb-org-3.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

------------------------------------------------------------------------------------------------------------------------------------------------------------------

[추가!!]

MongoDB 4.0 이상 버전부터 Spring Transaction 기능을 사용할 수 있게됨으로써 위의 설정 정보를 4.0으로 올리고 몽고DB 설치를 해야 yum에서 4.0 버전을 설치 할 수 있다.

[mongodb-org-4.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Transaction이 필요하다면 위 설정 적용 필요

------------------------------------------------------------------------------------------------------------------------------------------------------------------

다음의 명령어를 이용하여 생성한 파일이 올바로 존재하는지 확인한다.

$ yum repolist

[2단계 – 몽고DB 설치하기]

앞서 작성한 mongodb-org 패키지를 yum을 이용해 실행한다.

$ sudo yum install mongodb-org

위의 명령을 입력하면 몽고DB 패키지를 설치할 것인지, 그리고 GPG 키를 임포트(imprt)할 것인지에 관련된 질문이 나타나며 수락하면 설치가 진행된다. 해당 프로세스가 끝나면 몽고DB의 설치는 완료된 것이며, 다음과 같은 명령어를 이용해 실행할 수 있다.

$ sudo systemctl start mongod

몽고DB를 중지하고자 할 경우 다음과 같은 명령어를 입력하면 된다.

$ sudo systemctl stop mongod

몽고DB 실행과 관련된 로그를 확인하고 싶을 경우에는 다음의 명령어를 이용한다.

$ sudo tail /var/log/mongodb/mongod.log

이와 같은 명령어들을 이용하여 몽고DB를 실행할 수 있다.

[3. 외부 접속 허용]

먼저 /etc/mongod.conf 파일에 접근하여 수정.

vi /etc/mongod.conf

맨 처음에는 기본 포트로 127.0.0.1 로 설정이 되어 있을 것인데, 이를 0.0.0.0으로 변경해야 함.

그리고 방화벽을 사용한다면 관련 Port 역시 오픈 시켜야 한다.

firewall-cmd --zone=public --permanent --add-port=27017/tcp

만약 Azure VM 혹은 Amazon 클라우드 사용하고 있다면 관련해서 Open처리를 해줘야 한다. Azure은 해봤는데 Amazon은 안 해 봤음...

pwd : 경로

cd : 현재 바라보는 경로 이동

JDK 설치 : https://zetawiki.com/wiki/CentOS_JDK_%EC%84%A4%EC%B9%98

버전 확인

yum list java*jdk-devel

JDK 설치

[root@zetawiki ~]# yum install java-1.8.0-openjdk-devel.x86_64

root 계정 접속 su -

특정 계정 접속 su - userID

ssh 접속 : https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_SSH_%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8

ssh 아이디@호스트주소

(추가적으로 sftp 아이디@호스트주소 는 sftp 접속)

압축 파일 풀기 (각 풀기 명력어에서 x -> c 가 압축)

war : jar xvf 압축파일.war

tar : tar -xvf 압축파일.tar

tar.gz : tar -zxvf 압축파일.tar.gz

Linux OS ver. 확인

grep . /etc/&-release

CentOS 7.X 이상에서의 방화벽 설정 방법 (6.X 버전에서는 iptable 확인)

방화벽 설정 파일

(보통 root 권한)

/etc/firewalld/zones/public.xml

방화벽 재로드

# firewall-cmd --reload

포트 추가

# firewall-cmd --permanent --zone=public --add-port='port' (permanent 옵션을 주면 방화벽 reload 를 해 줘야 한다.)

포트 제거

# firewall-cmd --permanent --zone=public --remove-port='port'

차후 sftp 파일 다운로드도 알아야함

1. 서버 2대 환경

- 서버 1 : ip (192.168.0.20), username(ngee)

- 서버 2 : ip (192.168.0.30), username(garden)

2. scp 사용 예제

서버 1에 존재하고 있는 test.txt 라는 파일을 서버 2의 garden의 홈 폴더에 복사하고 싶으면 아래와 같이 사용하시면 되겠죠?

서버 1의 terminal에서 실행

scp ./test.txt garden@192.168.0.30:/home/garden

쉽죠? 찬찬히 보면

scp 복사하려는_파일_위치_및_이름 (한칸띄고) 서버2의_아이디@서버2의_ip주소:서버2의_특정위치

*참고 : - 서버2의_아이디 및 비밀번호를 알고 계셔야겠죠?

- 서버2의_특정위치 바로 앞에 : (콜론) 이 붙어있습니다.

- 서버2의_특정위치는, 앞서 작성한 서버2의_특정계정의 쓰기 권한이 있어야겠죠?

3. scp 사용 예제 하나 더

폴더도 복사할 수 있어요.

서버 1에 존재하고 있는 test_folder가 있다고 가정하고 이를 서버 2의 garden의 홈 폴더 아래 있는 dev 폴더에 복사하고 싶으면 아래와 같이 사용하시면..

서버 1의 terminal에서 실행

scp -r ./test_folder garden@192.168.0.30:/home/garden/dev

2번의 예제와 별로 다른 것은 없구요.

option으로 -r이 붙으면 폴더를 복사하겠다는 것입니다.

+ Recent posts