웹마스터 팁

1. 개요

Windows 10 환경에서 XE 설치를 위한 Server 구축

(Windows Server OS에서의 XE 설치는 이 문서을 참고하세요)

 

2. 순서

 3~7

 iis 설치, php설치, mysql설치

 공유기환경 설정

 xe 설치시 권한 설정 및 짧은주소 관련

 

 8~10

 기타 - IP차단 관련, 서버이전 또는 도메인변경

 

3. IIS 설치

 3.1 제어판 > 프로그램 > 프로그램 및 기능 > Windows 기능 켜기/끄기 에서 인터넷 정보 서비스 체크

(특히 '보안'과 '응용 프로그램 개발 기능'의 CGI는 꼭 체크하셔야 좋습니다. 그냥 전부 체크^^;)

 

iis_1.jpg

 

 

 3.2 설치가 완료 된 경우 바탕화면에 "IIS(인터넷 정보 서비스) 관리자" 아이콘이 생성 됩니다. 이 관리자를 통해서 서버 중지/재시작, 짧은주소설정등의 리디렉션 기능실행, ip차단등 전반적인 서버관리를 할 수 있습니다.

 

 3.3 웹 플랫폼 설치 --- IIS(인터넷 정보 서비스) 관리자에 처음 들어가면 웹 플랫폼을 설치여부를 확인합니다. 이때 설치 하시거나 http://www.microsoft.com/web/downloads/platform.aspx 에서 설치하세요.

 

 3.4 특별한 사정이 없는 한 C:\inetpub\wwwroot 가 root폴더가 됩니다. 이 폴더를 변경하고 싶으면 아래와 같이 IIS관리자에서 Default Web Site > 고급 > 실제경로 를 원하는 폴더로 수정하면 됩니다.

 

iis_2.jpg

 

 3.5 확인 - http://127.0.0.1 이나 http://localhost 로 IIS가 제대로 설치되었는지 확인할 수 있습니다.

 

 3.6 여기까지의 상태에서는 방화벽에 의해 80포트가 막혀있어 외부에서 서버로 접속은 불가능합니다. 아래와 같이 방화벽에서 별도로 포트를 개방해줘야 합니다.

     - 제어판 > 시스템 및 보안 > Windows 방화벽 > 고급 설정

     - 인바운드 규칙 > World Wide Web 서비스(HTTP 트래픽 인) > 규칙사용 (HTTPS 아닙니다. 햇갈리시면 안됩니다)

     - 통신회사등에서 80포트등을 막은 경우 다른 우회 포트를 지정하시기 바랍니다. (바인딩에서 포트 지정을 할 수 있습니다)

 

iis_3.jpg

 

iis_4.jpg

 

 

4. PHP 설치

 

 4.1 http://windows.php.net/download/ 에서 PHP 소스 zip파일을 받습니다

     - 웹 플랫폼 상에서도 바로 PHP를 설치 할 수 있지만, 웹플렛폼에 올라와있는 v5.5.11은 XE에서 오류 발생하므로 다른 버전을 다운로드 합니다.

     - Windows용은 Non Thread Safe, OS 버전에 맞춰 x86(32bit) 또는 x64(64bit)를 받으시면 됩니다.

     - 적당한 곳에 압축을 풀어줍니다 (ex c:\PHP\v5.5\)

 

 4.2 IIS 관리자를 통해 웹 플랫폼 설치 관리자로 들어가 PHP Manager를 찾아 설치합니다.

php_1.jpg

 

php_2.jpg

 

 4.3 설치 완료 후 다시 IIS관리자에서 PHP Manager로 들어갑니다.

     - 아래와 같이 새버전 등록을 클릭 후 아까 압축을 풀었던 PHP 폴더의 php-cgi.exe를 지정해 줍니다.

     - PHP Manager에서는 php.ini파일 수정, phpinfo()를 바로 실행해 볼 수 있습니다.

    

php_3.jpg

 

5. Mysql 설치

 5.1 http://dev.mysql.com/downloads/windows/installer/ 에 들어가 하단의 Windows (x86, 32-bit), MSI Installer 를 다운 받습니다.

     - 크기가 큰 것은 전체 설치 파일이고, 작은 것은 웹설치 파일입니다. 아무것이나 실행해도 무방합니다.

     - 로그인 화면 하단의 No thanks, just start my download.를 누르면 로그인 없이 다운 가능합니다.

 

 5.2 설치 - 관리자 비밀번호 설정 외에는 next/excute 만 누르시면 됩니다.

 

masql_1.jpg

 

