본문 바로가기

[ programing ]/PHP

[펌] 맥북 아파치, PHP, MySQL 세팅..

맥북에어 아파치, PHP, MySQL 세팅..

http://madchick.egloos.com/3662494

(이런 세팅이 익숙해지기 전까지 참고용 메모)

------------------------------------------------------------------------------------------------------------------------------------------------------------

맥북은 OS자체가 리눅스에서 출발해서 인지 apache , php 는  기본적으로 설치가 되어 있습니다. 


하지만, mysql은 없어서 별도로 설치를 해야 합니다. 라이센스 자체가 원래  Open-source는 아니어서 


기본적으로 설치되지 않는거 같습니다. 


http://www.mysql.com에 접속하시면 Downloads -> Community로 가시면 다운로드가 가능합니다. 확장자가 *.dmg로 되어 있는걸


받으시면 편합니다. 다운로드 받을때 oracle.com계정이 있어야 합니다. oracle이 mysql을 인수하면서 이렇게 바꿔 버렸네요... 


다운로드 받은 dmg파일을 더블클릭해서 실행하면 아래와 같은 화면이 나옵니다. 


pkg파일을 클릭하면 아래 화면과 같이 설치가 시작됩니다. 

 


여기서 주의 하실건 설치 마지막 단계에 mysql root 패스워드를 생성해서 알려줍니다. 


이걸 복사해서 적어놓으세요.. 아니면 mysql 서버에 접속도 못하고 다시 깔아야 합니다. 


이렇게 설치된 mysql은 Linux와 달리 실행하는 방법도 다릅니다. 


맥북 터미널에서 다음과 같이 입력하면 됩니다. 


시작 => sudo /usr/local/mysql/support-files/mysql.server start

종료 => sudo /usr/local/mysql/support-files/mysql.server stop

mysql 서버로 접속하려면 다음과 같이 해야 합니다. 


 

/usr/local/mysql/bin/mysql -u root -p 


이때 dmg파일 설치시에 복사해둔 root  패스워드가 있어야만 접근 가능합니다. 패스워드가 전혀 단순하지 않기 때문에


반드시 메모장에 복사해 두어야 합니다. 


mysql root로 접속해도 문제가 더있습니다. 


show databases;를 했더니 root passwd를 변경하라고 나옵니다. 이런~~~~~~~~~~~~~~


ssik-air:support-files ssik425$ /usr/local/mysql/bin/mysql -u root -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.12

 

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

Linux와는 전혀 방식이 다르네요... 


ALTER USER Query로 하면 될 줄 알았더니 쿼리는 전혀 안되네요... 할 수 없이 mysqladmin으로 다음과 같이 변경을 합니다. 


 

/usr/local/mysql/bin/mysqladmin -u root -p password '123456'

이후에 show databases;를 하니.. 정상동작합니다. 







----------------------------------------------------------------------------------------------------------------------------------------------------------------



설치 프로그램

아파치 : MacOS X에 포함되어 설치되어 있음..

PHP : MacOS X에 포함되어 설치되어 있음..

MySQL : http://dev.mysql.com/downloads/mysql/
mysql-5.5.13-osx10.6-x86_64.dmg

오라클 클라이언트 : 
http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

Navicat : Navicat Premium Non-commercial (Free) - Lite version
Lite 버전은 무료이며, 디버깅 등 몇가지 기능이 제한되어 있으나 개발용으로 사용하기 충분함.. 고급기능이 필요하면 유료로도 구입할만 함.. Microsoft SQL Server, Oracle, MySQL 모두 접속 가능해서 Premium 버전 설치.. 특정 DB에만 접속하는 경우에는 MySQL, SQL Server, Oracle, SQLite, PostgreSQL 전용버전이 각각 있으므로 다운로드 가능..



참고 : http://reric.com/wp/2011/03/09/1424
이정호님이 정리해주신 위의 링크 내용을 참고한 내용이 거의 대부분임..
이정호님 고맙습니다..



root 계정 활성화/비활성화

1. 활성화
터미널을 열고 dsenableroot 를 실행한다.
$ dsenableroot
$ username = ***
$ user password:
$ root password:
$ verify root password: 
$ dsenableroot:: ***
Successfully enabled root user.

2. 비활성화
터미널을 열고 dsenableroot -d 를 실행한다.
$ dsenableroot -d
$ username = ***
$ user password:  
$ dsenableroot:: ***
$ Successfully disabled root user.



Apache 실행

1. 터미널을 열고 아파치를 실행한다.
$ sudo apachectl start
$ sudo apachectl restart

2. 브라우저를 열고 http://localhost 에 접속한다.

3. It works! 가 보인다면 성공이다.



Apache 와 PHP 연동

1. apache 설정파일에서 php 모듈을 로드하는 부분의 주석을 제거한다.
$ sudo vi /etc/apache2/httpd.conf
변경 전: #LoadModule php5_module libexec/apache2/libphp5.so
변경 후: LoadModule php5_module libexec/apache2/libphp5.so

