CentOS7에서 ElasticSearch를 설치하는 법을 다뤄볼 것입니다. ElasticSearch.5.4.0의 버전을 기준으로 할 것입니다.



01. JAVA 설치

자바(JAVA)가 설치되었는지 확인해볼 필요가 있습니다. 다음 명령어로 JAVA를 확인해보도록 합시다.

# yum update

# cd /opt

# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jre-8u102-linux-x64.rpm"

#rpm -Uvh jre-8u102-linux-x64.rpm

이제 모두 설치가 완료되었다면, 자바의 버전을 확인해보면 됩니다. 이미 설치가 되었다면 아래의 명령어만 사용하면 될 것

# java -version 

버전을 확인하면 [그림 01]과 같이 나타납니다.

[그림 01] java version 확인




02.Enable Elasticsearch Repository(Elasticsearch 설치)

먼저 Elasticsearch의 공개 GPG key를 rpm 패키지 매니저에 import 해야 합니다.

다음 명령어로 import해주도록 합시다.

# rpm --import http://packages.elastic.co/GPg-KEY-elasticsearch 

이제 Elasticsearch에 대한 repo 파일을 만들도록 합시다.


[/etc/yum.repos.d/elasticsearch.repo]

[elasticsearch]

name=Elasticsearch repository

baseurl=http://packages.elastic.co/elasticsearch/2.x/centos

gpgcheck=1

gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

이제 elasticsearch package를 이용하여 설치하도록 합시다.

# yum install elasticsearch 

설치를 마지면 [그림 02]와 같이 설명이 나옵니다.

해당 설명에서는 elasticsearch를 설치하고 systemctl을 이용하여 처리를 해야 하는 항목에 대한 설명입니다.

systemctl은 서비스를 조정하는 명령어입니다.

[그림 02] Elasticsearch 설치


# systemctl daemon-reload

# systemctl enable elasticsearch

# systemctl start elasticsearch

해당 명령어는 서비스를 시작하고 사용가능(enable)하도록 하기 위한 명령어입니다.

이제 다음으로 TCP 포트 9200번을 방화벽에서 허용해주도록 합시다.

# firewall-cmd --add-port=9200/tcp

# firewall-cmd --add-port=9200/tcp --permanent 

Elasticsearch가 설치되었다면 간단한 요청을 HTTP로 보내보도록 하여 응답을 받아보도록 합시다.

# curl -X GET http://localhost:9200 

만약 결과가 옳게 나온다면 [그림 03]과 같이 나올 것입니다.

[그림 03] Elasticsearch 설치 확인










이전에 Python3와 원격을 포스팅했었습니다.

이는 모두 Git 최신 버전을 설치하기 위함이었습니다!


이제 Git느님을 영접하기 위해 빨리 원격으로 들어가보도록 합시다.


[그림 01] 원격 데스크톱 화면


원격으로 들어오니 제가 바탕화면에 만들어두었던 디렉토리들이 빼꼼히 인사를 건네내요.

반갑게 맞이해주었습니다.


각설하고 이제 원격이 되었으니, git 최신 버전을 인터넷에서 다운로드 하도록 합시다.



[그림 02] git 최신버전 확인 및 다운로드


Download URL : https://www.kernel.org/pub/software/scm/git/

해당 URL을 들어가면 가장 아래에 있는 최신 git 버전을 다운로드하도록 합시다.

제가 설치한 git은 git-2.12.0.tar.gz로 압축되어 있는 버전입니다.



[그림 03] git 압축 해제


압축 해제하고 git 디렉토리로 들어가보도록 합시다.


해당 디렉토리로 들어가서, 터미널을 열어서 명령어를 쭉 입력해주도록 합시다.


 $ make configure

 $ ./configure --prefix=/usr

 $ make all doc info

 $ sudo make install install-doc install-html install-info 


[그림 04] git 설치 확인






CentOS7에서 다음과 같은 과정을 통해 원격 데스크톱이 지원되도록 만들 수 있습니다.

설치과정은 다음과 같습니다.




01. 필요 도구 설치 및 설정

필요한 도구는 epel, xrdp, tigervnc-server가 있습니다.

저는 epel과 xrdp, tigervnc-server를 나누어서 설치를 수행하였습니다.

먼저 다운로드 하는 명령어는 다음과 같습니다.

 $ yum install epel-release xrdp tigervnc-server


필요한 도구를 모두 설치하셨다면, 원격 설정을 먼저 해주고 서비스를 실행시키도록 합시다.

다음 명령어를 수행하시면 Password와 Verify라는 입력창이 뜹니다.

원하시는 비밀번호를 입력하고 다시 한 번 입력하시면 됩니다.

