웹마스터 팁
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
-
유니즈
2014.12.10 10:05
-
HSJI
2014.12.15 15:55
php는 새버전 내려받은 후(보통 zip압축파일) 아래와 같이 iis 관리자 > php manager에서
압축 푼 폴더에서 php-cgi.exe 파일을 찾아 등록하시면 됩니다.
mysql은 윈도우 프로그램으로 실행되고, 업데이트도 프로그램상에서 할 수 있습니다.
-
일단놓고말해
2014.12.12 21:50
대...대박...
혹시.. q1900-itx로 요걸 돌렸을 시에 웹서버 몇명까지 버틸 수 있을까요?
저장매체는 ssd로
궁금합니다... 저 지금 이 글 보고 따라할 거라서요...
-
HSJI
2014.12.15 16:02
글쎄요.. 제가 하드웨어는 잘 모르겠습니다..
음... 임베디드듀얼코어 nas에서도 돌아가는데
아톰쿼드코어라니.. 왠만한 홈페이지라면 충분하지 않을까요?
-
gu
2015.04.08 16:05
very good 자료 감사합니다.
-
ehii
2015.08.23 00:25
PHP7의 경우 VC14(Visual C++ 2015)가 설치 되어 있어야 합니다.
http://www.microsoft.com/ko-kr/download/details.aspx?id=48145 에서 32bit(x86) 또는 64bit(x64) 버전을 받으시고,
이에 맞는 Non Thread Safe PHP7를 설치 하시면 됩니다.
-
ehii
2015.11.21 02:00
윈도우10의 IIS 10에서 PHP관리자가 설치되지 않는 경우
실행 > regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 의 MajorVersion 을 9로 수정 후 설치하시면 됩니다.
(PHP관리자 설치 후 다시 10으로 바꿔주세요)
http://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/php-manager-for-iis-on-windows-10/33ef32f0-6a86-4803-abc1-6de81110f9a8?auth=1
-
ehii
2018.04.26 01:32
기존 v1.2과 달리 PHP관리자 v1.4는 레지스트리 수정 없이 IIS10에서 사용할 수 있습니다. https://forums.iis.net/1155.aspx
IIS 버전별 php관리자 다운로드 링크 https://github.com/edgardo001/PHPManagerForIIS-Versiones
-
김심술
2018.11.28 17:41
헛! 삽질막 하고 있었는데..
정보 감사합니다:) -
ehii
2015.12.03 20:43
윈도우10의 IIS10에서 XE 설치 후 로그인이 되지 않는 경우, 또는 로그인 유지를 체크해야만 로그인 되는 경우에는
PHP session 폴더의 권한을 확인해야 합니다.
PHP Manager > phpinfo를 통해 session.save_path 의 경로를 확인한 다음 그 폴더에 Users의 쓰기 및 수정 권한을 주시면 됩니다.
보통 C:\Windows\Temp폴더가 세션폴더로 지정이 되는데 시스템폴더의 권한을 수정하는 것이 껄그럽다면,
php.ini (아래 그림의 Manage all settiongs)에서 별도의 session.save_path를 지정하고 그 폴더의 Users권한을 수정하면 됩니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
새로운 쪽지 유무에 따라 이미지 변경하는 법 [3] | 멀티비타민 | 2013.12.16 |
댓글 작성, 추천후 다운로드 받을수 있게 하기. [7] | socialskyo | 2013.09.06 |
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [6] | 예뜨락 | 2004.12.17 |
ZB게시판에 구글광고 달수 없나요? [3] | 손주사랑 | 2019.11.23 |
[공유]게시물 자동삭제 애드온 (Made by 송동우) [12] | 시릐우스 | 2012.09.11 |
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 |
[PHP] 이름 및 연락처 마스킹 처리 [1] | ppumweb | 2018.05.21 |
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 |
php 및 mysql 업데이트 적용은 어떻게 가능한가요? 향후...