티스토리 뷰

수업 노트/정보통신

인터넷 동작 원리 실습 #3

오리지날초이 2023. 5. 22. 10:16

지난 시간에 내가 작성한 웹페이지를 인터넷에 연결하기 위해서

웹서버를 설치하는 수업을 진행하겠습니다.

 

웹서버 프로그램은 VM 내부에 설치한다는 점에 주의해주세요.

 

사실 본체 PC 에 설치하고 잘 관리한다면 상관이 없지만

설치시 문제가 발생하거나 이후의 사용하지 않음에도 제대로 관리하지 못할 경우를 생각했을 때는

VM 내에서만 설치하고 운용하는게 훨씬 더 깔끔하기 때문입니다.

 

따라서 이번 시간의 모든 작업은 vm 에서만 이루어집니다.

본체에서 해당 작업을 따라하지 않도록 주의해주세요.

 

 

1. 웹서버 프로그램(apache) 를 다운받기 위해 apachelounge.com 에 접속해주세요.

왼쪽의 downloads 탭으로 들어갑니다.

 

2. 아파치 설치 파일을 다운 받습니다.

우리는 httpd 로 이름이 붙은 설치 파일을 다운로드 받을 건데

httpd 는 주로 리눅스에서 많이 사용되는 아파치 프로세스 명칭입니다.

 

httpd 서비스를 제공하는 daemon(데몬) 이라는 네이밍인데

데몬은 운영체제(OS) 에서 한번 작동하고 종료되는 프로그램이 아닌

지속적으로 동작하며 다른 사용자들의 접속을 기다리는 일을 주로 하는 프로세스를 지칭하는 용어입니다.

 

웹서버 같은 경우는 htttp 서비스를 제공하기 위해 항시 동작하고

다른 사용자의 접속을 기다리는 일종의 전용 프로그램입니다.

httpd 라는 네이밍이 아주 정확히 들어맞는 다는 것을 알 수 있습니다.

 

httdp-2.4.57-win64-VS17.zip 파일을 다운받습니다.
 
 
3. 다운로드 받은 파일의 압축을 풀어줍니다.
 
사실 윈도우용 아파치 설치파일을 찾다보면
helloAPM 이나 그냥 apache-tomcat 으로 되어있는 인스톨러를 쉽게 구하고
간편 인스톨러로 쉽게쉽게 설치할 수도 있습니다.
 
우리는 간편 인스톨이 아닌 수동 인스톨에 가깝게 설치를 진행할 건데
실제 프로그램 설치에는 여러 단계와 설정이 작동한다는 점을 꼭 이해하고 진행했으면 좋겠습니다.
 
 
 
 
4. 압축을 풀어서 나타난 apache24 폴더를 c:\ 에 붙여넣기 해줍니다.
 
 
5. 이제 우리는 c:\apache24 폴더를 기준으로 웹서버 설정을 할 겁니다
 
C:\Apache24\conf\httpd.conf 를 메모장으로 열어줍니다.
 
c:\apache24 폴더에는 conf 폴더가 있고 그 안에는 httpd.conf 파일이 들어있습니다.
 
 
 
6. conf 파일에서 # 은 주석을 의미합니다.
 
현재 진행중인 웹서버 설치는 전부 vm 에서 작업하는 겁니다.
착각해서 본체에 apache 를 설치하지 않길 바랍니다.
 
메모장 첫줄에서 ctrl + f 로 찾기 메뉴를 띄웁니다.
 
 
7. 검색어 serverroot 로 찾기를 진행합니다.
몇번 찾다보면 # 이 없는 ServerRoot ${SRVROOT} 항목을 찾을 수 있습니다.
 
 
우리가 찾은 ServerRoot 항목의 설정값은 ${SRVROOT} 값을 받아옵니다.
 
${SRVROOT} 는 httpd.conf 파일 내에서 사용되는 변수명을 의미하고
이 변수는 바로 위에 Define SRVROOT 를 통해서 "c:\Apaceh24" 값이 반영되어 있네요.
 