$ vncpasswd

 Password:********

 Verify:********


설치가 완료되면, 서비스를 시작해주어야 합니다.

설치를 했을 때, 먼저 서비스의 상태를 사용가능으로 바꿔줘야 합니다.

이후 서비스를 실행하도록 합시다.

서비스를 시작하는 명령어는 다음과 같습니다.


서비스 사용가능하게 하는 명령어

 $ systemctl enable xrdp 


서비스 시작 명령어

 $ systemctl start xrdp  


이제 해당 동작이 원활하게 되었는지 확인해보도록 합시다.

다음 명령어를 통해 xrdp 서비스가 잘 실행되고 있는지 확인합니다.

 $ netstat -antup | grep xrdp 


xrdp에 대한 서비스가 몇 개 검색되면 설정이 잘 완료된 것입니다.

다음으로 방화벽을 통해 우리가 원격 데스크톱으로 사용할 서비스 포트를 열어주어야 합니다.

시스템은 우리가 단순히 서비스를 구동한다고 하여 네트워크에 대한 보안을 간과하지 않습니다.




02. 방화벽 설정

우리가 방화벽에서 설정해 줄 것은 원격 데스크톱으로 사용할 포트번호를 방화벽에서 들어올 수 있도록 열어주는 작업입니다

방화벽에서 열어줄 포트를 설정해주는 명령어는 다음과 같습니다.

$ firewall-cmd --permanent --zone=public --add-port=3389/tcp 


만약 Windows에서 사용하신다면 3389로 설정하는 것이 좋습니다.

Windows에서 사용하는 기본 원격 데스크톱 포트번호가 3389이기 때문에 IP만 입력해주시면 바로 원격으로 들어가지게 됩니다.

우리가 사용할 포트번호를 입력하셨다면, 해당 설정을 방화벽에 적용하기 위해 다시 로드해주어야 합니다.

다시 로드하는 명령어는 다음과 같습니다.

$ firewall-cmd --reload 




03. 기타 설정

여기서 우리가 기타로 설정할 수 있는 기능은 [한글화] 및 [포트번호 변경]이 있습니다.

만약 한글 버전으로 원격을 들어가고 싶다면, 다음과 같은 설정을 추가해주면 될 것 같습니다.

 $ vi /etc/xrdp/startwm.sh

.

.

.

export LANG=ko_KR.UTF-8


먼저 /etc/xrdp/startwm.sh를 수정하셔야 하는데, 해당 내용 중에 export LANG이 있습니다.

여기에 한글을 사용하고자 하시는 분은 ko_KR.UTF-8의 내용을 입력해주시면 됩니다.

이후 한글로 보일 것입니다.


또한 포트번호도 변경할 수 있는데, 포트 변경은 보안을 위해 가급적이면 필수적으로 생각하셔야 할 것 같습니다.

포트번호는 접속하기 위해 입력해야 하는 포트번호를 말합니다.

만약 위의 방화벽 설정에서 열린 포트를 3389로 설정하였다면, 해당 포트번호도 3389로 설정해주셔야 합니다.

하지만, 포트번호를 기존의 번호와 다르게 변경하고자 하시면, 반드시 방화벽의 포트번호도 다르게 열어주셔야 합니다.

포트번호는 다음 파일 내에서 변경할 수 있습니다.


$ vi /etc/xrdp/xrdp.ini

.

.

.

port=[원하는 포트 변경]


먼저 /etc/xrdp/xrdp.ini를 열어보시면, port 라는 부분에 우리가 기존의 포트번호가 작성되어 있을 것입니다.

해당 영역의 값을 우리가 원하는 번호로 입력해주셔야 합니다.


04. 원격 접속 방법

윈도우즈에서 원격 데스크톱를 사용할 때 우리는 3389포트를 기본적으로 사용합니다.

만약 방화벽과 포트번호를 3389로 설정하셨다면 원격 데스크톱을 이용하여 IP만 입력하여 접속하시면 됩니다

하지만 우리가 사용할 포트번호를 따로 설정하셨다면, 뒤에 포트번호를 입력해주셔야 합니다.


원격 데스크톱 접속 방법은 다음과 같습니다.

3389로 설정하였을 시 명령어

원격 데스크톱 창 입력 : [아이피] 


3389가 아닌 다른 포트로 입력하였을 시

원격 데스크톱 창 입력 : [아이피] : [우리가 입력한 포트 번호] 



CentOS 7 특성상 파이썬 3버전을 설치하는 데에 어려움이 있습니다.

저도 CentOS 7에 파이썬 3버전을 설치하려고 했는데, 아무런 해결책이 보이지 않았습니다.

