Leopard에서 AMP 환경을 구성하기 위해서 XAMPP for MacOS X 0.7.1,는 Leopard에서 MySql이 실행이 안되는 문제가 있어서 (Leopard 보안 정책의 변경으로 패치 중이라고 한다.) 안되었고,
맥전용 MAMP Pro은 유료인데다가, 필요한 모듈을 추가하기가 어려워, source bulild를 해주는 MacPort를 통해 Apache, MySql, PHP 및 phpMyAdmin을 직접 설치하였다.
1. Apple Developer Connection에서 Xcode를 다운로드 받고 설치한다.
Leopard에 설치할 것이므로 Xcode 3.0을 선택 후 다운로드
2. MacPort에서 Leopard용 MacPorts ver 1.6.0을 다운로드 받아 설치한다.
Leopard, Tiger, Panther용이 따로 있는데.. Leopard(Universal)로 다운로드 받아 설치
* macport (이전 darwinport)는 source package 형태로 직접 build 설치하기때문에 , binary install을 하는 fink보다 사용자 환경 설정 변경이 용이하다는 장점이 있다.
* macport package는 의존성 검사를 수행하여 필요한 모듈은 자동으로 다운로드 받아서 설치하기 때문에, 그다지 어렵지 않게 설치가 가능하다.
3. Terminal 환경 설정
$cd ~
$vi .bash_profile 하여 아래와 같이 macport의 bin 실행디렉토리 path를 추가한다.
———————————————–
export PATH=/opt/local/bin:$PATH
———————————————–
$source ~/.bash_profile 을 하여 bash profile을 reload한다.
$env 를 통하여 환경 설정 점검한다.
4. Apache2 설치
$su
#port install gawk
#port install nawk
#port install apache2
이후 Apache의 기본 설정파일을 생성해 준다.
#cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf
기존 Leopard OSX의 웹 문서 구조와 동일시 하기 위해 opt/local/apache2/htdocs의 Document Root 디렉토리를 기존 Leopard 기본 디렉토리로 변경한다.
#vi /opt/local/apache2/conf/httpd.conf 하여 아래 사항대로 변경/적용을 시킨다.
——————————————————————————-
“/opt/local/apache2/htdocs” 부분을 찾아 “/Library/WebServer/Documents”로 변경해 준다.
아래와 같이 주석처리되어있는 것을 해제해준다. (#삭제)
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-default.conf
——————————————————————————-
이제 설치한 Apache가 제대로 돌아가는지 daemon을 실행시켜보도록 한다. 우선 실행을 위한 단축 alias를 만든다.
vi .bash_profile
——————————————————————————-
alias apache2ctl=’sudo /opt/local/apache2/bin/apachectl’
——————————————————————————-
이제 항상 Leopard가 재부팅할때마다 자동으로 실행되게끔 하려면..
#launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
이후 Apache2를 실행하려면 apache2ctl start , 중지시키려면 apache2ctl stop 이렇게 입력하면 됨.
이제 브라우저를 열어 http://localhost 및 http://localhost/~username 를 했을 경우, 제대로 보이면 성공.
5. PHP5 설치
Apache 설정은 완료되었으며 이제 PHP5 모듈 설치를 시작한다. (간단하다)
#port install php5 +apache2 +mysql5 +pear
#cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
#cd /opt/local/apache2/modules
#/opt/local/apache2/bin/apxs -a -e -n “php5” libphp5.so
# vi /opt/local/apache2/conf/httpd.conf
——————————————————————————-
우선 확장자 index.php를 기본 문서로 추가 지정
DirectoryIndex index.htm index.php
확장자 .php를 실행을 위한 script로 인식
#
# Cause the PHP interpreter handle files with a .php extension.
#
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 9524288
</Files>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
——————————————————————————-
이렇게 하고 $apache2ctl restart 하면 완료
PHP가 잘 돌아가는지 테스트를 하기위해서 다음과 같이 입력
#cd /Library/WebServer/Documents
#vi test.php
——————————————————————————-
<?php phpinfo() ?>
——————————————————————————-
이후에 브라우저로 http://localhost/test.php 를 실행하여 결과물 확인
6. MySql 설치
이제 mysql을 설치하도록 하자. 앞서와 마찬가지로 port install 명령어를 통해 쉽게 인스톨 된다.
#port install mysql5 +server
#launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
상기 launchctl 명령이 제대로 안되는 경우가 있는데.. 이럴땐
#vi /Library/LaunchDaemons/com.mysql.mysqld.plist 파일을 아래와 같이 생성해준다.
——————————————————————————-
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.mysql.mysqld</string>
<key>Program</key>
<string>/opt/local/bin/mysqld_safe –user=root</string>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
</dict>
</plist>
——————————————————————————-
#cd /opt/local/
#sudo -u mysql5 mysql_install_db5
#mkdir /opt/local/var/db/mysql5/
#touch /opt/local/var/run/mysql5/mysqld.sock
#chmod 777 /opt/local/var/run/mysql5/mysqld.sock
#sudo -u mysql mysql_install_db5
#cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
#sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock
설치 후에 root 계정 등록 및 패스워드 변경을 위해 아래와 같이 실행한다.
#mysqld_safe5 –skip-grant-tables –user=root &
#mysql5 -u root -p
——————————————————————————-
mysql> use mysql;
mysql> INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv,
References_priv, Index_priv, Alter_priv) VALUES(“%”, “root”, password(“패스워드입력”),
“Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”, “Y”);
mysql> quit
——————————————————————————-
기존의 mysqld 데몬을 kill 하고 다시 mysql 데몬을 실행시킨다.
#killall mysqld
mysql 데몬을 실행시키기 위해서는 아래와 같이 입력한다.
#mysqld_safe5 –user=root &
언제라도 mysql 데몬을 종료시키려면 아래와 같이 입력한다.
#mysqladmin5 -u root -p shutdown
mysql command line으로 직접 로그인하기 위해서는 아래와 같이 입력한다.
#mysql5 -u root -p
7. PHPMyAdmin 설치
mysql을 WEB GUI로 관리하기 위해서 PHPMyAdmin을 인스톨한다.
우선 http://www.phpmyadmin.net/home_page/downloads.php 에서 최신버전 다운로드를 한다.
all-languages.tar.gz 를 다운로드 (phpMyAdmin 2.11.4)한 후 아래와 같이 압축을 풀고 설치 디렉토리로 이동 시킨다.
#tar xvfz phpMyAdmin-2.11.4-all-languages.tar.gz
#mv phpMyAdmin-2.11.4-all-languages /Library/WebServer/Documents/phpMyAdmin2
#cd /Library/WebServer/Documents/phpMyAdmin
실행을 위한 환경 설정 파일을 생성한다.
#cp config.sample.inc.php config.inc.php
8. 환경설정
앞서 Apache, PHP5, MySql을 설치하였고 이를 보다 원활히 실행하기 위한 방법으로 .bash_profile에 아래와 같이 등록해 놓는다.
$vi ~/.bash_profile
——————————————————————————-
alias apache2ctl=’sudo /opt/local/apache2/bin/apachectl’
alias mysqlstart=’sudo mysqld_safe5 –user=root &’
alias mysqlstop=’sudo mysqladmin5 -u root -p shutdown’
——————————————————————————-
Technorati Tags: leopard, mysql, phpMyAdmin, OSX, apache, php, AMP
good blog..great blog..