연습: Visual Web Developer에서 로컬 IIS 웹 사이트 만들기
업데이트: 2007년 11월
Visual Web Developer에서 웹 페이지와 기타 파일을 서로 다른 위치에 유지하는 웹 사이트를 만들고 편집할 수 있습니다. 웹 페이지와 기타 파일을 저장할 수 있는 위치는 다음과 같습니다.
로컬 하드 디스크의 폴더에(파일 시스템 웹 사이트라고 함)
Microsoft IIS(인터넷 정보 서비스) 로컬 복사본 아래의 웹 응용 프로그램으로(로컬 IIS 웹 사이트라고 함)
원격 서버의 웹 사이트 작업을 수행할 수도 있습니다. 자세한 내용은 Visual Web Developer의 웹 사이트 형식을 참조하십시오.
이 연습에서는 로컬에 설치된 IIS 복사본으로 실행되는 두 개의 웹 사이트를 사용합니다. 웹 사이트 중 하나는 물리적으로 IIS의 루트 폴더(일반적으로 C:\Inetpub\wwwroot)에 있습니다. 두 번째 웹 사이트는 하드 디스크의 편리한 폴더에 있지만 가상 디렉터리를 사용하여 IIS에서 사용할 수 있습니다.
IIS를 사용하여 웹 사이트를 테스트할 수 있습니다. 다른 사용자의 연결을 허용하도록 컴퓨터를 구성하면 해당 사용자도 웹 사이트를 사용할 수 있습니다.
참고: |
---|
컴퓨터에서 IIS를 실행할 수 없어도 Visual Web Developer를 실행하여 ASP.NET 웹 사이트를 만들고 테스트할 수 있습니다. 자세한 내용은 연습: Visual Web Developer에서 기본 웹 페이지 만들기를 참조하십시오. |
이 연습에서 수행할 작업은 다음과 같습니다.
IIS 루트에 응용 프로그램과 페이지 만들기
IIS 가상 루트를 사용하는 응용 프로그램 만들기
IIS를 사용하여 페이지 실행
솔루션 탐색기에서 IIS 작업
사전 요구 사항
이 연습을 완료하려면 컴퓨터에 IIS가 로컬로 설치되어 있어야 하고 관리자 권한이 있는 사용자로 로그인해야 합니다. IIS 메타베이스(IIS 응용 프로그램 정보가 저장되는 위치)로 작업하려면 관리자 권한이 필요하기 때문입니다.
IIS 루트에 웹 사이트 만들기
이 연습의 첫 단계에서는 IIS 기본 폴더(일반적으로 \Inetpub\wwwroot)에 있는 웹 사이트를 만듭니다.
IIS 루트에 새 로컬 IIS 웹 사이트를 만들려면
Visual Web Developer를 엽니다.
파일 메뉴에서 새 웹 사이트를 클릭합니다.
새 웹 사이트 대화 상자가 나타납니다.
Visual Studio에 설치되어 있는 템플릿에서 ASP.NET 웹 사이트를 클릭합니다.
찾아보기를 클릭합니다.
위치 선택 대화 상자가 표시됩니다.
로컬 IIS를 클릭합니다.
기본 웹 사이트를 클릭합니다.
오른쪽 위에 있는 새 웹 프로그램 만들기 아이콘을 클릭합니다.
이 아이콘에는 레이블이 없지만 마우스 포인터를 아이콘 위로 가져가면 새 웹 응용 프로그램 만들기 도구 설명 텍스트가 나타납니다.
WebSite라는 새 응용 프로그램이 기본 웹 사이트에 추가됩니다.
새 웹 사이트 상자에 LocalIISWebSite를 입력하고 열기를 클릭합니다.
새 웹 사이트 대화 상자가 나타나고 맨 오른쪽 위치 상자에 https://localhost/LocalIISWebSite가 채워져 있습니다.
언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.
선택한 프로그래밍 언어는 웹 사이트의 기본값이 됩니다. 그러나 다른 프로그래밍 언어로 페이지와 구성 요소를 만들어 동일한 웹 응용 프로그램에서 여러 언어를 사용할 수 있습니다.
확인을 클릭합니다.
Visual Web Developer에서는 새 웹 사이트를 만들고 Default.aspx라는 새 페이지를 엽니다. 이 페이지를 열어 놓습니다. 이 초기 Default.aspx 페이지는 웹 페이지 코드 숨김 모델을 사용합니다. 자세한 내용은 ASP.NET 웹 페이지 코드 모델을 참조하십시오.
Visual Web Developer는 웹 사이트의 폴더와 파일을 만들 뿐만 아니라 IIS와 상호 작용하여 사이트용 IIS 웹 응용 프로그램을 만듭니다. 기본적으로 Visual Web Developer는 IIS를 호출하여 IIS에서 폴더와 페이지를 웹 사이트로 인식하는 데 필요한 메타데이터를 만듭니다.
생성된 파일과 폴더를 확인하여 Visual Web Developer에서 수행한 작업을 검사할 수 있습니다.
로컬 IIS 웹 사이트의 구조를 검사하려면
Microsoft Windows에서 시작을 클릭한 다음 실행을 클릭합니다.
실행 대화 상자의 열기 상자에 C:\Inetpub\wwwroot를 입력한 다음 확인을 클릭합니다.
참고: IIS가 다른 드라이브나 폴더에 설치되어 있으면 경로를 적절하게 변경합니다.
이제 \wwwroot에 LocalIISWebSite라는 새 폴더가 표시됩니다.
경로 대화 상자에서 LocalIISWebSite를 두 번 클릭합니다.
다음 항목이 포함된 웹 사이트의 내용이 표시됩니다.
Visual Web Developer에서 자동으로 만드는 App_Data 폴더
Default.aspx 페이지
코드 숨김 파일(웹 응용 프로그램의 기본 언어에 따라 Default.aspx.cs 또는 Default.aspx.vb)
일반적인 방법으로 웹 사이트에 페이지를 추가할 수 있습니다. 외부적으로 웹 사이트에 페이지를 추가해도 Visual Web Developer에서 해당 페이지를 응용 프로그램의 일부로 인식하지만 솔루션 탐색기를 업데이트해야만 페이지가 표시됩니다.
컨트롤 추가 및 프로그래밍
이 연습 단계에서는 Button, TextBox 및 Label 컨트롤을 페이지에 추가하고 Button 컨트롤에 대한 Click 이벤트를 처리하는 코드를 작성합니다.
페이지에 컨트롤을 추가하려면
Visual Web Developer에서 Default.aspx 페이지로 전환하거나 열고 디자인 뷰로 전환합니다.
Enter 키를 여러 번 눌러 공간을 확보합니다.
도구 상자의 표준 탭에서 TextBox, Button 및 Label 컨트롤을 페이지로 끌어 온 다음 페이지의 div 요소 안에 컨트롤을 배치합니다.
참고: 도구 상자가 표시되지 않으면 보기 메뉴에서 도구 상자를 클릭합니다.
텍스트 상자 앞에 삽입 포인터를 놓고 Enter your name:을 입력합니다.
Button 컨트롤을 클릭하고 속성 창에서 Text를 Display Name으로 설정합니다.
Label 컨트롤을 클릭하고 속성 창에서 Text를 지웁니다.
Display Name으로 레이블이 지정된 Button 컨트롤을 두 번 클릭합니다.
Visual Web Developer가 편집기의 별도의 창에서 페이지의 코드 파일을 엽니다.
이 파일에는 Button 컨트롤에 대한 기본 Click 처리기가 있습니다.
Button 컨트롤이 클릭되면 텍스트 문자열을 표시하는 다음 강조 표시된 코드를 추가하여 Click 처리기를 완성합니다.
보안 정보: ASP.NET 웹 페이지의 사용자 입력에는 잠재적으로 악의성이 있는 클라이언트 스크립트가 포함될 수 있습니다. 기본적으로 ASP.NET 페이지에서는 포스트백할 때 페이지를 검사하여 사용자 입력에 스크립트나 HTML 요소가 포함되지 않도록 합니다. 자세한 내용은 스크립트 악용 개요를 참조하십시오.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = Textbox1.Text & ", welcome to Visual Web Developer!" End Sub
protected void Button1_Click(object sender, EventArgs e) { Label1.Text = TextBox1.Text + ", welcome to Visual Web Developer!"; }
파일을 저장합니다.
나중에 이 연습의 "IIS 웹 응용 프로그램 테스트" 단계에서 이 웹 페이지를 테스트합니다.
Visual Web Developer 외부에서 웹 사이트 업데이트
Visual Web Developer 외부에서 응용 프로그램에 새 파일을 추가하여 Visual Web Developer에서 IIS 경로를 읽는지 확인할 수 있습니다.
Visual Web Developer 외부에서 웹을 업데이트하려면
메모장이나 다른 텍스트 편집기를 사용하여 Visual Basic 또는 C# 사용 여부에 따라 다음 텍스트가 포함된 새 파일을 만듭니다.
<%@Page language="VB"%> <script > Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text = "I was clicked!" End Sub </script> <html> <body> <form id="form1"> <asp:button text="Button1" Id="Button1" OnClick="Button1_Click"></asp:button> </form> </BODY> </HTML>
<%@Page language="C#"%> <script > protected void Button1_Click(object sender, System.EventArgs e) { Button1.Text = "I was clicked!"; } </script> <html> <body> <form id="form1"> <asp:button text="Button1" Id="Button1" OnClick="Button1_Click"></asp:button> </form> </BODY> </HTML>
C:\inetpub\wwwroot\LocalIISWebSite 경로에 TestPage.aspx라는 이름으로 이 파일을 저장합니다.
참고: IIS가 다른 드라이브나 폴더에 설치되어 있으면 경로를 적절하게 변경합니다.
Visual Web Developer의 솔루션 탐색기에서 웹 사이트 이름(https://localhost/LocalIISWebSite/)을 클릭한 다음 보기 메뉴에서 새로 고침을 클릭합니다.
웹 사이트에 있는 파일 목록이 업데이트되어 추가한 파일이 포함됩니다. 다음에는 웹 페이지를 테스트합니다.
IIS 응용 프로그램 테스트
이제 웹 사이트를 테스트할 수 있습니다.
로컬 IIS 웹 사이트를 테스트하려면
Visual Web Developer에서 Default.aspx 페이지를 엽니다.
Ctrl+F5를 눌러 페이지를 실행합니다.
페이지가 브라우저에 나타납니다. 브라우저의 URL은 https://localhost/LocalIISWebSite/default.aspx입니다. 페이지 요청은 포트 번호 없이 localhost로 수행되어 IIS에서 처리됩니다.
페이지가 브라우저에 나타나면 텍스트 상자에 이름을 입력하고 Display Name을 클릭하여 제대로 작동하는지 확인합니다.
Visual Web Developer에서 TestPage.aspx 페이지를 엽니다.
Ctrl+F5를 눌러 페이지를 실행합니다.
페이지가 같은 브라우저 인스턴스에 나타납니다.
페이지가 브라우저에 나타나면 Button1을 클릭하여 제대로 작동하는지 확인합니다.
브라우저를 닫습니다.
다른 컴퓨터에서 컴퓨터에 연결할 수 있으면 공용 사이트처럼 사이트 액세스를 시도할 수 있습니다. 다른 컴퓨터에서 컴퓨터에 연결할 수 없으면 이 절차를 건너뛰어도 됩니다.
사이트를 공용 사이트로 테스트하려면
다른 컴퓨터에서 웹 서버 컴퓨터 이름, 웹 사이트 이름 및 default.aspx를 페이지로 포함하는 URL을 입력합니다.
LAN(Local Area Network)을 통해 컴퓨터에 액세스할 수 있으면 다음과 같은 URL을 가진 서버의 컴퓨터 이름을 사용합니다.
http://server1/LocalIISWebSite/default.aspx
컴퓨터에서 도메인을 호스팅하면 다음과 같은 URL을 사용하여 페이지에 액세스할 수 있습니다.
컴퓨터가 네트워크에 있거나 인터넷에 직접 연결되어 있으면 컴퓨터의 IP 주소를 서버 이름으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.
http://172.19.195.700/LocalIISWebSite/default.aspx
참고: Windows 방화벽 설정 때문에 다른 컴퓨터에서 응용 프로그램을 볼 수 없으면 포트 80에 웹 서버를 설정해야 할 수도 있습니다. 설정을 클릭하여 Windows 방화벽의 고급 탭에서 이 작업을 수행할 수 있습니다. 자세한 내용을 보려면 Security Developer Center -- .NET Framework Security로 이동하여 Windows 방화벽 설정에 대한 정보를 검색하십시오.
IIS 가상 루트로 웹 사이트 만들기
지금까지 살펴보았듯이 IIS를 사용하면 물리적으로 기본 웹 서버 루트 폴더(wwwroot)에 있는 웹 응용 프로그램을 만들 수 있습니다. 그러나 하드 디스크의 임의 위치에 저장되어 있는 파일 및 폴더를 가리키는 IIS 웹 응용 프로그램인 IIS 가상 디렉터리를 만들 수도 있습니다.
참고: |
---|
보안을 위해 IIS는 다른 컴퓨터의 폴더를 가리키는 가상 디렉터리의 생성을 허용하지 않습니다. 가상 디렉터리는 항상 로컬 컴퓨터를 가리켜야 합니다. |
이 연습 단계에서는 Visual Web Developer를 사용하여 컴퓨터의 로컬 폴더에 저장된 웹 사이트를 가리키는 가상 디렉터리를 만듭니다.
먼저 가상 디렉터리를 만들어야 합니다. 연습: Visual Web Developer에서 기본 웹 페이지 만들기를 완료하여 Visual Web Developer에서 파일 시스템 웹 사이트를 이미 만들었으면 해당 웹 사이트를 사용할 수 있습니다.
가상 폴더를 사용하여 로컬 IIS 웹 사이트를 만들려면
Visual Web Developer의 파일 메뉴에서 새 웹 사이트를 클릭합니다.
Visual Studio에 설치되어 있는 템플릿에서 ASP.NET 웹 사이트를 클릭합니다.
찾아보기를 클릭합니다.
위치 선택 대화 상자가 표시됩니다.
로컬 IIS를 클릭합니다.
열 웹 사이트 선택의 트리 뷰에서 기본 웹 사이트를 클릭한 다음 모퉁이에 있는 새 가상 디렉터리 만들기 아이콘을 클릭합니다.
이 아이콘에는 레이블이 없지만 마우스 포인터를 아이콘 위로 가져가면 새 가상 디렉터리 만들기 도구 설명 텍스트가 나타납니다.
새 가상 디렉터리 대화 상자가 나타납니다.
별칭 이름 상자에 WebSite_vdir을 입력합니다.
참고: IIS에서 유효한 이름을 사용하기만 하면 가상 디렉터리에 임의의 이름을 지정할 수 있습니다.
폴더 상자에 다음 중 하나를 입력합니다.
기존 파일 시스템 웹 사이트의 경로(있는 경우). 정확한 경로가 기억나지 않으면 찾아보기를 클릭한 다음 해당 사이트의 루트 폴더를 찾을 수 있습니다.
웹 사이트의 폴더와 파일을 저장할 새 폴더를 만들려는 경로
확인을 클릭합니다.
존재하지 않는 폴더를 지정하면 Visual Web Developer에서 새로 만들 것인지 확인하는 메시지를 표시합니다.
그런 다음 Visual Web Developer는 위치 선택 대화 상자로 돌아가서 방금 만든 가상 디렉터리가 있는 IIS 웹 응용 프로그램 목록을 업데이트합니다.
방금 만든 가상 디렉터리를 선택하고 열기를 클릭한 다음 확인을 클릭하여 웹 사이트를 만듭니다.
가상 디렉터리에서 웹 사이트가 포함되지 않은 기존 폴더나 새 폴더를 가리키면 Visual Web Developer는 기본 페이지인 App_Data 폴더를 만들고 해당 페이지를 디자이너에서 엽니다.
가상 폴더가 기존 파일 시스템 웹 사이트를 가리키면 Visual Web Developer는 웹 사이트가 이미 있음 대화 상자를 열고 새 폴더 선택, 기존 사이트 열기 또는 기존 위치에 새 웹 사이트 만들기 옵션을 제공합니다. 옵션을 선택하고 확인을 클릭하면 Visual Web Developer는 솔루션 탐색기에 폴더 내용을 표시하고 Default.aspx 페이지(있는 경우)를 엽니다.
웹 페이지에 컨트롤 추가
이 연습의 앞에서와 같이 간단한 ASP.NET 웹 페이지를 사용하여 생성 중인 IIS 웹 사이트를 테스트합니다. 기존 파일 시스템 웹 사이트 작업 중에는 새 페이지를 만들 필요가 없습니다. 가상 디렉터리가 새 폴더를 가리키면 해당 페이지를 사용할 수 있습니다.
새 웹 사이트인 경우 페이지가 제대로 작동하는지 테스트할 수 있도록 기본 페이지에 일부 컨트롤을 추가합니다.
페이지에 컨트롤을 추가하려면
Visual Web Developer에서 Default.aspx 페이지를 열고 디자인 뷰로 전환합니다.
도구 상자의 표준 탭에서 TextBox, Button 및 Label 컨트롤을 페이지로 끌어 온 다음 페이지의 div 요소 안에 배치합니다.
Button 컨트롤을 두 번 클릭하고 다음 강조 표시된 코드를 추가합니다.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = "Welcome to Visual Web Developer!" End Sub
protected void Button1_Click(object sender, System.EventArgs e) { Label1.Text = "Welcome to Visual Web Developer!"; }
파일을 저장합니다.
가상 디렉터리 테스트
이제 웹 사이트를 테스트할 수 있습니다.
가상 디렉터리를 사용하여 로컬 IIS 웹 사이트를 테스트하려면
Visual Web Developer에서 웹 사이트의 페이지(Default.aspx 또는 다른 페이지)를 엽니다.
Ctrl+F5를 눌러 페이지를 실행합니다.
페이지가 브라우저에 나타납니다. 브라우저의 URL은 https://localhost/Website_vdir/default.aspx입니다. IIS는 URL을 확인할 때 Website_vdir이라는 가상 디렉터리와 연결된 실제 경로를 조회하고 여기서 페이지를 찾습니다.
페이지가 브라우저에 나타나면 Button 컨트롤을 클릭하여 제대로 작동하는지 확인합니다.
브라우저를 닫습니다.
다른 컴퓨터에서 컴퓨터에 연결할 수 있으면 이전 단원에서 페이지에 액세스하기 위해 사용한 테스트를 시도할 수 있습니다.
로컬 IIS 웹 사이트 삭제
더 이상 필요하지 않은 로컬 IIS 웹 사이트를 삭제하여 Visual Web Developer에서 로컬 IIS 웹 사이트를 관리할 수 있습니다. 작업 중인 로컬 IIS 웹 사이트 유형에 따라 삭제 방식에 다음과 같은 중요한 차이점이 있습니다.
IIS 루트의 웹 사이트를 삭제하면 웹 응용 프로그램이 IIS에서 삭제되고 해당 웹 사이트의 파일과 폴더도 삭제됩니다.
가상 디렉터리를 삭제하면 해당 웹 사이트에 대한 IIS 정보가 삭제되지만 로컬 파일 시스템 폴더의 파일과 폴더는 그대로 유지됩니다.
로컬 IIS 웹 사이트를 삭제하려면
파일 메뉴에서 솔루션 닫기 또는 프로젝트 닫기를 클릭합니다.
파일 메뉴에서 웹 사이트 열기를 클릭합니다.
웹 사이트 열기 대화 상자에서 로컬 IIS를 클릭합니다.
이 연습의 앞에서 만든 가상 디렉터리의 이름(Website_vdir)을 클릭합니다.
주의: 다른 웹 사이트를 선택하면 해당 웹 사이트의 파일과 폴더가 삭제될 수도 있습니다.
위쪽 모퉁이에 있는 삭제 아이콘을 클릭합니다.
이 아이콘에는 레이블이 없지만 마우스 포인터를 아이콘 위로 가져가면 삭제 도구 설명 텍스트가 나타납니다.
웹 사이트를 삭제할 것인지 확인하는 메시지가 표시되면 예를 클릭합니다.
취소를 클릭하여 웹 사이트 열기 대화 상자를 닫습니다.
브라우저를 열고 가상 디렉터리의 URL을 입력합니다.
https://localhost/Website_vdir/default.aspx
이번에는 브라우저에서 IIS가 더 이상 Website_vdir을 로컬 컴퓨터의 웹 사이트로 인식하지 않기 때문에 페이지를 찾을 수 없다고 보고합니다.
참고: 로컬 브라우저에서 페이지를 캐시했을 수 있습니다. 이 경우 브라우저 캐시를 플러시한 다음 페이지를 다시 표시할 때까지 페이지가 계속 표시될 수 있습니다.
다음 단계
이 연습에서는 IIS의 로컬 복사본을 사용하여 웹 사이트를 만드는 방법을 알아 보았습니다. Visual Web Developer에서 만들 수 있는 다른 유형의 웹 사이트에 대해서도 살펴볼 수 있습니다. 예를 들어, 다음과 같은 작업을 할 수 있습니다.
페이지가 하드 디스크의 임의 폴더에 저장되는 파일 시스템 웹 사이트를 만듭니다.
자세한 내용은 연습: Visual Web Developer에서 기본 웹 페이지 만들기를 참조하십시오.
FTP를 사용하여 웹 사이트를 열고 편집하는 방법을 알아 봅니다.
자세한 내용은 연습: Visual Web Developer에서 FTP를 사용하여 웹 사이트 편집을 참조하십시오.