독까의 이야기

고객사에서 윈도우용 PHP v7.2 와 CakePHP 3.7.9 설치를 요청하여 테스트 한다.

CakePHP 가 뭔지 몰라서 검색을 좀 했다. PHP 로 만들어진 프레임워크라고 한다. (https://ko.wikipedia.org/wiki/CakePHP)



1. PHP v7.2 다운로드 및 설치

IIS 에 등록 된 웹 플랫폼 설치 관리자 실행해서 PHP v7.2 입력한다. 


만약 웹 플랫폼이 설치가 안되어 있으면, 아래 첨부파일 실행해서 설치한다. 

WebPlatformInstaller_x64_en-US.msi


phpmanager도 설치하면 관리가 용이하다. (https://www.iis.net/downloads/community/2018/05/php-manager-150-for-iis-10

PHPManagerForIIS_V1.5.0.msi


호출되는 리스트에서 원하는 버전 추가 후 설치 진행한다.


IIS 에 등록 된PHP Manager 들어가서, PHP Extensions 설정을 변경한다. 

 



아래의 확장 모듈이 Enabled 로 선택되어 있어야 CakePHP 설치가 정상 진행된다.

mbstring PHP extension

intl PHP extension

simplexml PHP extension (simplexml 은 PHP 5.4 이후부터 코어에 기본 포함되어 목록에 없다.)

PDO PHP extension 


php_intl.dll 은 기본이 Disabled 니깐 Enabled 로 변경한다.


PHP 설정은 이 정도면 끝이다. 



2. CakePHP 다운로드 및 설치


설치 안내 페이지로 이동한다. 

https://book.cakephp.org/4/en/installation.html


윈도우 버전은 아래의 경로에 가서 Composer 다운로드 및 설치하라고 한다.

 


https://github.com/composer/windows-setup/releases/

Composer-Setup.5.1.0.exe



PHP 가 설치 된 경로는 알아서 잡으니깐 그냥 Next 만 계속 누르면 끝난다. 


파워쉘이나 cmd 열어서 아래 명령어 입력한다. 


composer create-project --prefer-dist cakephp/app:4.* my_app_name


ex) composer create-project --prefer-dist cakephp/app:^3.7 D:\cakephp_gunnm 



지정한 경로에 설치가 진행된다. 


종료되기 직전에 Y, n 선택하라고 나오는데 그냥 엔터치면 된다. 


cmd 를 이용해서 지정 경로인 D:\cakephp_gunnm\bin 폴더로 이동한다.

cake --help 명령으로 옵션값 확인한다. 


D:\cakephp_gunnm\bin>cake --help


config 폴더 내부 설정 파일들을 본인의 환경에 맞게 수정해야 한다. DB 접속 설정은 app.php 파일을 수정한다.

 


더 자세한 설명 및 방법은 구글하고 유튜브에 있으니깐 잘 검색하면 될 것 같다. 


윈도우 버전 업그레이드 문의가 주기적으로 들어와서 버전업 테스트를 한다.

이번 테스트는 Windows Server 2012 R2 에서 Windows Server 2019 로 바로 업그레이드가 되는지 확인해본다.

업그레이드야 되겠지만, 내부 프로그램 및 설정도 정상 작동되는지 확인하고자 한다.


# Windows Server 2019 설치 이미지 삽입 후 실행하면 아래와 같이 나온다. 그냥 권장 사항대로 클릭하고 넘어간다.


# GUI 환경이 필요하니까 두 번 째 항목으로 선택 후 진행 한다.


# 라이선스 관련 나오긴 하는데 그냥 동의 하고 넘어간다.


# 유지할 항목 선택 하라고 나오는데, 2008 에서 두 단계 이상 업그레이드 시에는 "개인 파일, 앱을 유지합니다." 가 선택이 안되는데 2012 에서는 가능하다.

Windows Server 2016 에서 기능 추가 된 업데이트 버전이 Windows Server 2019 이기 때문이 것 같다. 

윈도우 데스크톱으로 치면, 2015년에 발매 된 Windows 10 은 기능 추가 및 업데이트가 진행되어도 계속 10 네이밍을 쓰는 것과 마찬가지로 보면 될 듯 하다.

아래 링크에서 윈도우 버전별 기능 비교가 가능하니 참고.

https://www.microsoft.com/ko-kr/cloud-platform/windows-server-comparison


# 온라인으로 업데이트 다운로드 및 설치가 진행된다.

이러다가 리부팅 한 번 하고 나면 아래와 같이 2019 계열로 변경되고 또 업데이트를 한다. 언제 끝나냐.


# 리부팅 몇 번 반복되고 나서 2019 로 업그레이드가 되었다.


기존 설치 프로그램들 실행해보니 정상 작동 확인 되었다.


정품 인증은 2019 버전으로 다시 진행해야 된다.




# OS 업그레이드 테스트 종료

Windows Server 2008 R2 이하 버전 서버를 2019 까지 업그레이드 하려면

2008 -->> 2012 -->> 2019 순서대로 진행하면 될 것 같다.

2016 은 스킵해도 되니깐 어느 정도 이득 봤다고 볼 수 있지 않나 싶다.



# Windows Server 설치 및 업그레이드 MS 기술 문서

https://docs.microsoft.com/ko-kr/windows-server/get-started/installation-and-upgrade


타사에서 이용 중인 서버를 이전하여 사용하고자 하는 신규 고객사가 입점하여 작업을 진행 했다. 


기존 서버에 접속하여 상태 확인시, 물리 서버가 아닌 가상화 서버 OS 사용 중으로 확인 되었다. 


심지어, 윈도우 hyper-v 기반이 아닌 우분투 XEN 하위에 윈도우 가상화 서버를 이용 중이었다. (뭔 시부럴 조합인지, 라이선스 비용 때문인것 같은데)


DB 서버의 데이타는 그닥 많지 않은데, 웹서버에 설치 된 상용 프로그램과 설정 때문에 그냥 윈도우 이미지 백업 떠서 복구를 진행한다. 


웹서버는 X11SCL 로 만들고, DB 서버는 X11DPL 로 만든다. 


일단 복구는 잘 되서, 현재 장비에 맞게 칩셋 재설치를 하고 리부팅을 했는데 블루 스크린이 빠박하고 나와버린다. 


system thread exception not handled, xen.sys




또 구글링 시작한다. 


나같은 사람들이 좀 있었는가보다. 아래 링크에서 정보를 찾았다. 


https://discussions.citrix.com/topic/347782-unable-to-installuninstall-xen-tools/


xen 관련 프로그램 및 서비스, 폴더, 파일 전부 다 삭제하란다. 


# 제어판 - 프로그램 및 기능



# C:\Program Files (x86)\Citrix



# C:\ProgramData\Citrix



# C:\Windows\System32



# 서비스 




정리가 다 된 것 같아서 다시 리부팅을 했는데 또 블루 스크린이 나온다.


XEN 관련 항목들을 전부 날렸는데도 왜 이러나 싶었는데, 하드웨어 충돌 이슈 일 것 같아서 안전모드 진입 후 장치 관리자 실행한다. 


숨겨진 장치 를 표시하고, 트리를 전부 확장 후 찾아본다. 




생각보다 많이 튀어 나온다. XEN 과 관련된 장치 및 드라이버 전부 삭제한다. 


다시 리부팅 한다. 이번에는 정상 부팅 된다. 


다른 OS 기반 가상화에서 이전시에는 위 사항들을 잘 살펴봐야겠다. 어쨌든 복구 이전은 잘 되었다. 끝.