서버의 루트, 즉 서버 기준 디렉토리를 설정해주는 항목입니다.
우리도 이 설정값에 어긋나지 않게 c:\apache24 폴더를 구성해서 작업하고 있음을 확인했습니다.
 
 
 
 
7. 마찬가지로 ctrl + f 로 listen 을 찾습니다.
몇번 넘기다보면 주석이 없는 Listen 80 을 찾을 수 있습니다.
 
우리의 설정파일을 통해 http 접속의 기본 포트가 80번 포트로 설정되어 있음을 확인할 수 있습니다.
만일 이 포트 번호를 바꾼다면 우리도 바뀐 포트번호로 이후의 설정을 변경해야 할 것입니다.
 
우리는 기본(디폴트) 포트 80임을 확인했으니 넘어갑니다.
 
 
 
8. 이번엔 serveradmin 을 찾습니다.
 
일반사용자가 조회할 수 있는 관리자 연락처는 아니고
검색엔진이나 사이트 등록 후 조회할 때 보여줄 관리자 email 연락처 정도 됩니다.
 
사실 우리는 vm 으로 로컬 테스트만 진행하면 되기에
굳기 본인 email 계정을 기입하지 않아도 별 상관 없습니다.
 
 
 
9. servername 을 검색합니다.
여기는 주석이 되어있는데 주석을 해제해줘야 합니다.
 
해당항목은 apache 웹서버가 사용하는 기본 도메인 이름을 설정하는데 사용됩니다.
이 설정은 웹 서버가 도메인 이름을 통해 접근되는 경우 요청을 처리하는데 중요한 역할을 합니다.
 
우리는 이 부분을 localhost:80 으로 변경해줍니다.
 
servername 을 찾았으면
 
 
주석을 해제하고 localhost:80 을 기입해주세요
 
 
10. documentroot 를 검색해서 
주석이 없는 documentRoot ${SRVROOT}\htdocs 를 확인합니다.
 
documentRoot 에 반영된 경로값이 웹서버의 웹문서 전용 디렉토리로 동작합니다.
 
${SRVROOT} 가 c:\apache24 였으므로
c:\apache24\htdocs 폴더에 html 문서를 만들어서 탑재하면 
해당 파일경로가 url 경로로 반영되게 됩니다.
 
 
 
 
11. errorlog 를 검색해서 ErrorLog 생성 폴더가 logs/error.log 가 맞는지 확인하고 넘어갑니다.
여기까지 간단하게 주요 설정을 확인하고 메모장 종료합니다.
 
 
 
 
12. 아직 httpd 를 httpd 실행하기 전에 해야할 일이 있습니다.
 
바로 path 값 설정인데 
 
파일탐색기 - 내 PC - 우클릭 속성 - 고급시스템 설정 - 환경 변수 - 시스템변수 - path - 편집
메뉴를 통해 아래 그림과 같은 환경변수 편집 화면을 불러옵니다.
 
 
그리고 새로 만들기 - c:\apache24\bin
를 등록 후 확인버튼을 누르고 빠져나옵니다.
 
path 에 등록된 경로는 윈도우 어디에서던지 실행이 가능한 경로입니다.
 
우리는 path  에 apache 실행경로를 설정해두었기 때문에
앞으로는 apache 실행파일은 마치 윈도우 명령어처럼 자유자재로 사용할 수 있게 된 것입니다.
시스템 변수 path 값을 입력해줘야 합니다.
 
path 에 등록된 경로에 들어가보니 apache 관련된 여러 실행 파일들이 존재합니다.
 
13. 이제 vm 에서 cmd 메뉴를 호출 하고 
httpd.exe -k install 를 입력함으로써 apache 인스톨을 진행하면 됩니다.
그런데 예상치 못하게 엑세스 거부 오류가 나타나네요.

