본 포스트를 통해 AWS Linux 2에 Oh My Zsh를 설치하고 Agnoster 테마를 적용해보겠습니다.

아직 Linux 2가 대중적으로 많이 사용되지 않기 때문인지 AWS Linux 2에 Oh My Zsh를 설치하고 적용하는 방법이 정리되어 있는 곳이 없어 한 번 정리해서 올려봅니다.

 

AWS Linux 2에 Oh My Zsh 설치하는 방법

1. AWS Root 경로에서 현재 쉘(SHELL) 확인해 보기 

Babun과 같은 터미널로 AWS Linux 2에 접속하면 루트 경로에 들어가질 것 입니다.

여기서 아래의 현재 쉘(SHELL)을 확인하는 명령어를 입력하여 쉘이 무엇으로 되어 있는지 확인합니다.

echo $SHELL

 

 

AWS에서 Linux 2를 설치하고 따로 쉘을 바꾸지 않으셨으면 아래와 같이 bash로 되어 있다고 나타날 것입니다.

 

2. Zsh 설치하기

zsh가 아닌 다른 쉘(ex. bash)로 되어 있고 이전에 Zsh를 설치한 적이 없다면 AWS Linux 2에 아래의 명령어로 Zsh를 설치해 줍니다.

sudo yum install zsh

위의 명령어를 입력하시면 아래와 같은 화면이 나타나고, Zsh 설치가 진행 될 것입니다.

 

3. 기본 쉘(Shell)을 Zsh로 바꾸기

현재 기본 쉘로 bash로 되어있으므로, 이를 Zsh로 바꿔주는 작업을 진행하겠습니다.

AWS Linux 2에서 기본 쉘을 바꾸려면 /etc 경로에 있는 passwd 파일을 수정해주어야 합니다.

아래의 명령어를 입력하여 passwd 파일을 vi 편집기로 수정합니다.(이때, sudo 명령어를 반드시 입력해야 합니다!)

sudo vi /etc/passwd

위의 명령어를 입력하면 아래와 같이 passwd 파일을 수정 할 수 있습니다.

 

여기서 맨 아래에 보면, ec2-user의 기본 쉘이 /bin/bash로 되어 있는 것을 확인할 수 있습니다.

이것을 아래의 사진과 같이 /usr/bin/zsh로 변경해 줍니다.(2번 과정으로 Zsh를 설치하였다면 /usr/bin/zsh 경로에 파일이 생성되게 됩니다.)

이렇게 /etc/passwd 파일을 수정하였다면, :wq로 저장하고 나와줍니다.

 

 

4. AWS 서버에 재접속 하기 & .zshrc 폴더 만들기

이제 Zsh 설치는 완료되었습니다. AWS 서버를 나와 다시 재접속을 하면 아래와 같은 사진이 나타나게 될 것입니다.

이는 Zsh를 처음 설치하여 기본 폴더(.zshrc)를 만들 것인지 묻는 화면으로 숫자 0을 입력하여 다음을 진행해 줍니다.

5. Oh My Zsh 설치하기

정말 다 끝나갑니다. 이제 Oh My Zsh를 설치합니다.

아래의 명령어를 입력하여 Oh My Zsh를 설치하고 기본 쉘로 변경하여 줍니다.

(사전에 Git이 먼저 설치되어 있어야 합니다.)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

 

6. Agnoster 테마 적용하기

이 부분은 이전 포스트(02_터미널 설치 - Oh My Zsh 테마 Agnoster 적용하기)와 동일합니다.

아래의 명령어를 입력하여 .zshrc 파일을 수정하여 줍니다.

vi ~/.zshrc

 

아래의 이미지와 같이 ZSH_THEME 부분을 agnoster로 변경하여 줍니다.

그러고 :wq를 입력하여 파일을 저장 후, 아래의 명령어를 입력하여 바뀐 .zshrc 파일을 적용하여 줍니다.

