(win7) 윈도우7 에서 IIS (웹서비스) 실행하기

Posted by 나에요임마
2018. 2. 28. 23:22 Program/ASP
윈도우 OS 에서는 자체적으로 ‘인터넷 정보 서비스(Internet Information Services, IIS)’를 지원한다.
물론, 각 OS 버전별로 가정용으로 제작되어 나오는 ‘홈에디션(Home Edition)’의 경우에는 지원하지 않으므로 주의할 것.
일반적으로, ‘프로페셔널(Professional)’ 버전 이상의 버전에서는 간단한 절차만 거치면 ‘IIS 서비스’를 가동할 수 있다.
‘윈도우XP’ 까지는 ‘IIS’를 사용하기 위해서 다시 윈도우 CD가 필요했는데, 다름 아니라 윈도우 CD 의 ‘i386’ 폴더에 관련 정보가 들어있기 때문이다.
‘윈도우7’의 경우에는 일단 설치만 하면, 나중에 필요할 때 몇 가지 간단한 절차를 거치면 바로 ‘IIS’ 를 기동할 수 있다.
하지만, 일반적으로 인터넷에 올라온 자료에서는 자세한 설명이 빠져 있어서, ‘ASP’로 작성된 웹페이지를 가동하려고 할 때 에러가 나서 무엇이 문제인지 한참을 헤매게 된다.
이하, ‘IIS’ 를 가동하고, ‘ASP 스크립트’로 작성된 웹사이트를 기동하기 위한 상세한 절차를 설명해본다.

‘IIS’ 서비스를 설치하기 위해서는 ‘제어판 → 프로그램 및 기능’ 항목을 클릭한다.

‘프로그램 및 기능’ 팝업창이 뜨면, 좌측의 메뉴에서 ‘Windows 기능 사용/사용 안함’ 항목을 클릭한다.

그러면 다시 ‘Windows 기능’ 이라는 팝업창이 뜬다.
여기에서 ‘인터넷 정보 서비스’ 항목을 찾아 그 하부의 ‘World Wide Web 서비스’ 항목과 ‘웹 관리 도구’ 항목에 체크한 뒤 ‘확인’ 버튼을 눌러 설치한다.
이것이 인터넷에 올라온 자료들에서 설명하는 방법이다.
그런데, 이렇게 하게 되면 ‘ASP 스크립트’로 작성된 웹페이지가 동작하지 않고 오류가 발생한다.

물론, 브라우저에서 ‘http://localhost’ 라고 입력하면, 위 화면에서처럼 ‘IIS 서비스’가 정상적으로 구동되었음을 보여주는 화면을 볼 수 있다.
하지만, ‘윈도우7’ 에서는 ‘ASP’ 로 만들어진 웹페이지를 기본적으로 지원하지 않는다.
아마도 윈도우에서 ‘닷넷’을 여전히 계속 밀고 있기 때문인 것 같은데, ‘ASP’ 로 작성된 웹페이지를 구동하기 위해서는 조금 더 주의를 기울여야 한다.

이렇게 설치된 ‘IIS’ 환경에서 ‘ASP’ 로 작성된 웹페이지를 기동해보면 에러페이지가 출력된다.
일단, ‘ASP’ 로 작성된 웹페이지가 가동되게 설정을 바꾼 뒤 자세한 설명을 이어간다.

기본적으로 설치된 ‘IIS’ 의 디렉터리 위치는 아래와 같다.

‘C:\inetpub\wwwroot’ 폴더에 ‘iisstart.htm’ 이라는 문서가 동작한 것이다.
하지만, 이 문서에는 ‘ASP’ 로 작성된 스크립트 코드가 들어있지 않다.
정확한 테스트를 위해서, IIS 의 시작폴더를 임의의 다른 폴더로 변경해보자.


다시 ‘제어판 → 관리도구’ 에서 ‘IIS(인터넷 정보 서비스) 관리자’를 찾아 클릭한다.
(‘IIS’ 서비스가 정상적으로 설치되었다면, 이 항목이 생겨난다.)

