XDebug environment setting from PHPSTORM for Mac (Part 2)

PHPSTORM에서 XDebug 환경(Mac)설정하기 STEP 2

XDebug는 php의 extension으로 컴파일 설치(pecl/phpize/pear)를 해야하나 너무 쉬운 설치가 우릴 기다리고 있습니다.

1. 다운로드 받은 파일을 더블클릭하여 압축을 풀면 5.3폴더에 xdebug.so 파일이 보입니다.
2. finder를 새창으로 열고 cmd + shift + G 를 눌러서 아래의 경로 이동한후 xdebug.so파일을 아래의 경로에 옮깁니다
/usr/lib/php/extensions/no-debug-non-zts-20090626/
3. 터미널을 열고 sudo vi /etc/php.ini 에 아래내용을 추가합니다.
[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
4. 웹서버를 재시동하고 phpinfo를 확인합니다.

XDebug environment setting from PHPSTORM for Mac (Part 1)

PHPSTORM에서 XDebug 환경(Mac)설정하기SETP 1

XDebug를 이용하기 위해서는 Apache,PHP,Mysql이 구축되어 있어야합니다.
될수 있으면 따라하기 쉽게 작성했습니다.
천천히 해보~아~~요.

Apache

아파치 실행하기(시스템환경설정>공유>웹공유 체크 or 체크아웃)

sudo apachectl start(터미널 실행)
http://localhost (확인) or http://127.0.0.1 or http://사설IP

PHP

sudo vi /etc/apache2/httpd.conf

주석제거(#)

  • php5_module(ctrl+F로 이동해서 찾으세요)
  • LoadModule php5_module libexec/apache2/libphp5.so
  • 아파치데몬 재실행(시스템환경설정>공유>웹공유)
  • sudo apachectl restart(터미널상태에서)

/etc/php.ini 생성

  • cd /etc
  • sudo cp php.ini.default php.ini
  • sudo chmod 666 php.ini

타임존 설정

  • sudo vi php.ini
  • date.timezone = Asia/Seoul
  • sudo apachectl restart(아파치 재실행)

MySQL 설치(Mac OS X에는 mysql이 설치되어 있지않습니다)

Mac OS X mysql-5.5.10-osx10.6-x86.dmg download

  • mysql-5.5.10-osx10.6-x86.pkg 실행
  • MySQL PrefPane은 시스템 환경설정에 등록(아이콘에서 오른쪽버튼 클릭>다음으로열기>시스템환경설정)
  • 시스템환경설정에 mysql 실행 구동

msyql.sock  변경 (php.ini)

/etc/php.ini 열고 /var/mysql/mysql.sock 을 /tmp/mysql.sock 으로 변경

  • sudo vi php.ini
  • pdo_mysql.default_socket=/tmp/mysql.sock
  • mysql.default_socket = /tmp/mysql.sock
  • mysqli.default_socket = /tmp/mysql.sock
  • sudo apachectl restart(아파치 재실행)

How to install XDebug for Mac10.6.x (PHP zendextension)

XDebug Download

1. 다운로드 받은 파일을 더블클릭하여 압축을 풀면 5.3폴더에 xdebug.so 파일이 보입니다.

2. finder를 새창으로 열고 cmd + shift + G 를 눌러서 아래의 경로 이동한후 xdebug.so파일을 아래의 경로에 옮깁니다.

  • /usr/lib/php/extensions/no-debug-non-zts-20090626/

3. 터미널을 열고 sudo vi /etc/php.ini 에 아래내용을 추가합니다.

[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so

4. 웹서버를 재시동하고 phpinfo를 확인합니다.

Start Apache+PHP+Mysql for MacOSX

Apache

  • 아파치 실행하기(시스템환경설정>공유>웹공유 체크 or 체크아웃)
  • sudo apachectl start(터미널 실행)
  • http://localhost (확인) or http://127.0.0.1 or http://사설IP

PHP

  • sudo vi /etc/apache2/httpd.conf

주석제거(#) php5_module(ctrl+F로 이동해서 찾으세요)

  • LoadModule php5_module libexec/apache2/libphp5.so

아파치데몬 재실행(시스템환경설정>공유>웹공유)

  • sudo apachectl restart(터미널상태에서)

/etc/php.ini 생성

  • cd /etc
  • sudo cp php.ini.default php.ini
  • sudo chmod 666 php.ini

php.ini 타임존 설정

  • sudo vi php.ini
  • date.timezone = Asia/Seoul
  • sudo apachectl restart(아파치 재실행)

MySQL 설치(Mac OS X에는 mysql이 설치되어 있지않습니다)

Mac OS X mysql-5.5.10-osx10.6-x86.dmg download

  • mysql-5.5.10-osx10.6-x86.pkg 실행
  • MySQL PrefPane은 시스템 환경설정에 등록(아이콘에서 오른쪽버튼 클릭>다음으로열기>시스템환경설정(기본)
  • 시스템환경설정에 mysql 실행 구동

Fix msyql.sock location in php.ini

/etc/php.ini 열고 /var/mysql/mysql.sock 을 /tmp/mysql.sock 으로 변경

  • sudo vi php.ini
  • pdo_mysql.default_socket=/tmp/mysql.sock
  • mysql.default_socket = /tmp/mysql.sock
  • mysqli.default_socket = /tmp/mysql.sock
  • sudo apachectl restart(아파치 재실행)

Mac VMware+NAT+CentOS(other OS)+공유기+Port Fowarding

iptime과 같은 공유기의 포트포워딩 설정을 통하여 데스크탑 웹서버를 운영하는 방법은 다소 쉽다. 하지만 윈도우나 맥OS에 VMware를 설치하여 웹서버를 운영할때는 NAT 설정을 해주어야만 웹서버를 제대로 운영할수 있다.

NAT 개념을 이해한다면 그리 어렵지 않게 VMware 를 통하여 웹서비스를 운영할수 있다

VMware에 CentOS를 GUI모드 또는  TEXT모드로 설치하고 Apache까지 띄우는데 성공했다면 설치된 CentOS의 IP를 확인해보자( #ifconfig )
다음으로 공유기에 현재 접속된 PC들의 IP를 확인해보자. 어떤가? CentOS의 IP가 공유기에 접속된 IP목록에 존재하지 않는것을 알수 있을것이다.  이해가 어렵다면 공유기의 DHCP 동적 IP 할당범위를 192.168.0.2 ~ 192.168.0.10 로 적용해보면 알것이다. 할당범위 이외의 IP(192.168.65.129)가 CentOS에 할당되어 있는것을 보게된다. 이것은 공유기를 통해 IP를 할당받는게 아니라는 뜻이다. 그럼 어디서 할당받는것일까? 바로 NAT 이 VMware로 설치된 OS에 가상으로  사설 아이피를 할당하고 있는것이다. 즉 공유기가 할당하는 사설 IP와 NAT이 할당하는 사설 IP는 다르다는것이다.  이러한 이유로 웹서버를 운영하는데 혼란을 느끼게 되는것이다.

VMware>CentOS>웹서버 구동후 웹서비스 작동여부 확인

– 로컬에서 작동여부 확인
1. 자신의 PC (192.168.0.3=로컬PC=웹서버)에서 확인하기
http://localhost/ 또는 http://127.0.0.1 또는 http://192.168.65.129(ifconfig로확인한IP)
2. 다른PC (192.168.0.4)에서 확인하기
http://192.168.65.129(ifconfig로확인한IP)로는 앞에서 언급했듯이 웹페이지가 열리지 않는다. 확인하려면 http://192.168.0.3로 해야하는데 이때 VMware NAT 설정에서 port forwarding 해주어야 작동여부를 알수 있다.

맥터미널>

[incomingtcp]
80 = 192.168.65.129:80


– ISP에서 부여된 유동IP로 작동여부 확인

1. 확인하기에 앞서 로컬PC설치된 OS의 방화벽 작동을 멈춘다.
윈도우 : 제어판>windows 방화벽 끔
V3 : 방화벽 끔
2. 공유기의 port forwarding 설정을 해준다.
로컬PC의 IP(192.168.0.3) 80포트를 개방
3. ISP에서 부여된 유동IP(http://58.129.222.213)로 확인한다.

위 내용은 VMware를 통하여 테스트 서버를 운영하려면 반드시 거처야하는 관문이다. 만약 FileMaker Server v10(v11) Advanced 를 사내에 유동IP로 구축하고자 할때 도움이 될것이다.

해킹토시를 위한 하드 포맷방법과 보호된 GPT 파티션 삭제하기

해킨토시가 설치된 하드를 CentOS 5.5로 갈아 타기 위해서는 맥 하드를 포멧하는것인데 윈도우7 환경에서 디스크관리도구로 들어가  삭제/볼륨생성 기능을 이용하려 했지만 이용불가.

맥의 경우 GPT 보포 파티션을 사용하기 때문이다. 즉 GPT 보호 파티션을 삭제해야 다른 OS를 설치할수 있다.

참조 : http://msdn.microsoft.com/en-us/windows/hardware/gg463524.aspx

GPT 보호 파티션 삭제하기

윈도우7 or XP (MS-DOS 모드/cmd실행)
>diskpart
DISKPART>list disk
디스크 ###  상태            크기              사용가능          Dyn      Gpt
디스크 0      온라인      931 GB               0B
디스크 1       온라인     428 GB             128 GB                           *
DISKPART>select disk 삭제할디스크번호(1)
DISKPART>clean
DISKPART>detail disk
DISKPART>exit

How to install php-5.2.17 for MacOS

]# ./configure –prefix=/usr/local/php-5.2.17 –with-config-file-path=/usr/local/php-5.2.17/etc –with-apxs2=/usr/local/httpd-2.2.17/bin/apxs –with-openssl –enable-sigchild –with-gd –with-freetype-dir –with-png-dir –with-jpeg-dir –with-zlib-dir –enable-exif –enable-gd-native-ttf –enable-sockets –with-iconv –with-libxml-dir –enable-sysvsem –enable-sysvshm –enable-magic-quotes –enable-safe-mode –enable-ftp –enable-mbstring –with-zlib –disable-debug –disable-rpath –enable-inline-optimization –with-bz2 –with-pic –with-gettext –with-gmp –enable-bcmath –with-mcrypt –enable-wddx –enable-calendar –with-mysql=/usr/local/mysql-5.5.9 –with-mysqli=/usr/local/mysql-5.5.9/bin/mysql_config –with-pdo-mysql=/usr/local/mysql-5.5.9 –enable-mod-charset –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-ftp –with-snmp –with-ttf –with-xpm-dir –with-libxml-dir –with-pcre-dir –with-imap –with-imap-ssl –with-kerberos –with-curl –with-ncurses –enable-sqlite-utf8 –with-regex=php

컴파일시 오류내용에 따라 패키지를 설치한다

libmcrypt 추가 에러 발생시

/usr/local/lib
/usr/local/mysql-5.5.9/lib

mime_module 에 아래 내용추가

AddHandler php5-script .php .inc .html .htm
AddType text/html .php
AddType application/x-httpd-php .php .html .htm .inc
AddType application/x-httpd-php-source .phps

]# 아파치 restart

How to install httpd-2.2.17 for MacOS

httpd 서비스는 chkconfig를 지원하지 않습니다.
]# vi /etc/init.d/httpd 아래 내용을 추가한다.

# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/httpd-2.2.17/bin/apachectl
# config: /usr/local/httpd-2.2.17/conf/httpd.conf
# pidfile: /usr/local/httpd-2.2.17/logs/httpd.pid