웹마스터 팁
Windows10 에서 IIS + mysql + PHP 설치
2014.07.21 23:59
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는 꼭 체크하셔야 좋습니다. 그냥 전부 체크^^;)
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 > 고급 > 실제경로 를 원하는 폴더로 수정하면 됩니다.
3.5 확인 - http://127.0.0.1 이나 http://localhost 로 IIS가 제대로 설치되었는지 확인할 수 있습니다.
3.6 여기까지의 상태에서는 방화벽에 의해 80포트가 막혀있어 외부에서 서버로 접속은 불가능합니다. 아래와 같이 방화벽에서 별도로 포트를 개방해줘야 합니다.
- 제어판 > 시스템 및 보안 > Windows 방화벽 > 고급 설정
- 인바운드 규칙 > World Wide Web 서비스(HTTP 트래픽 인) > 규칙사용 (HTTPS 아닙니다. 햇갈리시면 안됩니다)
- 통신회사등에서 80포트등을 막은 경우 다른 우회 포트를 지정하시기 바랍니다. (바인딩에서 포트 지정을 할 수 있습니다)
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를 찾아 설치합니다.
4.3 설치 완료 후 다시 IIS관리자에서 PHP Manager로 들어갑니다.
- 아래와 같이 새버전 등록을 클릭 후 아까 압축을 풀었던 PHP 폴더의 php-cgi.exe를 지정해 줍니다.
- PHP Manager에서는 php.ini파일 수정, phpinfo()를 바로 실행해 볼 수 있습니다.
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 만 누르시면 됩니다.
5.3 XE 스키마(database) 생성
- Workbench이용 --- 작업표시줄의 MySQL Notifier > Configure Instance 또는 MySQL Workbench 실행
- XE설치를 위해 왼쪽의 Schemas 탭에서 우클릭으로 xe sechema를 생성합니다.
- 왼쪽의 Schemas 탭에서 우클릭으로 schema(database)를 create(생성)할 수 도 있고 drop(삭제)할 수도 있습니다.
- 간단한 사항 이외는 phpMyAdmin을 이용하는 것이 편합니다.
5.4 DB user 추가
- DB에 root로 접근하는 것은 보안상 좋지 않겠죠. 신규 ID를 생성하고 DB manager 정도로 권한을 부여하여 접속하는 것이 좋겠습니다.
- 메뉴 Server > Users and Privileges > Add Account
- Login > ID,PW 입력하고, Administrative Roles에서 권한을 설정합니다.
5.5 기타
- DB 시작 및 중지, Work Bench 실행 등은 작업표시줄의 MySQL Notifier 를 이용하면 편합니다.
- 간단한 data 수정 등 --- 테이블 별로 우클릭 > select rows을 통해 간단히 테이블 data를 확인할 수 있고, 각 field의 data 수정 후 apply를 클릭하면 간단히 data수정도 가능합니다.
6. 공유기 환경
6.1 공유기 포트 포워딩 - 서버가 공유기에 연결된 경우 포트포워딩, DMZ, 트윈IP등으로 해당 포트(http;80, https;443)를 개방해줘야 합니다. 이하 포트포워딩에 대한 링크를 참조하세요.
6.2 ddns 설정 - 서버의 외부IP(공인IP)가 유동IP인 경우 공유기에서 지원하는 ddns기능을 통해 일정한 도메인 네임을 유지하도록 할 수 있습니다.
6.3 포트포워딩과 ddns가 잘 안되는 경우 - 수동으로 dns 서버 설정
6.4 서버가 2대 이상의 공유기에 연결된 경우 - 스위치 설정
- 첫번째 공유기와 동일한 네트워크에 있어야 ddns/포트포워딩이 원할하게 작동합니다.
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 로 접속할 수 있습니다
7.2 XE 설치시 폴더 권한 수정
- http://localhost에 접속하여 설치를 시작하면 권한 관리에 관한 오류메세지가 뜹니다.
- (root)\files 폴더만 생성하고 (root)\files폴더의 권한만 수정하면 됩니다.
- files 폴더 우클릭 > 속성 > 보안 탭 > 편집
- 아래와 같이 Users의 사용 권한을 모든 권한으로 설정 (IUSR의 사용권한으로 해도 됩니다. Users ⊃ IUSR)
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파일 > 적용
7.3.3 XE 관리자 페이지에서 설정 > 일반 > 고급 > 짧은 주소 사용 체크
8. IIS관리자에서 IP차단
8.1 IIS 관리자에서 해당 사이트(ex. Default Web Site) 클릭 후 URL 재작성
- 작업 탭에서 규칙 추가 > 요청 차단
8.2 URI, User-Agent, 쿼리문자열, 리퍼러, 호스트 헤더 별로 차단 설정 가능
9. 서버 이전 방법
9.1 구 서버 DB백업 --- MySQL Workbench > Server > Data Export
- export to dump project folder ; 테이블 별 폴더 생성하여 백업
- export to self-contained file ; 1파일에 모두 백업
- 백업할 schema 선택 > Start Export
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로 수정
9.5 (root)/files/config/db.config.php 파일의 db정보 및 default url 수정
9.6. 관리자 페이지 - 캐시 파일 재생성
9.7. 게시판의 본문 삽입으로 첨부된 이미지 주소를 새로운 도메인에 맞게 수정(절대경로로 지정되어 있어 바뀐 URL로 수정해 줘야 합니다)
- Workbench > edit > preferences > SQL queries > "safe updates" 해제 (safe모드가 해제되어야 아래 쿼리가 실행 가능합니다)
- 쿼리 실행 ; UPDATE xe_documents SET content = REPLACE(content, '변경전 url', '변경후 url');
- 쿼리 실행 ; UPDATE xe_comments SET content = REPLACE(content, '변경전 url', '변경후 url');
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 테이블에서 변경된 도메인으로 수정
10.3 서버이전에서와 같이 document, comment table의 첨부파일 절대 주소 수정
- 쿼리 실행 ; UPDATE xe_documents SET content = REPLACE(content, '변경전 url', '변경후 url');
- 쿼리 실행 ; UPDATE xe_comments SET content = REPLACE(content, '변경전 url', '변경후 url');
댓글 10
제목 | 글쓴이 | 날짜 |
---|---|---|
XE 1.4에서 HTML5 에디터 사용하기 (Flash 없는) [3] | Toby | 2021.02.24 |
검색엔진 네이버 사이트 순위 SEO 검색엔진 최적화 작업해도 안 올라간다면.. [1] | CJM | 2022.05.16 |
여러가지 프로토타이핑 툴 [1] | 드래그홈 | 2014.03.26 |
불법광고 댓글 | greentown | 2021.05.18 |
RSS를 활용한 HelloMaster 홈페이지 새글 알리미 설정하기 [3] | 퍼니온 | 2009.08.16 |
content 위젯에서 태그로 글 뽑기 | 날아올라 | 2021.02.07 |
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [5] | 예뜨락 | 2004.12.17 |
[PHP] 이름 및 연락처 마스킹 처리 [1] | ppumweb | 2018.05.21 |
댓글 작성, 추천후 다운로드 받을수 있게 하기. [6] | socialskyo | 2013.09.06 |
Windows10 에서 IIS + mysql + PHP 설치 [10] | HSJI | 2014.07.21 |
코드 이미지 생성해주는 사이트 [2] | reactux | 2019.10.06 |
XE를 다른디렉토리에 설치후 리다이렉트하기 | 디자인플렉스 | 2020.04.24 |
게시판 글 엑셀로 출력하기(확장변수 포함) [15] | 한이73 | 2014.07.17 |
관리자 아이디/비번을 잃어버렸을때, 관리자페이지 접속을 못할 때 TIP [1] | 플레이웹 | 2019.08.13 |
커뮤니션 쪽지 보내기 기능을 모바일 에서 실행시 로그인 풀림 현상 | 인천한량 | 2020.04.14 |
nginx 에서 서브도메인 사용시 로그인유지방법 [3] | garnecia | 2014.02.26 |
IIS에서 HTTPS를 사용하기 위한 SSL설정 (letsencrypt 인증서 설치, 갱신) | ehii | 2016.04.13 |
AI 개발에 적합한 5가지 프로그래밍 언어 | ppumweb | 2020.01.06 |
ZB게시판에 구글광고 달수 없나요? [2] | 손주사랑 | 2019.11.23 |
날씨배너 600종류 입니다.(지역별75종X색상별8종) | 푸른커튼 | 2008.01.30 |