웹마스터 팁

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

 

제목 글쓴이 날짜
인증메일 안가는 문제- 완전 간단 해결 꿈섬 2014.07.27
아이디 첫글자에 숫자 허용 [2] wooildang 2014.07.24
Windows10 에서 IIS + mysql + PHP 설치 [10] file HSJI 2014.07.21
외부 페이지에서 회원 extra_vars 변수 가져오기 [1] Happyphp 2014.07.09
jqm(jQuery Mobile) 사용 시 XE의 CSS 와 충돌할 때 file Canto 2014.07.03
닉네임 중복체크 버그 해결방법 [7] 소렌트. 2014.06.29
상단에 스르르~ 닫기 가능한 배너 달기 [30] file 야옹잉 2014.06.20
관리자페이지에서 콘텐츠->파일 에서 등록된 파일 전체 리스트에 이미지가 바로 나타나도록 [2] sejin7940 2014.06.19
XHTML 과 CSS 오류검사를 해주는 사이트 입니다. 디테일 2014.06.07
홈페이지에 접속한 장치의 너비 구하기 [3] CosignStudio 2014.05.28
유저가 자신의 회원정보 전체를 공개/비공개 설정하게 하는 방법 [2] sejin7940 2014.05.27
메뉴가 많을때 레이아웃 쉽게 변경하기 웹빌드ver2 2014.05.23
1.7.5에서 추가된 게시물당 최신댓글 불러오기 스킨에서 활용법 [2] file mAKEkr 2014.05.20
xe_documents DB 테이블이 깨져서 게시판이 엉망이 됄경우 file 지으니 2014.05.17
갑자기 사이트 세팅을하던도중 DB line 674 에러 대처법 xe공부중44 2014.05.01
폰갭 제작시 자바스크립트로 get 변수 전달 받기 웹빌드 2014.04.30
포인트복권 팝업창 말고 현재창에서 바로 사용하기! [1] 바가G 2014.04.28
유챗 팝업창으로 만들기 [1] file oscarmike 2014.04.26
머니시스템 보유머니 출력하기 [13] oscarmike 2014.04.24
css를 이용한 페이지 인식 헤이즈디자인 2014.04.23