강의 내용

서브 도메인

보조 도메인으로써, URL로 전송하거나 계정 내의 IP주소나 디렉토리로 포워딩되는 도메인 이름의 확장자

ex) 네이버 블로그 - blog.naver.com

      네이버 메일 - mail.naver.com

 

리다이렉션

URL을 웹 서버에게 요청했을때 HTTP 응답 메시지를 통해 브라우저에게 다른 URL을 지시하는 것

 

HTTPS

인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 이용하여 클라이언트와 서버가 데이터를 주고 받는 통신 규약

 

실습 내용

리눅스에 nginx, php, mysql 설치하기

nginx 설치하기

$ sudo apt update
$ sudo apt install nginx

 

mysql 설치하기

$ sudo apt install mysql-server
$ sudo mysql_secure_installation

비밀번호 보안 강도 => 0 (Low)

Disallow root login remotely? => n

나머지 => y

 

php 설치하기

$ sudo apt install php-fpm php-mysql

 

=> 탄력적 주소로 검색하면 nginx 화면이 뜨면 성공

 

nginx와 php 연동하기

phpinfo.php 생성

$ cd /var/www/html
$ sudo vi phpinfo.php
<?php
	phpinfo();
?>

 

nginx와 php 연동

$ sudo vi default

위의 명령어로 nginx 설정 파일로 들어간 다음

이 부분의 주석 제거 및 php 버전에 맞게 수정

 

$ sudo nginx -t

명령어를 사용하여 test가 success되는지 확인

$ sudo service nginx restart

설정 변경 후에는 항상 위의 명령어를 사용하여 재시작해야함

 

=> 탄력적 주소/phpinfo.php를 검색하여 phpinfo 창이 뜨면 성공

도메인 구입하여 적용하기

https://www.gabia.com 에서 가장 싼(500원) .shop으로 도메인 구매 

=> www.umc-jeje.shop   (현재 aws 해지한 상태라 접속X) 

 

DMS 레코드 수정 창에서 아래와 같이 레코드 추가

타입 호스트 값/위치 TTL
A @ (탄력적 주소) 3600
A www (탄력적 주소) 3600
CNAME dev (나의 도메인 주소) 3600
CNAME prod (나의 도메인 주소) 3600

 

nginx 설정 파일에서 server_name에 연결할 url 입력

ex) server_name umc-jeje.shop www.umc-jeje.shop;

 

=> 도메인으로 접속하여 잘 접속이 되면 성공

서브 도메인 적용하기

/var/www/html 로 이동하여 dev와 prod 폴더를 생성한 후 각각 html 파일을 생성

$ cd /var/www/html
$ sudo mkdir dev
$ sudo mkdir prod

$ sudo vi index.html

 

dev의 index.html에는 

<h1>It Works! dev</h1>

prod의 index.html에는 

<h1>It Works! prod</h1>

입력

 

이후 nginx 설정 파일에 sever 블록 2개 생성

server {
	listen 80;
    listen [::]:80;
    
    root /var/www/html/dev;
    index index.html;
    
    server_name dev.umc-jeje.shop;
    
    location / {
    	try_files $uri $uri/ =404;
    }
}

server {
	listen 80;
    listen [::]:80;
    
    root /var/www/html/prod;
    index index.html;
    
    server_name prod.umc-jeje.shop;
    
    location / {
    	try_files $uri $uri/ =404;
    }
}

 

=> nginx 테스트와 restart 후 주소창에 서브 도메인이 접속 후 dev에서는 It Works! dev, prod 에서는 It Works! prod가 나타나면 성공

 

리다이렉션 적용하기

nginx default 파일에서 server 블록 추가

server {
	listen 80;
    server_name (탄력적 주소);
    return 301 http://umc-jeje.shop$request_uri;
}

 

=> 탄력적 주소로 검색했을 때 도메인 주소로 접속이 되면 성공

 

챌린지 과제

HTTPS 적용하기

Let's Encrypt를 통해 Cerbot를 설치

 

패키지 설치

$ sudo apt update   
$ sudo apt upgrade  
$ sudo add-apt-repository ppa:certbot/certbot 
$ sudo apt install python3-certbot-nginx

저장소가 최신 버전이어야 함

 

SSL 인증서 받기

ec2 인스턴스에 인바운드 규칙 HTTPS - 443 추가

 

$ sudo certbot --nginx -d umc-jeje.shop -d www.umc-jeje.shop -d dev.umc-jeje.shop -d prod.umc-jeje.shop

명령어 입력 후 이메일 등록하면 설치 완료

www.ssllabs.com/ssltest/

 

SSL Server Test (Powered by Qualys SSL Labs)

SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or

www.ssllabs.com

이 링크에서 도메인 주소를 입력해서 테스트 하기

 

server {
	listen 80;
    server_name (탄력적 주소);
    return 301 https://umc-jeje.shop$request_uri;
}

http를 https로 변경

 

워크북 및 추가 개념

Let's Encrypt

무료로 TLS/SSL 인증서를 쉽게 가져오고 설치할 수 있는 방법을 제공하는 인증기관으로 암호화된 HTTPS를 사용할 수 있음

 

OS

운영체제

컴퓨터 시스템의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 운영 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어

 

Linux 

리누스 토르발스가 커뮤니티 주체로 개발한 컴퓨터 운영체제

장점

  • 유닉스와 완벽하게 호환 가능
  • 공개 운영체제
  • PC용 OS보다 안정적
  • 무료
  • 하드웨어의 기능을 알차게 사용
  • 강력한 네트워크 구축
  • 강력한 보안 기능
  • 인터넷의 모든 기능을 지원
  • 개발 환경이 풍부

단점

  • 공개 운영체제이기 때문에 문제 발생시 보상 X
  • 한글 입출력에 어려움
  • 기술지원의 부족
  • 특정 하드웨어에 대한 자원이 부족
  • 사용자의 숙련된 기술이 요구

사용 이유

  • 모든 소스가 오픈되어 있어 광범위하게 사용
  • 다중사용자, 다중작업을 지원하기때문에 시스템적으로 서버를 운영하기에 적합
  • 기업에서 많이 사용

 

IP

네트워킹이 가능한 장비를 식별하는 주소

 

URL(Uniform resource locator)

인터넷에서 정보의 위치를 알려주는 표준 주소체계

 

Domain

인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자로 만든 인터넷 주소

 

Name Server

DNS라고도 하며 IP주소와 도메인 주소를 연결

 

 

후기

리눅스 명령어를 42서울의 라피신을 통해 알고있던 터라 빠르게 구축할 수 있었다.

cerbot은 설치 시 잘 되지 않는 부분이 있어 삭제 후 다시 설치 했더니 다행이 무사히 설치할 수 있었다.

나만의 도메인을 구입하여서 연결하는 부분이 가장 흥미로웠다.

도메인을 ec2의 환경에 적용하고, 적용한 내용이 반영이 되는 것이 신기하였다.

복사했습니다!