masql_2.jpg

 

 5.3 XE 스키마(database) 생성

     - Workbench이용 --- 작업표시줄의 MySQL Notifier > Configure Instance 또는 MySQL Workbench 실행

     - XE설치를 위해 왼쪽의 Schemas 탭에서 우클릭으로 xe sechema를 생성합니다.

     - 왼쪽의 Schemas 탭에서 우클릭으로 schema(database)를 create(생성)할 수 도 있고 drop(삭제)할 수도 있습니다.

     - 간단한 사항 이외는 phpMyAdmin을 이용하는 것이 편합니다.

 

masql_3.jpg

 

 5.4 DB user 추가

     - DB에 root로 접근하는 것은 보안상 좋지 않겠죠. 신규 ID를 생성하고 DB manager 정도로 권한을 부여하여 접속하는 것이 좋겠습니다.

     - 메뉴 Server > Users and Privileges > Add Account

     - Login > ID,PW 입력하고, Administrative Roles에서 권한을 설정합니다.

 

masql_4.jpg

 

 5.5 기타

     - DB 시작 및 중지,  Work Bench 실행 등은 작업표시줄의 MySQL Notifier 를 이용하면 편합니다.

mysql_6.jpg

 

     - 간단한 data 수정 등 --- 테이블 별로 우클릭 >  select rows을 통해 간단히 테이블 data를 확인할 수 있고, 각 field의 data 수정 후 apply를 클릭하면 간단히 data수정도 가능합니다.

 

masql_5.jpg

 

6. 공유기 환경

 6.1 공유기 포트 포워딩 - 서버가 공유기에 연결된 경우 포트포워딩, DMZ, 트윈IP등으로 해당 포트(http;80, https;443)를 개방해줘야 합니다. 이하 포트포워딩에 대한 링크를 참조하세요. 

     - 참조(iptime)

 

 6.2 ddns 설정 - 서버의 외부IP(공인IP)가 유동IP인 경우 공유기에서 지원하는 ddns기능을 통해 일정한 도메인 네임을 유지하도록 할 수 있습니다.

     - 참조(iptime)

 

 6.3 포트포워딩과 ddns가 잘 안되는 경우 - 수동으로 dns 서버 설정

     - 참조(iptime)

 

 6.4 서버가 2대 이상의 공유기에 연결된 경우 - 스위치 설정

     - 첫번째 공유기와 동일한 네트워크에 있어야 ddns/포트포워딩이 원할하게 작동합니다.

     - 참조(iptime)

 

7. XE 설치 - XE 폴더 권한 수정 및 짧은 주소 관련

 7.1 XE 설치

     - root폴더(ex. C:\inetpub\wwwroot) 에 xe core를 복사합니다 (iis 설치시 인덱스 파일인 iisstart.html은 삭제)

     - 만약 xe폴더 통째로 복사(C:\inetpub\wwwroot\xe와 같이)하면 http://localhost/xe/ 로 접속이 되므로, 아래와 같이 xe 폴더의 내용만 C:\inetpub\wwwroot에 복사하여 http://localhost 로 접속할 수 있습니다

install.jpg

 

 7.2 XE 설치시 폴더 권한 수정

     - http://localhost에 접속하여 설치를 시작하면 권한 관리에 관한 오류메세지가 뜹니다.

     - (root)\files 폴더만 생성하고 (root)\files폴더의 권한만 수정하면 됩니다.

     -  files 폴더 우클릭 > 속성 > 보안 탭 > 편집

authority_1.jpg

 

    - 아래와 같이 Users의 사용 권한을 모든 권한으로 설정 (IUSR의 사용권한으로 해도 됩니다. Users ⊃ IUSR)

authority_2.jpg

 

 7.3 짧은 주소 설정

 

 7.3.1 IIS 관리자 > 웹 플렛폼에서 URL 재작성 설치 (또는 download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_ko-KR.msi 에서 직접 다운로드 후 설치해도 됩니다)

 

 7.3.2 IIS 관리자에서 해당 사이트(ex. Default Web Site) 클릭 후  URL 재작성 > 인바운드 규칙 > 규칙 가져오기 > XE root폴더의 .htaccess파일 > 적용

 

rewrite_2.jpg

 

7.3.3 XE 관리자 페이지에서 설정 > 일반 > 고급 > 짧은 주소 사용 체크

 

8. IIS관리자에서 IP차단

 8.1 IIS 관리자에서 해당 사이트(ex. Default Web Site) 클릭 후  URL 재작성

     - 작업 탭에서 규칙 추가 > 요청 차단

 

restrict_1.jpg

 

 8.2 URI, User-Agent, 쿼리문자열, 리퍼러, 호스트 헤더 별로 차단 설정 가능

restrict_2.jpg

 

 

