Title : 윈도우 기반(EC2) IIS 웹서버에 ASP사이트 운영
실습 요약
- 서버로 구동할 EC2 인스턴스 생성
- IIS 웹서버 설치
- RDB에 DB로 사용할 MS-SQL 구축
- EC2 인스턴스에 소스코드 복사, Management Studio 복사 설치
- 마구마구 게시판 세팅 및 설정
1. EC2 인스턴스 생성
- 인스턴스 생성은 다음과 같이 설정 후 실행시켰다.
AMI : Microsoft Windows Server 2019 Base
인스턴스 유형 : t2.micro
3,4 단계는 넘어감
태그 추가 : Window IIS / Window IIS
보안 그룹 구성 : Window Security Group / RDP(내IP), HTTP, HTTPS(위치 무관)




- 키 페어 : WindowIIS 로 생성했다.

- 알아보기 쉽게 인스턴스 이름을 IIS로 변경 후 생성된 인스턴스의 퍼블릭 IP를 복사해둔다.
퍼블릭 IP : 54.211.204.33

- 인스턴스 페이지에서 인스턴스 선택 후 [연결] 버튼을 누른다.

- 버튼을 눌렀을 때 바로 연결이 되지 않는 경우 아래 화면처럼 뜨는 것을 볼 수 있다.
그럼 [RDP 클라이언트] 탭으로 이동해서 암호 가져오기 버튼을 누른다.


- 암호 가져오기 버튼을 눌러 이동하면 키 페어를 가져오는 페이지가 나타난다.
[Browse] 버튼을 눌러 인스턴스 생성 시 다운받았던 키 페어 파일을 업로드 후 [암호 해독] 버튼을 누르면 된다.

- 그럼 아래 화면을 볼 수 있고, 사용자 이름과 암호를 복사 해 둔다.
사용자 이름 : Administrator
암호 : 4@pgv62=JFdE.Q.CJmkp2WX5nEeN.TdK

2. RDS DB 생성하기
- DB 생성시 건들인 부분은 다음과 같다.
엔진 유형 : Microsoft SQL Server DB
인스턴스 식별자 : 원하는 DB명 입력
스토리지 자동 조정 체크 해제 (과금문제 발생우려)


- 보안그룹 인바운드 규칙 편집
- 엔드포인트가 아직 뜨지않아서 우선 먼저 뜬 VPC 보안 그룹을 눌러 인바운드 규칙을 편집하러 이동한다. (보안그룹 설정)





- 엔드포인트 복사
- DB 생성 후 나온 엔드포인트 주소를 복사해둔다.
엔드포인트 : koreaitdb.cygczes8famo.us-east-1.rds.amazonaws.com

3. 원격제어 프로그램 연결
- 윈도우 검색 창에서 [MSTSC]를 검색해서 원격 데스크톱 연결 프로그램을 실행한다.
- 컴퓨터 IP 입력란에 인스턴스의 퍼블릭 IP 주소를 넣고 연결한다.

- 그럼 사용자 자격 증명 입력 창이 뜨는데 앞의 과정에서 복사해둔 사용자 이름과 암호를 채워넣으면 된다.

- 연결이 된다면 원격 데스크탑 연결된 윈도우 화면이 보이게 된다.

4. 원격제어 윈도우 인터넷 가능하게 설정하기
- 연결한 윈도우 창에서 윈도우 검색창을 눌러보면 [Server Manager]가 있다. 이 프로그램을 실행시킨다.


- 왼쪽 탭에서 [Local Server]를 눌러 이동한다.
- 그럼 화면에 보이는 내용 중 IE Enhanced Security Configuration 항목이 On으로 되어있는데, 이것을 눌러서 OFF로 바꿔준다.


- 설정했다면, sql management studio download를 검색해서 프로그램을 다운받는다.