source ~/.zshrc

HTTP란?

 HTTP란, Hypertext Transfer Protocol의 약자로 인터넷에서 웹 서버와 웹 사용자(인터넷 브라우저) 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말합니다.


HTTP의 특징

  1. TCP/IP(Transmission Control Protocol/Internet Protocol) 응용 프로토콜
    TCP/IP란, 네트워크와 네트워크를 연결하기 위한 프로토콜로서 서로 다른 운영체제의 컴퓨터 간에도 같은 TCP/IP 프로토콜을 사용함으로써, 네트워크 통신이 가능하게 합니다.

  2. 연결 상태를 유지하지 않음
    실시간으로 항상 연결을 유지하는 것이 아닌, 웹 클라이언트의 요청이 들어왔을 때만 네트워크를 연결하여 응답을 보내는 프로토콜 입니다.

  3. 요청(Request) / 응답(Response) 방식의 통신
    서버가 먼저 웹 클라이언트에게 데이터를 보내는 것이 아닌, 웹 클라이언트가 요청(Request)을 해야만 서버에서 응답(Response)하는 방식의 통신을 합니다.


HTTP Method

HTTP 통신에 사용되는 메소드로는 HEAD, GET, POST, PUT, DELETE, OPTIONS, TRACE, CONNECT이 있습니다. 이번 포스트에서는 주로 사용하는 GET, POST, PUT, DELETE만 다루도록 하겠습니다.


 Method

설명 

 GET

  서버에 요청할 데이터를 URL(URI)에 담아서 보내는 형식

 POST

  서버에 요청할 데이터를 HTTP의 Body에 담아 보내는 형식 

 PUT

  DB에 있는 기존의 데이터를 수정(업데이트)하기 위해 사용하는 메소드(POST와 같이 Body에 데이터를 담아 보냄)

DELETE

  DB에 있는 기존의 데이터를 삭제하기 위해  사용하는 메소드(POST와 같이 Body에 데이터를 담아 보냄)



HTTP 응답코드

가끔 웹으로 어딘가를 접속하려고 할 때 "404 Not Found" 페이지가 뜨는 것을 볼 수 있습니다. 여기서 404는 HTTP 응답 코드의 하나로서 요청한 페이지가 없을 경우 표시되는 코드입니다. 자주 사용하는 HTTP코드에 대해서 다뤄보도록 하겠습니다.


 응답코드

설명 

 200

  클라이언트의 요청에 서버가 성공적으로 응답함

 201

  PUT 메소드에 의해 서버에 성공적으로 데이터가 업데이트 됨

 401

  인증이 필요한 페이지를 요청함

403

  관리자에 의해 페이지 접근이 금지됨

 404

  요청한 페이지를 찾을 수가 없음

 404

  요청한 동작에 대해 서버가 수행 할 수 없는 경우


Node.js를 공부하다보면 비관계형 데이터베이스인 Mongo DB를 꼭 한 번은 접하게 됩니다. 이번 포스트에서는 Amazon Linux 2 AMI에 Mongo DB를 설치하는 방법을 다루도록 하겠습니다. 저는 AWS EC2 인스턴스로 Linux 2 AMI을 사용하고 있지만, 다른 환경의 Linux 2에서도 설치 방법이 모두 동일합니다~



Linux 2에 MongoDB 설치하기

1. MongoDB가 이미 설치 되어있는지 확인하기

이미 MongoDB가 설치되어 있는지를 확인하기 위해 아래의 MongoDB의 버젼을 확인하는 명령어를 통해 사전 체크를 합니다.
mongod --version


2. 유저를 root로 변경

MongoDB 레퍼지토리 파일을 만들기 위해 유저를 root로 변경해 줍니다. 
sudo su


3. Pacakge Management System에 MongoDB 레퍼지토리 파일 만들기

