개인 노트북 서버 - gaein noteubug seobeo

웹서버 소개

---

이번 시간에는
내 컴퓨터에 웹서버를 설치해서
누구나 내 컴퓨터에 있는 웹페이지를
볼 수 있도록 해 보겠습니다.

개인 노트북 서버 - gaein noteubug seobeo

이 과정은
꽤 많은 지식이 필요하기 때문에
좀 어렵습니다.

대신 인터넷이 동작하는 원리를
알 수 있다는 것은 큰 장점입니다.

개인 노트북 서버 - gaein noteubug seobeo

그리고 한 가지 당부드리고 싶은 것은
실습이 잘 작동하지 않을 가능성이 매우 높아요.
인터넷은 실제로는 매우 복잡한 시스템이거든요.
제대로 작동하는 이유는 한 가지입니다만,
작동하지 않는 이유는 수십 가지가 넘기 때문입니다.

개인 노트북 서버 - gaein noteubug seobeo

혹 작동하지 않는다고 걱정할 필요는 없습니다.
실제로는 웹호스팅을 많이 사용하거든요.
그냥 제대로 동작하고 있다고 치면 됩니다.
우리에게는 상상력이 있잖아요.

개인 노트북 서버 - gaein noteubug seobeo

물론,
문제를 해결하기 위해서 노력하는 것은
언제나 좋은 자세입니다.
대신,
이것만 기억해 주세요.

우리가 하나의 문제를 해결하는데
며칠이 걸릴 수도 있습니다.

개인 노트북 서버 - gaein noteubug seobeo

하지만
우리는 하나의 문제만 해결한 것이 아니라,
그 과정에서 수많은 지식과 경험을 얻게 됩니다.

개인 노트북 서버 - gaein noteubug seobeo

우선 우리가 해야 할 일은
자신의 컴퓨터에
웹서버라는 프로그램을
설치해야 합니다.

개인 노트북 서버 - gaein noteubug seobeo

웹브라우저는
제품명이 아니라
제품군이죠?

웹서버도 마찬가지입니다.
웹서버라는 제품군에는
여러 제품이 있습니다.

Apache
IIS
Nginx

이 중에서
우리가 사용할 소프트웨어는
Web Server for Chrome입니다. 

개인 노트북 서버 - gaein noteubug seobeo

이 도구는 아주 작지만, 실용적인 웹서버입니다. 
크롬의 확장 기능으로서 설치되는 프로그램이기
때문에 이름에 크롬이 들어갑니다. 

개인 노트북 서버 - gaein noteubug seobeo

이 도구를 설치하기 위해서는 
크롬 웹브라우저가 설치되어 있어야 합니다. 
크롬에서 아래 주소로 방문해보세요. 

https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb

또는 검색엔진에서 'Web Server from Chrome'으로 검색해보세요.

개인 노트북 서버 - gaein noteubug seobeo

Add to Chrome 버튼을 눌러서 설치합니다. 

개인 노트북 서버 - gaein noteubug seobeo

운영체제에서 Web Server for Chrome을 검색하거나, 
주소창에 chrome://apps 을 입력해서 앱을 찾아서 실행합니다. 

 

개인 노트북 서버 - gaein noteubug seobeo

개인 노트북 서버 - gaein noteubug seobeo

실행한 모습은 아래와 같습니다. 

개인 노트북 서버 - gaein noteubug seobeo

우선 해야 할 것은 
누군가 웹서버에 접속했을 때 
어느 디렉터리에서 파일을 찾을지를 
웹서버에 알려줘야 합니다. 

2번 CHOOSE FOLDER을 선택하고  
바탕화면의 web 폴더를 선택하면 됩니다. 
이제 웹서버는 이 폴더 안에서만 요청한 파일을 찾아서 응답하게 됩니다. 

그리고 1번의 스위치를 오른쪽으로 이동하면 웹서버가 실행됩니다.

개인 노트북 서버 - gaein noteubug seobeo

Web Server URL(s)를 보면 
http://127.0.0.1:8887 이라는 주소가 보입니다. 
이 주소를 웹브라우저의 주소창에 입력해보세요.

