웹마스터 팁

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

 

제목 글쓴이 날짜
대부분 쉬운설치로 인해 홈페이지 빈 페이지가 뜨는 에러는.. CJM 2019.10.24
xe 기본회원가입품 연락처항목 공백&숫자 유효성검사 질문입니다. 해운거사2 2019.08.25
[주옥시리즈] 내글 모니터링, 작성글 앞으로 뺴기 [6] socialskyo 2013.10.18
회원가입품 연락처항목 공백잇을시 질문입니다. 해운거사2 2019.08.16
VSCODE에서 PRETTIER-PHP 사용하기 (중급자용) reactux 2019.07.29
관리자페이지의 회원목록에서 타회원들의 비밀번호 찾기 질문/답변 수정 가능하도록 하려면.. sejin7940 2019.07.03
XE 코어의 메일전송을 우리알림 모듈로 대체하는 방법 [30] file GG 2014.11.24
XE 1.5.1로 사이트 꾸미기 Part 2 [11] file 황비 2011.12.06
스케치북5 게시판 사용자정의에 색상 적용하기 file 아데나 2019.05.31
로그인 실패시 실패내역 쪽지와 메일 발송 되는걸 발송 안 되게 하려면.. sejin7940 2019.05.21
스크랩버튼 외부로 빼내기 [3] RainDrop+ 2011.01.04
1.11.3 업로드 패치 이후 업로드 오류 관련 우소푸 2019.04.21
게시판 목록에서 바로 첨부파일 다운로드하기 [6] file 요다빈치 2012.03.13
XE이전 작업순서 elancer 2019.03.28
무료이미지 다운 받을 수 있는 곳 elancer 2019.03.19
회원이 글 삭제하면 삭제하지 않고 글을 다른 게시판으로 보내기 [5] SCAC 2012.07.03
트윗버튼, 페어스북 좋아요 버튼, 카카오스토리 좋아요 버튼 태그 elancer 2019.03.11
XE용 CKEditor v4.9.2 (다크 스킨 수정) [4] file 큰돌♡ 2018.07.04
file 모듈 insertFile() manual_insert 시 디렉토리생성 에러 문제 해결 방법 onTrust 2019.01.02
모듈에서 무조건 JSON/XML 형식으로 출력하기 [1] Devel0per 2015.04.03