좌측 디렉터리 메뉴에서 ‘Default Web Site’ 항목을 클릭하면, 우측 중간 부분에 ‘고급 설정...’ 이라는 항목이 보일 것이다.
이 항목을 클릭하면, ‘IIS’ 가 시작되는 폴더를 임의로 변경할 수 있다.

‘고급 설정’을 눌러 뜬 팝업창에서 ‘실제 경로’에 지정된 경로를 클릭하면 경로를 변경할 수 있다.

이 경로를 마우스로 클릭하면, 우측 끝에 ‘...’ 으로 보이는 버튼이 생성되는데, 이 버튼을 클릭하면 ‘폴더 찾아보기’ 팝업창이 생긴다.
이 경로를 임의의 경로인 ‘C:\testWEB’ 라는 곳으로 변경해보자.
(물론, 새로 폴더를 만들어야 한다.)

이 과정이 모두 끝났다면, 새로 만든 폴더에 ‘ASP’ 로 작성된 웹페이지를 올려놓고 다시 주소창에 ‘로컬호스트(localhost)’를 입력하여 호출해본다.

위 화면에서처럼, 새로 만든 폴더에서 텍스트 문서를 하나 새로 만든다.

그리고 이 텍스트 문서에 ‘ASP 스크립트’를 작성해서 넣는다.

이제, ‘ASP’ 스크립트를 작성하여 만들어진 웹사이트를 실행할 준비는 마쳤다.

하지만, 실제로 브라우저에서 ‘localhost’를 호출해보니, 위의 화면처럼 에러가 출력되었다.
위에서 언급했듯이, 설정을 따로 하지 않고 그냥 기본 값으로 ‘IIS’를 설치하면 이렇게 된다.

다시, ‘IIS’ 설치를 할 때의 화면으로 돌아 가보자.

다시 ‘제어판 → 프로그램 및 기능’ 을 연 뒤, 좌측 메뉴에서 ‘Windows 기능 사용/사용 안함’ 항목을 클릭해서, ‘IIS’ 의 설치 세부 항목을 살펴보자.

‘인터넷 정보 서비스’ 항목을 찾는다.

‘응용 프로그램 개발 기능’ 항목의 하부 항목을 살펴보면, ‘ASP’ 라는 항목의 체크가 빠져 있는 것을 볼 수 있을 것이다.
즉, 따로 설정 값을 바꾸지 않고 기본 값으로 설치하면, ‘ASP’ 기능이 빠진 채로 설치가 되는 것이다.
‘ASP’ 항목에 체크를 하고, ‘서버측 include’ 기능도 필요하면 미리 체크를 해두고 ‘확인’ 버튼을 누른다.
(*서버측 include: ASP 스크립트에서 상대 경로를 사용하여 현재 실행 위치보다 상위의 파일을 include 할 때 유용하게 사용 됨)

이렇게 설치가 완료되면, ‘C:\Windows\System32\inetsrv’ 폴더에 들어가보면 ‘asp.dll’ 이라는 파일이 보일 것이다.
만약, 기본 값으로 그냥 설치하면, ‘asp.dll’ 파일이 없다.
그래서 ‘ASP’ 코드로 작성된 웹페이지가 실행될 때 에러가 나는 것이다.

‘IIS 관리자’ 에서 ‘처리기 매핑’ 항목을 보면 ‘ASPClassic’ 이라는 항목을 사용하는 것으로 되어 있을 것이다.
즉, ‘ASP’ 기능을 사용하게 설치를 해야, ‘ASP’ 와 관련된 서비스 기능들이 정상적으로 설치가 되고, 그에 따라 ‘ASP’ 코드로 작성된 웹페이지가 정상적으로 가동할 수 있게 되는 것이다.

다시, 브라우저에서 ‘http://localhost’를 쳐보자.
IE9 에서는 위에서 보이는 것처럼 이상한 페이지가 나올 수 있다.

이런 경우, 브라우저 우측의 ‘호환성 보기’ 버튼을 클릭해주면, 한글이 정상적으로 출력된다.