2013년 5월 21일 화요일

mac os(mountain lion) 에서 mysql 설치

예전에 mac 에서 mysql 쓸수 있는지 확인하기 위해서 이미 설치를 했었다.
일단 삭제 하고 다시 설치 하자. (삭제하는 방법 구글링 한 것 아까워서 삭제 부터 시작함!)


1. 기존 인스톨된 mysql 삭제
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
vim /etc/hostconfig # and remove the line MYSQLCOM=-YES-
출처: Removing MySQL From OSX Lion

lion 버전에서 삭제 라는데, 그냥 무시하고 그대로 따라 했다.
재부팅 하니....별 문제 없는듯.....


2. mysql 다운로드
Mysql 사이트 에서 다운로드 받으면 된다. 사이트 방문하면 여러가지 메뉴가 많은데, 대충 "Download" 들어가서 "MySQL Community Edition (GPL)" 받으면 된다.

참고로 mysql 사이트에 가입 후 로그인 해야 하니, 가입 안 했다면 돈 안드니 가입 하면 된다.

최종 다운로드 메뉴로 들어가면 자기가 알아서 Mac OS X 용 패키지를 보여 주니, 골라서 다운 받으면 된다.

서버도 아니고 로컬에서 설치로 골치 아프기 싫어서 그냥 dmg 로 묶여 있는 것을 받았다. 요거 ~ Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive (mysql-5.6.11-osx10.7-x86_64.dmg)


3. 설치
다운 받은 dmg 파일을 열면 다음과 같이 나온다.

mysql-5.6.11-osx10.7-x86_64.pkg 를 클릭하여 실행한다. 윈도우 프로그램 설치 할때 처럼 아무 생각 없이 Ok 버튼만 눌러서 마지막 까지 설치 진행 한다.

"시스템 환경설정" 에서 mysql 메뉴를 보기 위해서 MySQL.prefPane 을 실행 한다.
preference pane 에 mysql icon 이 추가 되며, 앞으로 이것을 통해서 mysql stop, start 할 수 있다.


Mysql 아이콘을 클릭 하면 다음과 같이 Start, Stop 할 수 있는게 나온다.


Start MySQL Server 를 클릭 하니...오~ 별 문제 없이 잘 돌아 간다. 서버에 오라클 설치 할때 생각 하면 진짜....너무 편하다는....


4. 점검
진짜로 설치 제대로 되었는지 터미널(나의 가장 친한 친구 터미널~)로 mysql 에 한번 붙어 본다.

$ cd /usr/local/mysql
$ cd bin
$ ./mysql
$ sudo ./mysql

mysql 은 /usr/local/mysql 에 설치 되어 있다.

기본으로 password 가 없기 때문에, 그냥 ./mysql 이나 sudo ./mysql 로 접속하면 바로 접속 되어 진다.

sudo ./mysql 로 붙으면 root 로 붙는 것이기 때문에 이렇게 붙어서 기본 설정 하면 된다.


5. 터미널로 mysql 붙은 김에 할일
터미널로 mysql command 로 들어온 김에 root 패스워드를 설정 한다.

$ cd /usr/local/mysql/bin
$ sudo ./mysql
mysql> use mysql;
mysql> update user set password=password('사용하고 싶은 패스워드') where user='root';
mysql> flush privileges;
mysql> quit

mysql root 의 패스워드를 설정 했기 때문에 이후 부터는 sudo ./mysql 이나 ./mysql 로 바로 붙을 수 없다. root 로 한번 붙어 보자.

$ cd /usr/local/mysql/bin
$ ./mysql -u root -p

로 커맨드를 치면, 패스워드 넣어라고 한다. 그러면 위에서 설정한 패스워드를 입력하면 접속 완료!

<2013년12월15일 추가>
[mysql 을 UTF-8 환경으로 설정]
http://www.nextstep.co.kr/250 참조

phpMyAdmin 을 사용한다면 별 상관 없을듯 한데, RazorSQL 사용할때 괜히 텍스트 꼬이지 않게 하기 위해서 mysql 을 UTF-8 로 설정 한다.

$ cd /usr/local/mysql
$ sudo vi my.cnf

my.cnf 파일을 다음과 같이 수정 하면 된다(내용 추가)

[mysqld]
init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

파일 수정후, mysql stop/start 한다. 다시 mysql 에 접속해서 명령어로 utf-8 설정 확인 한다.

