맥미니 서버를 요세미티로 업데이트하고, 더불어 OS X Server도 4로 버전업되면서 여러 문제에 봉착했었다. 대부분 OS X Server 업데이트로 인해 httpd.conf, php.ini, MySQL 등 서버 처음 설정할 때 잡아 준 값들이 초기화되어서였다. 앞으로는 서버 앱 업데이트는 신중해야겠다. 아무튼 이번 요세미티에서는 내장 php에서 png 지원을 빼 버렸다고 한다. 이럴 때 애플이 원망스럽다.

어쨌든 한참을 구글링해 보니 내장 php를 손 봐서 해결할 수는 없고, 새로운 php 프로그램을 컴파일하여 이 프로그램으로 php를 돌리는 게 유일한 방법이었다. 내가 참고한 방법은 다음 링크를 참고하면 된다:
http://stackoverflow.com/questions/26493762/yosemite-php-gd-mcrypt-installation

그런데 이 방법대로 해도 내 맥미니 서버는 내장 php 버전을 뿜어 댔다. 알고 보니 OS X Server는 서버 앱 내부에 httpd.conf를 내장하고 있어서 이 녀석을 수정해 줘야 한다.

시행착오를 줄이고자 블로그에 메모해 둔다.


OS X Server 사용 환경에서 brew로 php 5.5/5.6 컴파일 및 가동시키기:

1. Xcode Command Line Tools 설치
xcode-select --install

 

 2. homebrew 설치

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

3. php55 with mcrypt 설치

brew doctor
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrea/homebrew-php
brew options php55
brew install php55-mcrypt

※ 설치 과정에 symlink 에러 등 나오는지 확인할 것 (사용자 계정에 권한 없어서(root 계정에만 권한 설정) autoconf 가 link 되지 않는 경우 있었음)

 

4. OS X Server 앱에서 httpd.conf 수정

sudo nano /Library/Server/Web/Config/apache2/httpd_server_app.conf

 

아래 내용 추가

LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so

 

기존 LoadModule 내용 주석 처리(#)

#LoadModule php5_module libexec/apache2/libphp5.so

 

아파치 웹서버 재실행

sudo apachectl restart