개인 노트북 서버 - gaein noteubug seobeo

짜잔! 우리가 만든 웹사이트가 보입니다. 
박수!!

우리는 웹서버를 통해서 웹페이지를 가지고 오고 있습니다. 
그것을 확인하는 좋은 방법이 있습니다. 
웹서버를 끄고 접속해보세요. 

개인 노트북 서버 - gaein noteubug seobeo

웹사이트가 열리지 않습니다. 

개인 노트북 서버 - gaein noteubug seobeo

다시 켜고 접속해보면 정상적으로 웹페이지가 열립니다. 
 

웹서버를 통해서 웹페이지를 여는 것과 
파일 찾기를 통해서 웹페이지를 여는 것은 구체적으로 어떤 차이가 있을까요? 

주소를 비교해보겠습니다. 

파일 찾기로 열었을 때 : file///Desktop/web/index.html
웹서버를 통해서 열었을 때 : http://127.0.0.1:8887/index.html
이것을 그림으로 나타내면 아래와 같습니다. 

개인 노트북 서버 - gaein noteubug seobeo

웹서버로 접속한 주소를 자세히 살펴볼까요?

개인 노트북 서버 - gaein noteubug seobeo

http는 웹페이지를 주고받기 위한 통신 규약인
http를 이용해서 통신하겠다는 뜻입니다. 

127.0.0.1은 Internet Protocol Address로서 
인터넷에서 상용하는 주소를 의미합니다. 
IP Address는 0.0.0.0부터 255.255.255.255까지의 주소가 존재합니다. 
약 42억 개의 주소가 존재합니다. 
이렇게 많은 주소 중에서
127.0.0.1은 내컴퓨터 자신을 가르키는 특별한 주소입니다. 

Port는 지금은 모르셔도 됩니다. 

그런데 같은 컴퓨터에 설치된 
웹브라우저와 웹서버가 정보를 주고받는 것은 
현실 세계의 웹과는 다르죠?
서로 다른 컴퓨터끼리 정보를 주고 답을 수 있어야 합니다. 

개인 노트북 서버 - gaein noteubug seobeo

그런데 컴퓨터가 한 대 밖에 없다고요?
아닐걸요? 스마트폰은 전화기의 탈의 쓴 컴퓨터입니다. 
전화기는 멸종 위기에 처해있습니다. 
 

스마트폰에 설치된 웹브라우저와 
실습용 컴퓨터에 설치된 웹서버가 
서로 통신할 수 있다면 얼마나 좋을까요? 
해봅시다!

그런데 시작하기 전에 강조 드릴 것이 있습니다. 
이 작업은 10명 중 1명 정도만 성공할 것입니다. 
성공하는 이유는 하나인데 실패하는 이유는 백 가지가 넘거든요. 
혹시 실패했다고 해도 되었다고 간주해주세요. 
직접 하는 것은 천천히 하면 됩니다. 

우선 해야 할 일은 
스마트폰과 컴퓨터를 같은 네트워크에 연결해야 합니다. 
쉽게 말해서 같은 와이파이에 접속해주세요. 
예를 들어서 노트북이 ego-5G에 접속되어 있다면 
스마트폰도 ego-5G에 접속되어야 합니다. 

개인 노트북 서버 - gaein noteubug seobeo

우선 웹서버를 끕니다. 
Accessible on local network 옵션을 켭니다. 

개인 노트북 서버 - gaein noteubug seobeo

웹서버를 다시 켜서 옵션을 반영합니다. 

새로운 아이디 주소가 나타났습니다. 
이 주소가 같은 네트워크 안에서 사용할 수 있는
웹서버가 설치된 컴퓨터의 IP 주소입니다. 

개인 노트북 서버 - gaein noteubug seobeo

스마트폰의 브라우저에서 주소를 입력합니다. 

개인 노트북 서버 - gaein noteubug seobeo

축하합니다. 

한 대의 컴퓨터를 초월해서 
전 세계에 있는 수많은 컴퓨터를 
마치 내 컴퓨터인 것처럼 사용할 수 있게 된 
웅장한 진보를 목격하신 것입니다!