- 검색하고 나오는 결과의 두번째 [docs.microsoft.com](http://docs.microsoft.com) 사이트로 들어간다.
- 해당 사이트의 아래로 내리면 한국어의 SSMS 프로그램을 다운받을 수 있다.


- 실습에 필요한 파일 board_배포용.zip 파일과 SiteGalaxyUpload2를 다운받는다.

- board_배포용.zip 에서는 수정 할 파일이 있으므로 압축을 풀고, mem_ck.inc 파일을 다음과 같이 수정하여 저장한다.

- 모든 파일 다운로드 후 인터넷을 사용할 일이 없으므로, 아까 설정했던 부분을 다시 ON으로 설정해둔다.

5. IIS 다운로드
- Server Manager - Dashboard - Add Roles and Features Wizard 로 이동한다.

- Server Roles에서 IIS 체크

- Web Server Roles - Role Services - Application Development
- ASP관련 규칙 체크 후 넘어가서 설치를 진행한다.


- 다운로드가 완료되면 하단 탭에 IIS가 추가된다.

6. IIS 실행 여부 Test
- 원격제어 연결중인 윈도우의 홈 디렉터리(서비스되는 공간)는 [ C:\inetpub\wwwroot ] 이다.

- 해당 서버의 IP를 다른 PC 브라우저에 입력 후 들어가보면, IIS설치 완료 시 아래 화면을 볼 수 있다.

7. IIS 홈 디렉터리 설정하기
- 다운받아서 수정한 board_배포용 폴더를 board로 이름을 바꾸어, [ C:\inetpub\wwwroot ] 디렉터리로 이동시킨다.
- 이때 원래 있던 파일들은 모두 지우고 옮긴다.

- 해당 board 폴더에 모든 사람의 접근이 가능하도록 권한을 설정한다.
- 폴더 우클릭 - 속성 - 보안 - 편집 - Everyone 추가 - Full Control 체크 - 적용


- 윈도우 검색 창에 IIS를 검색해서 매니저 프로그램을 실행시킨다.

- 아래 방법으로도 실행시킬 수 있다.


- IIS Manager - PC - Sites - Default Web Site 우클릭 - Advanced Settings

- 가상 디렉터리를 board 폴더가 있는 디렉터리로 잡아준다.

- 해당 서버 IP로 다시 들어가보면 board 폴더에 있는 파일인 마구마구 게시판이 뜨는 화면을 볼 수 있다.

8. MSSQL DB 연결하기 (SSMS)
- 다운받았던 SSMS-Setup-KOR.exe 파일을 실행시킨 후 설치를 진행한다.


- IIS Manager - Application Pools - 우측 Set ApplicationPool Default... 클릭

- 위로 올려서 Enable 32-bit Applications 항목을 True로 변경

- 오류페이지를 출력시키기 위해 Default Web Site - Error Page 클릭

- 500번 에러의 메시지를 자세하게 출력하는 것으로 선택 후 저장한다.

- ASP 서비스가 돌아가도록 하기 위해 Default Web Site - ASP 클릭

- Debugging Properties 항목에서
Enable Client-side Debugging,
Enable Server-side Debugging,
Send Errors To Browser 를 true로 바꾸고 적용한다.



- 다른 PC의 인터넷 익스플로러에 해당 서버 IP로 이동한다.
- 인터넷 옵션 - 고급 - HTTP 오류 메시지 표시 체크해제 - 적용

- 에러 발생 시 어떤 부분에서 에러가 나는 것인지 출력해준다.

9. SSMS와 RDS DB 연결하기
- 시작에서 Management Studio 프로그램을 실행한다.

- Server name에는 RDS의 Endpoint를 넣고 로그인 계정은 DB 생성시 입력했던 ID/PW를 입력해서 넣으면 된다.

- sql.sql 파일을 옮겨넣는다.

- dbconn.inc 파일 수정

- 여기까지 했다면 DB가 연결되어 로그인이 가능해진다.

10. 게시물 등록을 위한 설정
- board_write_reg.asp 파일을 열어서
strDir = "C:\inetpub\wwwroot\board\pds\" 부분을 수정한다.
위 수정한 내용은 게시물이 등록되는 디렉터리를 지정해준 것이다.

- SiteGalaxyUpload2를 압축해제한다.
폴더 안에 있는 Setup.exe 파일을 실행시켜 다운로드를 진행한다.
게시글을 작성 후 등록해보면 등록이 된다.