14. 에러메세지를 잘 확인해보니 관리자 권한 부재로 인한 문제인것 같습니다.
vm 에서 cmd 를 실행하되 명령프롬프트(cmd) 를 실행 전 우클릭 -관리자권한 으로 실행해 줍니다.

 
관리자 권한으로 실행된 cmd 화면에서 아까와 같이
httpd.exe -k install 를 입력합니다.
 
아까와 같은 에러 없이 설치가 잘 되고 있습니다.
 
자동 설치에서는 방화벽룰까지 세팅해줍니다. 엑세스 허용으로 진행해주면 됩니다.

 

15. 인스톨은 성공적으로 끝났지만 아직 웹서버가 정상적으로 실행된 단계는 아닙니다.

 

웹서버 정상 가동을 확인할 수 있는 가장 확실한 방법은

웹사이트에 접속해보는 것입니다.

 

vm 의 인터넷 브라우져를 통해 http://localhost 로 접속해보았지만 역시 웹접속이 잘 되지는 않네요.

 
 
 
혹시나 해서 방화벽을 점검해보았는데
방화벽에는 신규 http 허용룰이 잘 반영되어 있습니다.
 
 
 
작업관리자를 살펴보면 서비스 항목에 apache24 가 신규 등록되었지만
중지 상태인 것을 확인할 수 있습니다.

우클릭을 통해서 간편 실행을 해줘도 되겠지만
cmd 에서 httpd.exe -k start 명령을 통해 실행해주도록 하겠습니다.

 
 
 
 
apache2.4 서비스가 정상 작동 중인 것이 확인됩니다.
 
 
 
 
16. 이제 vm pc 에서 웹서버가 작동되고
자기자신(localhost)에 담겨있는 샘플페이지로 접속이 잘 됩니다.
 
 
17. vm 내부에서 연결이 잘 되었으면 이제는 본체 PC 에서 VM 으로 웹접속이 잘 되는지 확인해볼 차례입니다.
vm ip 를 확인하고 본체에서 접속을 시도합니다.
 
18. https 방식이 아니기 때문에 안전하지 않은 사이트로 인식을 하는데
무시하고 그냥 진행합니다.
 
19. 마찬가지로 htdocs 페이지에 탑재된 기본 샘플페이지가 잘 보이는 것을 확인할 수 있습니다.
 
 
※ 본체와 vm 사이에서 인터넷 접속이 잘 되었다는 건 
나중에 여러분들이 개인 PC에서 apache 를 설치하고 웹서버를 운용하면
인터넷에 연결이 된다는 의미입니다.
 
하지만 가정 환경에서는 192.168.x.x  로 통칭되는 가상 ip 대역을 사용하기 때문에
개인 PC 에 설치한 웹서버가 인터넷에서 원할히 작동하기에는 무리가 있습니다.
 
그럼에도 일부 공유기(IPTIME 등) 에서 제공하는 DDNS 와 포트포워딩 기능을 사용하면
내 PC 에 고정된 가상 IP 를 할당하고, 이를 특정 포트에 할당해서
iptime.org 의 서브도메인과 연결할 수 있습니다.
 
더 궁금하신 분은 아래 링크를 참고하면 도움이 될 것입니다.
 
 

유동 IP 변경 주기를 이해하고 공유기를 고정 IP처럼 바꿔주자

공유기는 유동 IP라서 외부에서 접속하는 것이 어렵다. 고정 IP처럼 고정 도메인 주소로 바꿀 수 있다. ipTime 공유기의 자체 DDNS를 사용해서 해결해 보자.

www.site.ne.kr

 

 

728x90
반응형

'수업 노트 > 정보통신' 카테고리의 다른 글

인터넷 동작 원리 실습 #5  (0) 2023.06.12
인터넷 동작 원리 실습 #4  (0) 2023.05.30
인터넷 동작 원리 실습 #2  (0) 2023.05.17
인터넷 동작 원리 실습 #1  (0) 2023.05.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함