$ cd /usr/local/mysql/bin
$ ./mysql -u root -p
mysql> show variables like 'c%';
+--------------------------+--------------------------------------------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------------------------------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | utf8                                                   |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | utf8                                                   |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.6.15-osx10.7-x86_64/share/charsets/ |
| collation_connection     | utf8_general_ci                                        |
| collation_database       | utf8_general_ci                                        |
| collation_server         | utf8_general_ci                                        |
| completion_type          | NO_CHAIN                                               |
| concurrent_insert        | AUTO                                                   |
| connect_timeout          | 10                                                     |
| core_file                | OFF                                                    |
+--------------------------+--------------------------------------------------------+
15 rows in set (0.00 sec)




2013년 5월 16일 목요일

gamma board 구성 요소

이번 프로젝트에서 XE 를 사용 하고 있다. 그런데, 문제가 서비스 플랫폼을 가져와서 사용하면 그 서비스 플랫폼에서 제공하는 기본적인 서비스 구조를 지켜 줘야 하는데, 이건 뭐~

대부분 바꾸어서 솔직히 XE 의 DB 구조를 제외하고는 XE 를 왜 사용하고 있는지 모를 정도 이다. 그냥 처음 부터 개발을 하고 말지, 맘에 들지도 않고 복잡하기만 XE 를 왜 사용하고 있는지...차라리 워드프레스를 사용했으면 워드프레스 공부해서 남기나 하지...제길슨

아무튼 앞으로 이런식으로 흘러 갈거 같아서 미리 틈틈이 기본적인 기능(회원 관리, 게시판 관리, 사이트 편집)을 지원하는 서비스 플랫폼을 만들려고 하고 있다.(가칭 감마보드....창의성 없는...) 현재 CI 보고 있는 이유도 이것 때문이다. 뭣~ 같은 XE 의 템플릿 문법을 안 보니 살거 같다.

기본 framework 은 CI 를 사용할 예정이고, DB 는 mysql 만 지원하면 된다.(돈이 없어서 mysql 외에는 쓰지 않을 것으로 보고 있다. 물론 mysql 이 훌륭한 이유도 있다)

일단 기본적인 모듈 구성은 다음과 같이 할 것이다.

1. 환경
 - php 5.4 (php 업그레이드 좀 하자고! 5.2 가 뭐냐...)
 - CI
 - mysql
 - jquery
 - knockout
 - nodejs

2. php 개발 모듈
 - member 관리
 - admin
 - 서비스 메뉴 관리
 - member point 관리
 - 기본 3개 이후에 추가 예정.

후..밤에 짬짬히 개발 하려니 속도가 안난다...일단 github 에서 하고 있다.
https://github.com/redsea/gboard

iOS mountain lion 에서 web sharing(apache httpd 실행)

iOS 가 lion 버전에서 mountain lion 버전으로 업그레이드 되면서 시스템 환경 설정의 공유란에 존재하던 인터넷 공유가 사라졌었다.(마운틴 라이언 출시되고 바로 구입한것이 되어서 현재는 모르겠뜸...아마도 추가 되었을지도....;;;)

뭐 시스템 환경 설정에 항목이 없더라도 터미널 띄어서 커맨드로 apache httpd 실행 시키면 되기는 하지만 귀찮아서, 해결책이 없는지 찾던중 어느 감사한 분이 클릭으로 할 수 있도록 시스템 환경 설정에 항목 추가 할 수 있도록 한 것을 찾았다.

요기 (아마도 이것일듯 설치한지 한참 되어서 기억이 가물 가물...)

다운로드 후 설치하면 "시스템 환경 설정" 에 "Web Sharing" 항목으로 apache httpd 껏따 켰다 할 수 있다. virtual host 리스트는 제대로 안 되는듯 보이는데, 이건 그냥 터미널로 처리하면 되니 패스~




macbook 에서 httpd virtual host 설정

apache httpd 의 설정파일은 /etc/apache2 하단에 존재한다.

기본적으로 설정파일 들의 템플릿들이 존재하고 주석으로 막혀 있는 상태이기 때문에 변경 사항이 많지 않다.

1. virtual host 설정 파일 변경
virtual host 설정 파일(/etc/apache2/extra/httpd-vhosts.conf) 편집 한다.

NameVirtualHost *:80

이 부분은 그대로 놔 두고, 나머지는 모두 필요 없으므로 주석 처리 하고, 내가 필요한 설정을 추가 한다.

ServerAdmin dhkim94@gmail.com
DocumentRoot "/Users/dhkim/Sites/gboard"
ServerName dhkim.gboard.org
ErrorLog "|/usr/sbin/rotatelogs  /Users/dhkim/Sites/log/gboard/error.%Y%m%d 86400"
CustomLog "|/usr/sbin/rotatelogs /Users/dhkim/Sites/log/gboard/access.%Y%m%d 86400" combined

사용하는 도메인은 외부로 열지 않을 것이기 때문에 그냥 /etc/hosts 에 원하는데로 등록하여 사용 했다.