2. 자신의 웹사이트 디렉토리 아래에 php파일을 만든다.
$ cd /Users/madchick/Sites
$ vi phptest.php

3. 만들어진 파일에 아래 코드를 입력하고 저장한다.
phpinfo();
?>

4. apache를 재 시작(sudo apachectl restart) 한 뒤 
http://localhost/~madchick/phptest.php 에 접속한다.

5. php 관련 정보가 보인다면 성공이다.

6. 추가적으로 Default timezone 을 설정 한다.
$ cd /etc
$ sudo cp php.ini.default php.ini
$ sudo chmod 666 php.ini
$ vi php.ini
변경 전: ;date.timezone =
변경 후: date.timezone = Asia/Seoul

7. apache를 재시작 한다.



MySQL 설치

1. MySQL Community Server를 다운로드 한다.
http://www.mysql.com/downloads/mysql/5.1.html#downloads
Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive
mysql-5.1.57-osx10.6-x86_64.dmg 다운로드

2. 다운로드 받은 dmg 파일을 실행 한다.
2.1. 설치를 위해 mysql-5.1.56-osx10.6-x86_64.pkg 파일을 실행해 설치를 완료한다.
2.2. 시스템환경설정 패널에서 시작/종료를 할 수 있도록 MySQL.prefPane 파일을 실행해 설치를 완료한다.
2.3. 설치 후 MySQL 설정 패널에서 MySQL을 시작 한다.(Start MySQL Server)

3. path 에 mysql 경로(/usr/local/mysql/bin/)를 추가한다.
$ cd ~
$ vi .profile
변경 후: export PATH=/usr/local/mysql/bin/:$PATH

4. 변경 내용을 적용한다.
$ source .profile

5. 터미널을 열고 root 비밀번호를 생성한 뒤, 데이터베이스에 접속한다.
$ mysqladmin -u root -p password 1234
$ mysql -u root -p

6. 터미널 프롬프트가 mysql> 상태로 보이면 성공이다.



MySQL UTF-8 설정

1. 데이터베이스에 접속 한 뒤 인코딩 설정을 확인한다. 대부분 latin1 로 설정되어 있을 것이다.
mysql> show variables like 'c%';

2. 모든 인코딩을 UTF-8로 변경하기 위해 my.cnf 파일을 만든 후 인코딩 설정을 추가한다.
$ sudo cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
$ sudo vi /etc/my.cnf
2.1 [client] 아래에 다음을 추가한다.
default-character-set=utf8
2.2 [mysqld] 아래에 다음을 추가한다.
default-character-set=utf8
character-set-client-handshake=FALSE

4. mysql 을 재 시작한 뒤 1번 과정을 다시 수행해 인코딩을 확인한다.



PHP 와 MySQL 연동

1. 위에서 만든 phptest.php를 아래 코드로 수정한다.
$db = mysql_connect('localhost', 'root', '위에서 설정한 데이터베이스 비밀번호');
$conn = mysql_select_db('mysql',$db);
$result = mysql_query("show variables like 'c%'");
while ($data=mysql_fetch_array($result)) {
echo $data['Variable_name']." :$data[Value]";

phpinfo();
?>

2. php.ini 파일을 열어 mysql 정보를 수정한다.
$ vi /etc/php.ini
변경 전: /var/mysql/mysql.sock
변경 후: /tmp/mysql.sock

1.1 변경할 부분은 다음과 같다.
pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

3. apache를 재 시작(sudo apachectl restart) 한 뒤 
http://localhost/~madchick/phptest.php 에 접속한다.




오라클 세팅

export ORACLE_HOME=/Users/madchick/Program/Oracle10gClient/ohome
export NLS_LANG=AMERICAN_AMERICA.UTF8
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export SQLPATH=$ORACLE_HOME/sqlplus
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=/usr/local/mysql/bin:$PATH

오라클 홈디렉토리/network/admin 폴더에 tnsnames.ora파일을 만든 후 저장.

Navicat을 사용하는 경우, TNS를 통하지 않고 직접 연결이 가능하니 tnsnames.ora 파일 세팅을 하지 않아도 된다.. 하지만, 웹 프로그래밍에서는 필요할 수 있으니 세팅할 경우 위의 내용 참고..
위의 내용은 점검을 못해본 상황 (Navicat에서는 직접 연결로 세팅한 상태라) 실제로 오라클 클라이언트를 통해 웹 프로그래밍시에는 다른 세팅이 더 있을 수 있음..

최근에는 대용량(?)의 오라클 클라이언트를 설치하지 않아도 필수 몇개 파일만 설치해 오라클 접속이 가능한 것으로 보이니 그 내용을 찾아봐도 유용할 것으로 보임.. (오라클 클라이언트 설치 없이 오라클 DB 서버에 접속하는 방법을 검색해보자..)