MAMP – Mac OS X에서 PHP개발환경 만들기

Mac OS X에서는 기본적으로 왠만한 프로그램이 내장되어 있다. 더구나 X Code라는 개발 툴까지 무료로 이용할 수 있기에 웹프로그래밍 개발 환경도 쉽게 구축할 수 있을거라 생각했다. 그러나 최근에 php를 공부하는 도중에 제약이 많다는 것을 알게되었다.
Mac OS X 10.6 Snow Leopard에는 기본적으로 비교적 최신버전의 apache와 php가 설치 되어 있다. 그러나 GD 라이브러리나 Freetype라이브러리 등이 빠져 있어서 동적으로 이미지생성하거나 선을 그리는 것과 같은 기능을 사용할 수 없다. Macport를 이용해서 GD2 라이브러리를 별로도 설치할 수 있다. 그러나 특정 이미지 관련 함수가 호출 되지 않는다. 예를 들어 이미지 위에 특정 폰트로 글씨를 쓰는 함수인 imagettftext()가 호출되지 않는다.

해결책은 두가지이다.
필요한 라이브러리들을 포함시켜 php를 새로 컴파일 하든지 MAMP를 설치해서 한번에 끝내는 것이다.
처음에 직접 웹서버를 세팅해보는 것도 재미있을거라 생각했지만 이틀동안 각종 오류를 접하고 삽질한 끝에 결국 해결하지 못하고 포기해 버렸다.

그러나 MAMP를 설치 하면 로컬 웹서버를 구축하는 것은 일도 아니다.
MAMP는 Mac, Apache, MySQL, PHP의 첫글자를 붙여서 만든 이름이다.
MAMP Pro 버전도 있지만 유료이다.
dmg 파일을 다운받아서 설치한 다음 실행하면 Apache서버와 MySQL서버가 시작되고 로컬의 시작페이지가 로딩된다.

Preference…에서 홈폴더의 경로나 포트등을 바꿔 줄 수 있다.

루트 디렉토리를 이전에 사용하던 /Library/WebServer/Documents로 바꿔 주었다.


MAMP는 기존의 설치되어 있는 애플리케이션 서버와 충돌을 피하기 위해서 다른 포트로 설정된다. 일반적으로 사용되는 포트 번호로 변경해 주고 싶으면 Port 항목에서 ‘Set to default Apache and MySQL ports’클릭한다. 그러면 Apache는 80, MySQL은 3306으로 바뀐다.

망약 80포트로 변경이 안된다면 Mac OS 에 기본적으로 설치되어 있는 Apache의 포트와 충돌이 일어나는 것이므로 ‘System Preference > Sharing’에서 Web Sharing 항목의 체크를 풀어준다.

그외 자세한 세팅은 /Application/MAMP/conf/ 폴더안에  httpd.conf 와 php.ini에서 변경해 주면된다.

고맙게도 phpMyAdmin가 같이 설치되어 MySQL을 조작하기 위해 터미널로 들어가서 작업할 필요가 없다
삭제하고 싶을 때는 간단하게 app 파일만 삭제하면 되니 얼마나 편리한가.

나같이 터미널에서 여러 경로를 찾아다니면서 타이핑하는 것이 귀찮거나 시간적 여유가 없는 사람들에게는 MAMP같은 툴이 제격이다.

Advertisements

3 thoughts on “MAMP – Mac OS X에서 PHP개발환경 만들기

  1. 안녕하세요.
    현재 MAMP를 깔고 사용하고 있는 유저입니다.
    혹시 MAMP를 실행하고 서버 ON하면은 모든 PHP파일이 실행되는게 맞나요?
    저같은 경우 MAMP를 깔고 PHP마이어드민에서 데이터베이스에서 폴더를 만들고 그 안에 PHP파일을 집어넣었는데 이상하게 어느 폴더에 있는 PHP는 실행이 되고 어느 폴더에 있는 파일들은 실행이 되질 않네요…(안되는 폴더의 파일들은 PHP코드가 그대로 출력되거나 깨져서 출력)

    1. 블로그 관리를 소홀히 해서 댓글이 있는 지도 몰랐네요.
      음… 죄송하게도 요즘 개발 쪽에 흥미를 잃어서 정확한 답변을 드릴 수가 없습니다. 잘 아시겠지만 어떤 증상 하나가지고 원인을 찾기기 쉽지 않지요. httpd.conf, php.ini, 폴더 권한등을 체크해보시기 바랍니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중