Linux 2의 yum 명령어를 통해 MongoDB를 바로 설치하기 위해서는 먼저 MongoDB 설치 정보를 담고 있는 레퍼지토리를 만들어야 합니다. 아래의 경로와 이름으로 .repo 파일을 만들어 줍니다.
- File Path: /etc/yum.repos.d/mongodb-org-4.0.repo
vi /etc/yum.repos.d/mongodb-org-4.0.repo


mongodb-org-4.0.repo 파일을 vi 편집기로 열었다면 아래의 코드를 그대로 작성해 주시길 바랍니다.

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc



4. MongoDB 설치

정상적으로 MongoDB 레퍼지토리를 만들었다면 sudo yum install -y mongodb-org 명령어를 통해 설치가 진행됩니다.
sudo yum install -y mongodb-org

만약에 위의 명령어를 통해서 설치가 이루어지지 않는다면 레퍼지토리 파일에 오타가 있을 가능성이 매우 높습니다. 안 될 경우, 레퍼지토리 파일을 다시 체크해주시길 바랍니다. 모든게 완벽하다면 아래와 같이 설치 화면이 나타납니다.






이전 포스트를 통해 Babun과 Oh My Zsh가 잘 설치 되었는지를 확인하였습니다. 이번에는 Oh My Zsh에서 작업 환경을 더 있어보이게 만들어주는 Agnoster 테마를 적용하는 방법에 대해서 포스트 하겠습니다.

 

  

Agnoster 테마 적용 방법

1. zsh 속성 파일 vi 편집기로 열기

가장 최신 버젼의 Babun을 설치하였다면 이미 Oh My Zsh가 기본 쉘로 설정되어 있으며, 기본 테마로 Babun이 설정되어 있습니다.

아래의 명령어를 입력하여 zsh의 속성을 변경할 수 있습니다.

vi ./.zshrc

위의 명령어를 입력하면 .zshrc 파일을 편집할 수 있는 화면이 나타나고, ZSH_THEME이 babun으로 되어있는 것을 확인 할 수 있습니다.

 

 

2. Zsh 테마 Agnoster로 바꾸기

ZSH_THEME="babun"이 적혀 있는 라인에 마우스 왼쪽 클릭하여 커서를 위치 시킵니다. 그리고 키보드의 insert를 누르면 vi 편집기에서 수정을 할 수 있게 됩니다. 여기서 babun을 agnoster로 변경해 줍시다.

 

 

그 다음 ESC를 누르고 :wq를 입력하여 ./zshrc 파일을 저장(Write)하고 나와(Quit)줍니다.

 

3. Babun 재실행 하기

Babun을 종료하였다가 다시 켜 보면 Babun에 Agnoster 테마가 적용 된 것을 확인 할 수 있습니다.

 


그런데 먼가 우리가 생각했던 것 만큼 이쁘질 않습니다. 디렉토리가 파랗게 하이라이트되어 표시 되기는 하지만 맨 위에서 보여준 것 처럼 이쁜 화살표 모양으로 표시 되질 않고 있습니다.

이는 Windows에 Agnoster테마에 사용되는 Powerline이라는 폰트가 없어서 폰트가 깨져 나타나는 것 입니다. 다음 과정을 통해 Powerline을 설치해보도록 하겠습니다.

 

4. Powerline 폰트 설치하기