그러던 도중 StackOverflow에서 다음과 같은 소스가 저를 구해주었습니다.


01. 파이썬 셋업 툴 설치

먼저 파이썬 셋업툴을 설치해주어야 합니다.

파이썬 셋업툴을 설치하는 명령어는 다음과 같습니다.

$ sudo yum install python34-setuptools 


이를 이용하여 파이썬을 설치하게 되면 파이썬 3.4를 설치할 수 있게 됩니다.




02. 파이썬 pip 설치

이후 파이썬에서 제공하는 easy_install-3.4을 이용하여 pip를 설치해주도록 합니다.

설치 명령어는 다음과 같습니다.

$ sudo easy_install-3.4 pip 


파이썬에서 제공하는 명령어를 사용하기 때문에 yum install을 사용하지 않습니다.




03. 파이썬 설치 확인

위의 두 과정을 통해 설치가 완료되었다면 버전을 확인해보도록 합니다.

파이썬 버전을 확인하는 명령어는 다음과 같습니다.

$ python3 --version 

혹은

$ python3 -V 




CentOS 7 SSH Port Change


설치한 버전은 CentOS-7-x86_64-Everything-1611입니다. 이 중에서 Desktop 버전입니다.

/etc/ssh/sshd_config 파일을 수정해야 합니다.




00. SSH 설정에 앞서

먼저 SSH 서비스가 설치되어있는지 확인해야 합니다.

설치 방법은 다음과 같습니다.


$ sudo yum install openssh-server openssh-clients openssh-askpass 

SSH 서비스가 설치되어있다면 바로 "01. SSH 설정 파일 수정"으로 넘어가주시면 됩니다.

만약 설치가 되지 않으시는 분들은 네트워크 설정이 잘 되어있는지, 혹은 yum의 업데이트가 잘 돼있는지 확인해보시기 바랍니다.




01. SSH 설정 파일 수정

먼저 /etc/ssh/sshd_config 내에 있는 port번호를 변경해주어야 합니다.

명령어는 다음과 같이 해주어야 합니다.

$ vim /etc/ssh/sshd_config


. . . 포트 번호가 작성되어 있는 부분 수정 . . [그림 01] 참고 


[그림 01] SSH 포트번호 변경


[그림 01]은 원래 포트번호가 22로 설정되어 있었지만, 자신이 원하는 포트번호로 변경해줄 수 있습니다.

저는 32123 번호로 수정하였습니다.




02. SSH 다시 시작

설정을 바꿔줬다고 하여 바로 수정된 설정이 적용되는 것은 아닙니다.

따라서 SSH 서비스를 다시 시작하여 우리가 설정했던 내용이 적용되도록 해주어야 합니다.

이를 위해 다음과 같은 명령어를 입력해줍니다.

$ systemctl restart sshd.service


만약 Putty나 기타 SSH에 접속하여 해당 작업을 수행하더라도 문제가 없습니다.

세션(Session)이 유지되기 때문에 시버스를 다시시작해도 현재 접속은 끊기지 않습니다.

문제가 발생하면 곤란하니 접속을 끊지 않고 작업하는 게 좋습니다.




03. SELINUX 설정

위의 설정을 다 하시더라도 문제가 있을 수 있습니다.

제 경우는 SELINUX 설정을 해줘야 변경이 되더군요..

단순히 포트를 열어주거나 해도 문제는 그대로였습니다.

SELINUX를 설정하는 명령어는 다음과 같습니다.

$ semanage port -a -t ssh_port_t -p tcp 32123




04. 방화벽 설정

SELINUX만 설정한다고 어떤 OS라도 아이구야 하며, 우리가 설정한 포트번호를 들여보내주지 않습니다.

이런 경우는 우리가 설정한 포트번호가 정상적인 것임을 방화벽에 알려야 합니다.

따라서, 방화벽에 우리가 추가했던 포트 번호를 추가해주어야 합니다.

CentOS7에서의 방화벽 설정은 다음과 같이 할 수 있습니다.

$ firewall-cmd --permanent --zone=public --add-port=32123/tcp


위의 명령어는 방화벽에 우리가 설정한 포트번호를 tcp 프로토콜로 허용한다는 의미입니다.

해당 작업을 수행하고, 우리가 수정한 내용을 방화벽에 로드해주어야 합니다.

방화벽을 다시 로드하는 명령어는 다음과 같습니다.

$ firewall-cmd --reload

혹은

$ systemctl restart firewalld  




여기까지해서 설정이 마무리되었습니다.

이제 우리가 원하는 포트로 SSH를 연결해보도록 하면 되겠습니다.


+ Recent posts