아키텍트2009. 7. 30. 22:59

“윈도우 플랫폼이 기업 내부 클라우드 대세될 것”

블로터닷넷 도안구 기자님이 써주신 (2009.7.29) 글 입니다.
한 번 읽어보시면 도움이 될 것 같아서 올려 봅니다.

그리고, 저는 7/31일부터 8/18일까지 장기간으로 Helsinki School of Economics MBA 수업 차
핀란드 헬싱키로 교육 출장을 가게 됩니다. 거의 3주에 가까운 기간을 비우게 되네요.
블로그에도 글을 많이 올리지 못하게 될 것 같습니다.

대신 이번에는 사진을 좀 찍어서 여행 및 교육에 대한 내용으로 글을 좀 실어볼까 합니다.

잘 다녀오겠습니다, 꾸벅 ~
Posted by 조이트리
마케팅2008. 7. 27. 16:57
몇 가지 고려사항이 있습니다.

첫째, PHP 웹사이트의 보안을 위해 다른 사이트와 격리 시켜야 합니다.
 . 웹사이트 마다 어플리케이션 풀을 각자 할당
 . 어플리케이션 풀 아이덴티티에 사용자 계정 사용
 . 어플리케이션 풀 아이덴티티를 사용하기 위해 Anonymous 사용자 설정
 . FastCGI의 impersonation 설정 확인 (fastcgi.impersonate = 1)

둘째, PHP 프로세스를 재활용 하세요
 . 네이티브 PHP 리사이클링이 시작되기 전에, php-cgi.exe가 항상 리사이클 되도록 하는 것이 좋습니다.
   FastCGI의 프로세스 리사이클링은 instanceMaxRequests라는 파라미터에 의해 결정됩니다.
   리사이클 되기 전에 몇개의 FastCGI 프로세스를 처리할 것인지를 설정하는 역할을 하죠. 이 파라미터 이외에도
   PHP 자체적으로 프로세스 리사이클링을 담당하는 파라미터가 있는데, PHP_FCGI_MAX_REQUESTS가 바로
   그거죠. instanceMaxRequest 값을 PHP_FCGI_MAX_REQUESTS 값보다 작거나 같게 하면 PHP의 네이티브
   리사이클링은 절대 발생하지 않겠죠? 아래와 같이 설정하면 됩니다.

C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000

C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /+[fullPath='c:\{php_folder}\php-cgi.exe'].environmentVariables.[name=’PHP_FCGI_MAX_REQUESTS’, value='10000']

※ 미리 값을 설정하지 않으면 기본 설정값은 instanceMaxRequest=200, PHP_FCGI_MAX_REQUESTS=500 으로 할당됩니다.

셋째, PHP의 버전
 . PHP 어플리케이션은 주로 특정 버전의 PHP의 기능 및 특징을 이용하여 개발되죠. 웹호스팅 환경에서, 또는 기업에서 사용하는 PHP 어플리케이션이 다양한 버전의 PHP를 사용한다면, 한대의 서버에서 여러개의 PHP를 지원하는 것은 필수겠지요. IIS7의 FastCGI 핸들러는 여러 버전의 PHP를 지원합니다. PHP4.4.8, PHP5.2.1, PHP5.2.5 non thread-safe 버전이 모두 필요하다면 PHP컴파일러를 파일 시스템에 각각 다운 받아야 합니다. (c:\php4.4.8, c:\php5.2.1, c:\php525nts)를 설치한 후 각 버전의 어플리케이션 풀을 생성합니다.

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php448\php.exe']

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php521\php-cgi.exe']

C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php525nts\php-cgi.exe']

site1, site2, site3의 3개의 웹사이트가 있고 각 사이트가 별도의 버전 PHP를 사용한다면 아래와 같이 설정할 수 있을 겁니다.

C:\>%windir%\system32\inetsrv\appcmd set config site1 –section:system.webServer/handlers /+”..[name=’PHP448_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php448\php.exe’,resourceType=’Either’]

C:\>%windir%\system32\inetsrv\appcmd set config site2 –section:system.webServer/handlers /+”..[name=’PHP521_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php521\php-cgi.exe’,resourceType=’Either’]

C:\>%windir%\system32\inetsrv\appcmd set config site3 –section:system.webServer/handlers /+”..[name=’PHP525nts_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php525nts\php-cgi.exe’,resourceType=’Either’]