2. apache 메인 설정 파일 변경
virtual host 설정을 반영 하는 것이 기본적으로 주석 처리 되어 있기 때문에 주석만 풀어 주면 된다. /etc/apache2/httpd.conf 파일을 열어서 vhost 로 검색 하면

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

으로 주석이 막혀 있는데 Include 주석을 풀어, virtual host 설정을 포함 시킨다.
그리고 apache 재 실행하면 된다.


3. 추가
Rewrite 모듈을 사용 할 것이기 때문에 virtual host 설정 파일을 수정 하는 김에, Rewrite 부분도 추가한다. /etc/apache2/extra/httpd-vhosts.conf 파일에 아래 내용을 추가 한다.

<Directory "/Users/dhkim/Sites">
    AllowOverride All
    Options FollowSymLinks
    Order deny,allow
    Allow from all
</Directory>

접속 관련인데, 로컬로만 돌릴 것이기 때문에 그냥 아무 부담없이 설정 한다.

macbook 에서 apache httpd 로그 분할

apache httpd 의 로그 분할은 예전 부터 cronolog 를 사용해 왔었다. macbook 도 cronolog 를 사용 할 수 있을 거라는 생각에 cronolog 를 다운로드 받아서 configure 를 해 보니...

헉! gcc check 가 no !
설마 하는 생각에 which gcc 를 해 보니....헉! gcc 가 엄서!

서비스 할 것도 아니고 그냥 개인 테스트 용도로 사용할 것이기 때문에, 곧바로 rotatelogs 로 방향 선회.

다행히 rotatelogs 는 /usr/sbin/rotatelogs 에 존재를 하고 있다.

에러 로그와 접속 로그를 다음과 같이 설정하여 로그 분할 완료.


ErrorLog "|/usr/sbin/rotatelogs  /Users/dhkim/Sites/log/gboard/error.%Y%m%d 86400"
CustomLog "|/usr/sbin/rotatelogs /Users/dhkim/Sites/log/gboard/access.%Y%m%d 86400" combined

아파치 재시작 하니 로그 잘 남는다. ㅋㅋ

Codeigniter 설치

생짜 코딩을 해야 하는 강제적인 환경에 한계를 느껴 cakePHP 를 사용하려고 하다, Codeigniter 라는 framework 이 있다는 말에 구글링 해보니, 문서화도 그럭저럭 되어 있고 속도도 괜찮다는 말에 방향을 급선회 하여 Codeigniter 를 사용하기로 결정 했다.(제발 좀 framework 좀 사용하자고! 왜 그렇게 framework 에 대해서 거부감이 있는지...내가 framework 가져와서 개발 환경 강제로 모두 엎어 버리고 만다 기다려라!)

일단 다운로드는 여기서 Codeigniter 홈.

자바 같이 인스톨에 복잡한 과정이 걸리는 것이 아니기 때문에, 무조건 다운로드(2.1.3 버전) 받아서 mac book 에 구겨 넣었다.(다운로드 받은 것을 압축 풀어서 그냥 복사하면 설치 끝. PHP 만쉐이~ Java 쉣더퍽~)

설치 완료 하고 나면 index.php 페이지가 존재한다. index.php 로 붙어 보면 간단한 환영 페이지가 나온다.


별 다른 이상 없이 설치 완료 된듯.......;;;
나머지 자잘한 것은 필요 할때 마다 설정 하도록 한다. 다음은 메뉴얼 정독 하러 고고씽~



참고로 한국 사용자 포럼 을 방문하면 한글로 된 문서를 참고 할 수 있다.


macbook 에서 php 업그레이드

테스트 서버의 php 버전이 너무 낮아서 업그레이드 하려고 했으나, 개인적인 일로 인해 테스트 서버까지 건드리는 것이 배보다 배꼽이 커 질듯 하여, 그냥 mac book 의 php 버전을 업그레이드 하기로 하였다.

다음은 개발용으로 사용하고 있는 mac book 의 정보 이다.


일단 mac book 에는 기본적으로 apache, php 가 이미 설치 되어 있다. php 버전은 5.3.x.
테스트 용도로 php 5.4 이상이 필요하여 구글링 하다 보니 쉽게 설치 할 수 있는 방법 있어 따라 설치 했다.

One Line Installation

php 5.4 를 설치 하기 위해서 터미널 실행 후, 루트로 로그인 하여 다음 라인을 실행 하였다.


curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4


한참 동안 다운로드를 받고 설치를 한다. 완료 되고 난 다음
아파치 죽이고 다시 살리면 PHP Version 5.4.14 로 업그레이드 되어 있다.

나머지 자잘한 설정들은 원본 링크의 "Frequently Asked Questions" 를 참고 하면 된다.