Powerline 폰트를 다운 받습니다.(주소: https://github.com/powerline/fonts) 그 다음, 다운받은 폴더를 찾아 install.ps1(Windows PowerShell 파일)을 마우스 우측 클릭을 합니다.  'PowerShell에서 실행'을 선택하여 설치하여 줍니다.(Powerline 폰트 설치에는 3~5분 정도가 소요될 수 있습니다)



5. Babun 폰트 변경하기

Powerline 폰트 설치가 완료되면 Babun에서 설치된 폰트로 변경해 주기만 하면 됩니다!

Babun을 실행시켜 제목 표시줄에 마우스 우클릭으로 Options을 선택합니다.



 그 다음, 왼쪽 카테고리에서 Text를 선택한 후, Font 창에서 Select를 눌러 폰트를 'DejaVu Sans Mono for Powerline'으로 변경해 줍니다.



 6. Powerline이 적용된 Agnoster 테마 확인

모든 설정이 정상적으로 완료되었으면, 아래의 사진과 같이 이쁜 Babun 화면을 볼 수 있으실 겁니다!

이제 이쁘고 멋진 Babun으로 AWS 클라우드 서버에 접속하여 원격으로 제어 해 볼까요?



 

 

Amazon Web Service(이하 AWS)에서 클라우드 서버를 호스팅 할 경우 터미널을 이용해 원격으로 접속할 필요가 있습니다. 터미널의 종류로는 Windows PowerShell, Babun, Putty 등 다양한 것이 있지만, 이번 포스트에서는 Babun을 설치하여 Oh My Zsh까지 확인하는 방법을 다루도록 하겠습니다.

 

 

Babun 이란?

Babun은 bash보다 더 좋은 zsh 환경설정을 할 수 있는 프레임워크인 Oh My Zsh 테마를 적용할 수 있는 Windows Shell 입니다. 예전에는 Babun에다가 Oh My Zsh를 따로 설치하여야 했지만 최신 버젼의 Babun에서는 Oh My Zsh가 기본으로 설정되어 제공됩니다.

 


Babun 설치 방법

1. Babun 다운로드

공식 홈페이지(http://babun.github.io/)에 접속하여 Babun을 다운 받습니다.(제가 이용하는 버젼은 babun-1.2.0-dist 입니다)

 

 

 

2. Babun Intall

다운받은 폴더의 압축을 풀어 Install 파일을 찾아 실행시킵니다.

 

 

3. Babun 실행 및 Zsh 설정 확인

Babun이 정상적으로 설치되었다면 바탕화면에 Babun을 실행 시킬 수 있는 아이콘이 생깁니다.(만약 아이콘이 없다면, Window + R을 눌러 실행창에서 babun을 입력하시면 됩니다)

Babun을 실행하여 Zsh가 정상적으로 설정되어 있는지 확인해 보도록 하겠습니다. 아래의 두 명령어를 입력하면 설치된 zsh의 버젼과 현재의 기본 Shell이 무엇인지 확인 할 수 있습니다.


zsh --version
which $SHELL

 

결과 화면이 아래와 같이 나오면 정상적으로 설치된 겁니다.

 

 

 

 

구글이나 네이버에 들어갈 때 웹 페이지에서 하이퍼링크를 클릭해서 들어가기도 하지만, 주소창에 구글 URL(https://www.google.co.kr)을 직접 입력하여 들어가기도 합니다다. 이렇게 인터넷 상의 모든 사이트에는 URL이란 것이 사용되고 있다. 이번 포스트에서는 항상 사용해서 익숙하지만 잘 신경쓰지 않았던 URL에 대해서 다뤄보도록 하겠다.


1. URL이란?

URL이란, Uniform Resource Locator의 약자로 직역하면 자원 위치 지정자 표준이 된다. 주소 문자열이라고도 하며 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약을 URL이라고 한다.


URL(Uniform Resource Locator): 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약




2. URL의 구성 요소

URL은 크게 Protocol, Host, Query, Path 라는 4개의 요소로 구성되어 있다. 구글에 '코딩하는 토끼'라는 문장을 검색한 URL을 한 번 자세히 들여다 보자.


 구분

설명 

 Protocol

 어떤 통신 규약을 따라 통신을 하는지를 나타냄

Host 

 정보를 가져오는 사이트 이름(혹은 컴퓨터의 위치)

Query

 어떤 작업(검색, 수정, 업로드 등)을 수행할 것인지에 대한 정보

 Path

 접근하려고 하는 파일의 경로




+ Recent posts