넷째, PHP 보안강화를 위한 추천 항목
  1. Disable remote URL's for file handling functions:
    • Set allow_url_fopen=Off
    • Set allow_url_include=Off
  2. Disable register_globals:
    • register_globals=Off
  3. Restrict where PHP can read and write on a file system, e.g.:
    • open_basedir="c:\inetpub\"
  4. Disable safe mode:
    • safe_mode=Off
    • safe_mode_gid=Off
  5. Limit script execution time:
    • max_execution_time=30
    • max_input_time=60
  6. Limit memory usage and file sizes:
    • memory_limit=16M
    • upload_max_filesize=2M
    • post_max_size=8M
    • max_input_nesting_levels=64
  7. Configure error messages and logging:
    • display_errors=Off
    • log_errors=On
    • error_log="C:\path\of\your\choice"
  8. Hide presence of PHP:
    • expose_php=Off

감사합니다.



Posted by 조이트리
호스팅2008. 6. 2. 16:59
지난 Windows Server 2008 Launch 이벤트 때 Windows Server 2008의 핵심 Pillar인 IIS7 웹서버에 대해 발표를 했었지요. 그 때 윈도우 호스팅 자동화 솔루션 (WHAS)이 개발 완료되면 공지하겠다고 말씀을 드렸었죠.
마침내, 개발 완료되었습니다. 마이크로소프트의 파트너인 MWorks가 개발하였습니다.

특징은, 윈도우 웹 호스팅 서비스를 바로 시작하실 수 있다는 것입니다. 고객이 웹을 통해 서비스를 신청하면, 프로비전닝 웹서비스를 통해 실제 DNS서버, 웹서버, DB서버에 설정이 자동으로 이루어지는 것이죠.
주요 특징은 AD(Active Directory)가 필요 없다는 것, 각 서버에 Agent 설치가 필요 없다는 것, 프로비저닝 엔진이 웹서비스로 개발되었기 때문에 커스토마이징이 자유롭다는 것, 설치가 쉽고 최소의 서버로 호스팅이 가능하다는 장점이 있습니다. 프로비저닝 서버 1대, 웹 서버 1대, DB서버 1대, 총 3대면 윈도우 웹 호스팅 서비스를 시작할 수 있다는 것이죠. 아 참, 제일 중요한 해당 솔루션의 라이선스 비용은 무료 라는 것, 빼먹을 수없겠죠?
매력적이죠?

사용자 삽입 이미지
Posted by 조이트리
호스팅2008. 5. 20. 11:06
고객들로부터 자주 듣는 이야기 중의 하나가 마이크로소프트 사이트에는 정보가 너무 많아 원하는 자료를 얻기가 어렵다는 것입니다. 보시는 바와 같이 아래와 같이 다양합니다. 이런 다양한 소스에서 호스팅 업체에 필요한 정보를 제가 분류해서 저의 블로그에 올리는 작업을 진행하고 있습니다만, 제 블로그가 불충분하다면 해당 사이트를 직접 방문하셔서 정보를 얻으실 수 있고, 아니면 제게 연락을 주셔도 좋습니다.
제 이메일 주소는 hsshin@microsoft.com 입니다.

또한, 윈도우, IIS, MSSQL 서버를 사용 중 발생하는 오류에 대해서는 윈도우 호스팅 포럼에 문의하시면 전세계의 호스팅 전문가로부터 답변을 받으실 수 있습니다. (무상 제공)
http://forums.asp.net/default.aspx?ForumGroupID=29

1. 본사 사이트       (www.microsoft.com)
2. 본사 MSDN       (www.microsoft.com/msdn)
3. 본사 TechNet    (www.microsoft.com/korea/technet)
4. 한국 사이트       (www.microsoft.com/korea)
5. 한국 MSDN       (www.microsoft.com/korea/msdn)
6. 한국 MyMSDN  (www.microsoft.com/korea/msdn/mymsdn/public/)
7. 한국 TechNet    (www.microsoft.com/korea/technet)
8. ASP.NET         (www.asp.net)
9. IIS7.0               (www.iis.net)
10.오픈소스PJT     (www.codeplex.com)
11.SQL팀 블로그   (blogs.msdn.com/sqlserver/)
12.IIS팀 블로그     (blogs.iis.net/bills/archive/2006/11/14/powershell-rocks.aspx)
13.쉐어포인트       (blogs.msdn.com/sharepoint/)
14.윈도우 서버      (blogs.technet.com/windowsserver/default.aspx)
Posted by 조이트리