9. 서버 이전 방법

 9.1 구 서버 DB백업 --- MySQL Workbench > Server > Data Export

     - export to dump project folder ; 테이블 별 폴더 생성하여 백업

     - export to self-contained file ; 1파일에 모두 백업

     - 백업할 schema 선택 > Start Export

 

moveserver_1.jpg

 

 9.2 새로운 서버에 XE core, addon, layout skin등의 파일 복사

      - core를 새로 설치하는 경우에는 구서버의 (root)/files/site_design, (root)/files/attach의 파일만 복사

 

 9.3 새로운 서버에 DB복원(MySQL Workbench > Server > Data Import)

 

 9.4 xe_site 테이블에서 새로운 url로 수정

 

moveserver_2.jpg

 

 9.5 (root)/files/config/db.config.php 파일의 db정보 및 default url 수정

 

 9.6. 관리자 페이지 - 캐시 파일 재생성

 

 9.7. 게시판의 본문 삽입으로 첨부된 이미지 주소를 새로운 도메인에 맞게 수정(절대경로로 지정되어 있어 바뀐 URL로 수정해 줘야 합니다)

 

     - Workbench > edit > preferences > SQL queries > "safe updates" 해제 (safe모드가 해제되어야 아래 쿼리가 실행 가능합니다)

 

moveserver_3.jpg

 

     - 쿼리 실행 ; UPDATE xe_documents SET content = REPLACE(content, '변경전 url', '변경후 url');

     - 쿼리 실행 ; UPDATE xe_comments SET content = REPLACE(content, '변경전 url', '변경후 url');

 

moveserver_4.jpg

 

10. 도메인 변경 (사설IP, localhost 및 구도메인 에서 공인IP, 신규 도메인 등으로 기본 URL 변경)

 10.1 (root)\files\config\db.config.php 에서 'default_url' 을 수정
      - (ex. 'default_url' => 'http://aaa.com/' 또는 'default_url' => 'http://000.000.000.000/')
      - 다중도메인을 쓰는 경우 'default_url' => 'http://'.$_SERVER["HTTP_HOST"].'/'

 

 10.2 DB에 접속 > xe_sites 테이블에서 변경된 도메인으로 수정

moveserver_2.jpg

 

 10.3 서버이전에서와 같이 document, comment table의 첨부파일 절대 주소 수정

     - 쿼리 실행 ; UPDATE xe_documents SET content = REPLACE(content, '변경전 url', '변경후 url');

     - 쿼리 실행 ; UPDATE xe_comments SET content = REPLACE(content, '변경전 url', '변경후 url');

 

moveserver_4.jpg

 

제목 글쓴이 날짜
XE 1.4에서 HTML5 에디터 사용하기 (Flash 없는) [3] file Toby 2021.02.24
검색엔진 네이버 사이트 순위 SEO 검색엔진 최적화 작업해도 안 올라간다면.. [1] file CJM 2022.05.16
여러가지 프로토타이핑 툴 [1] 드래그홈 2014.03.26
불법광고 댓글 greentown 2021.05.18
RSS를 활용한 HelloMaster 홈페이지 새글 알리미 설정하기 [3] file 퍼니온 2009.08.16
content 위젯에서 태그로 글 뽑기 날아올라 2021.02.07
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [5] file 예뜨락 2004.12.17
[PHP] 이름 및 연락처 마스킹 처리 [1] ppumweb 2018.05.21
댓글 작성, 추천후 다운로드 받을수 있게 하기. [6] socialskyo 2013.09.06
Windows10 에서 IIS + mysql + PHP 설치 [10] file HSJI 2014.07.21
코드 이미지 생성해주는 사이트 [2] file reactux 2019.10.06
XE를 다른디렉토리에 설치후 리다이렉트하기 디자인플렉스 2020.04.24
게시판 글 엑셀로 출력하기(확장변수 포함) [15] 한이73 2014.07.17
관리자 아이디/비번을 잃어버렸을때, 관리자페이지 접속을 못할 때 TIP [1] file 플레이웹 2019.08.13
커뮤니션 쪽지 보내기 기능을 모바일 에서 실행시 로그인 풀림 현상 인천한량 2020.04.14
nginx 에서 서브도메인 사용시 로그인유지방법 [3] garnecia 2014.02.26
IIS에서 HTTPS를 사용하기 위한 SSL설정 (letsencrypt 인증서 설치, 갱신) file ehii 2016.04.13
AI 개발에 적합한 5가지 프로그래밍 언어 ppumweb 2020.01.06
ZB게시판에 구글광고 달수 없나요? [2] 손주사랑 2019.11.23
날씨배너 600종류 입니다.(지역별75종X색상별8종) file 푸른커튼 2008.01.30