apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면...

15
Apache PHP Cubrid 연동(phpcubadmin 까지 설치) 2010 년 4 월 13 일 http://www.commit.co.kr 정 현 호 [email protected]

Transcript of apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면...

Page 1: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

Apache PHP Cubrid 연동(phpcubadmin 까지 설치)

2010 년 4 월 13 일

http://www.commit.co.kr 정 현 호

[email protected]

Page 2: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

설치 환경 및 버전

OS Fedora12

Apache2.2 httpd-2.2.13-4.fc12.i686

php 5.2.12 소스설치

cubrid CUBRID 2008 R2.1

fedora12에서 php 버전이 포스팅하는 시점에서 5.3이 RPM버전으로 설치가 되고

그에 따라 zend optimizer 가 PHP5.3버전용이 없기에 apache는 RPM으로 php는 소스설치 되어있는

일반적인 연동 상태에서 cubrid 가 mysql 대신 연동하는 부분을 기술되어있습니다

문서에 대한 문제점이나 질문은 블로그나 http://fedoralinux.or.kr 에 글 올려주세요

오라클이나 mysql 처럼 설치할 그룹과 유저를 생성합니다

# useradd cubrid

페도라나 centos는 유저 추가시 유저명으로 그룹이 생성되고 지정되지만

그렇지 않은 OS인경우 그룹추가후 useradd -g 옵션으로 지정해주시면 됩니다

계정 비밀번호 지정

# passwd cubrid

cubrid 계정으로 변경후 큐브리드 설치파일을 다운받습니다

# su - cubrid

# wget http://dev.naver.com/frs/download.php/702/CUBRID-8.2.1.0215-linux.i386.sh

실행권한을 부여

# chmod u+x CUBRID-8.2.1.0215-linux.i386.sh

실행

# ./CUBRID-8.2.1.0215-linux.i386.sh

실행하면

Copyright (C) 2008 Search Solution Corporation. All rights reserved by Search Solution.

CUBRID is registered trademark of Search Solution Corporation.

This Software is released under GNU GPL v2 or BSD according to its components.

For more information, please refer to the CUBRID home page(http://www.cubrid.com).

Page 3: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

중략

The GNU General Public License (GPL)

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.

--More--

GPL등 라이센스에 대한 설명이 나옵니다

라이센스동의 물음에 yes 로 응답합니다

Do you agree to the above license terms? (yes or no) : yes

큐브리드 설치 디렉토리를 물어봅니다

Do you want to install this software(CUBRID) to the default(/home/cubrid/CUBRID) directory? (yes or no)

[Default: yes] :

기본값은 인스톨 실행유저 홈디렉토리로 지정됩니다 필자는 기본 디렉토리에 설치 하겠습니다

여기도 yes

In case a different version of the CUBRID product is being used in other machines, please note that the CUBRID

2008 R2.1 servers are only compatible with the CUBRID 2008 R2.1 clients and vice versa.

Do you want to continue? (yes or no) [Default: yes] :

yes를 해주고 좀 기다리면 아래와 같은 메시지를 띄우면 끝나는걸 볼수있습니다

CUBRID has been successfully installed.

demodb has been successfully created.

If you want to use CUBRID, run the following commands

% . /home/cubrid/.cubrid.sh

% cubrid service start

밑에 2줄대로 합니다

# . /home/cubrid/.cubrid.sh

# cubrid service start

Page 4: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

프로세스가 잘떠있는지 확인해보면

[cubrid@fedora12]$ ps -ef | grep cub_

cubrid 2872 1 0 12:31 ? 00:00:00 cub_master

cubrid 2875 1 0 12:31 ? 00:00:00 cub_broker

cubrid 2876 1 0 12:31 ? 00:00:00 query_editor_cub_cas_1

cubrid 2877 1 0 12:31 ? 00:00:00 query_editor_cub_cas_2

cubrid 2878 1 0 12:31 ? 00:00:00 query_editor_cub_cas_3

cubrid 2879 1 0 12:31 ? 00:00:00 query_editor_cub_cas_4

cubrid 2880 1 0 12:31 ? 00:00:00 query_editor_cub_cas_5

cubrid 2885 1 0 12:31 ? 00:00:00 cub_broker

cubrid 2886 1 0 12:31 ? 00:00:00 broker1_cub_cas_1

cubrid 2887 1 0 12:31 ? 00:00:00 broker1_cub_cas_2

cubrid 2888 1 0 12:31 ? 00:00:00 broker1_cub_cas_3

cubrid 2889 1 0 12:31 ? 00:00:00 broker1_cub_cas_4

cubrid 2890 1 0 12:31 ? 00:00:00 broker1_cub_cas_5

cubrid 2898 1 0 12:31 ? 00:00:00 cub_auto start

cubrid 2901 1 0 12:31 ? 00:00:00 cub_js start

cubrid 2912 2677 0 12:33 pts/0 00:00:00 grep cub_

연동을 위해서 모듈을 php cubrid 모듈을 다운받습니다

중요한건 모듈이 64bit로 컴파일이 되어있기 때문에 시스템이 64비트 / 큐브리도 64비트로

설치했다면 올라와 있는 것 그대로 사용하면 되고 32비트 라면 소스를 받아서

모듈을 컴파일 해야 합니다(32비트인데 이런..ㅠ_ㅠ)

64비트)

wget http://dev.naver.com/frs/download.php/987/cubrid.so

wget http://dev.naver.com/frs/download.php/988/cubrid_err.msg

root 유저로 변경한후 파일을 옴깁니다

그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다

# chown root:root cubrid.so

# chown root:root cubrid_err.msg

php.ini 에 기록된 extension_dir 경로에 2개의 파일을 옴겨놓고

php.ini파일에 아래 2줄 추가 합니다

extension=cubrid.so

cubrid.err_path="/usr/lib/php/modules"

그리고 php.ini 의 내용중 session.auto_start 의 값이 0으로 세팅 되어 있으면 1로 변경합니다

Page 5: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

32비트)

모듈 소스를 받고 압축을 풉니다

# wget http://dev.naver.com/frs/download.php/690/CUBRID-PHP-8.2.1.0215.src.tar.gz

# tar zxvf CUBRID-PHP-8.2.1.0215.src.tar.gz

src 디렉토리에 보면 config.m4 파일이 있습니다.

이 파일을 열어서 PHP_ADD_LIBRARY_WITH_PATH 매크로에서

"$CUBRID/lib64" 부분을 "$CUBRID/lib" 으로 변경

src 디렉토리 안에서 phpize 실행

# phpize

phpize 가 없다면 검색을 통해 설치 혹은 path가 안잡혀있을수 있으니 확인

아래 작업 실시

# ./configure

# make

정상적으로 빌드가 되었다면 modules 디렉토리안에 cubrid.so 파일이 생성이 되었기에

php.ini 에 기록된 extension_dir 경로에 옴겨놓습니다

src 디렉토리에 cubrid_err.msg 도 옴겨놓습니다

php.ini 에 아래2줄을 추가합니다

extension=cubrid.so

cubrid.err_path="/usr/lib/php/modules"

그리고 php.ini 의 내용중 session.auto_start 의 값이 0으로 세팅 되어 있으면 1로 변경합니다

아파치를 재시작후에 웹서버 홈디렉토리에 phpinfo.php 파일을 만들고

<?php phpinfo(); ?>

내용을 넣고 저장한후 접속해봅니다

출력되는 내용중 php 모듈연결을 확인할수 있습니다

※ 출력되는 Version 은 설치되어 있는 CUBRID 2008의 버전이 아닌 CUBRID PHP 모듈의 버전입니다.

간단하게 데이터베이스와 유저를 생성한후에 XE를 설치해보겠습니다

Page 6: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

오라클의 sqlplus 와 비슷한 csql를 지원하지만 윈도우상에서 큐브리드 메니저를

이용하여 하겠습니다

X윈도우를 띄운후 터미널에서

# cd /home/cubrid/CUBRID/cubridmanager

로 이동

큐브리드 메니저 실행

# ./cubridmanager

참고로 JRE나 JDK 1.6이상 설치되어 있어야 합니다

윈도우에서 클라이언트로 접속해서 작업하고 싶다면

컴퓨터에 CUBRID를 CLIENT_ONLY로 설치합니다.

CLIENT_ONLY 로 설치 하는 방법은 CUBRID 데이터베이스 설치 를 참고 하시기 바랍니다.

리눅스에서 8001,8002,30000,33000 포트 를 방화벽에서 풀어줘야 합니다

큐브리드 메니저를 실행하고 접속을 하면 아래와같이 나옵니다

매니저 서버 기본 관리자 아이디는 admin 비밀번호는 admin입니다

기본비밀번호 admin를 입력하면 비밀번호 변경 화면이 뜹니다

Page 7: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

새비밀번호 지정 합니다

새비밀번호 지정한후 아래 스샷과 같이 아이콘을 이용하여 데이터베이스를 생성합니다

저는 데이터베이스 이름음 xe로 하고 볼륨크기를 100M 로 하겠습니다

Page 8: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

다음을 누릅니다

다음을 누릅니다

Page 9: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

해당 데이터베이스 DBA(관리자) 비밀번호를 지정

완료

Page 10: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

db 생성중

db생성완료

생성한 xe 데이터베이스를 더블클릭하면 관리자 로그인창이 나옵니다

생성시 입력한 비밀번호를 입력해서 로그인합니다

Page 11: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

로그인후 사용자에서 마우스 우클릭후 "사용자 추가" 를 누릅니다

아이디와 비밀번호를 지정하고 확인

저는 xe 라고 생성하였고 정상적으로 생성됬음을 확인할수 있습니다

Page 12: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

큐브리드 서버 구동시 xe 데이터베이스가 구동될수있도록 설정합니다

# vi /home/cubrid/CUBRID/conf/cubrid.conf

열어보면 아래와 같이 29줄-38줄사이에 볼수 있는데

37줄에 #server=foo.bar 밑에 server=xe <- 이런식으로 주석없이 데이터베이스명을 기술합니다

준비가 됬으니 xe를 설치를 해보겠습니다 포스팅시점에서 1.4.0.10 버전이 최신버전임으로

1.4.0.10버전으로 설치 하겠습니다 XE 세부 설치방법은 워낙 많은 정보가 나오니 패스 하겠습니다

db선택에서 cubrid 를 선택

Page 13: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

db 아이디 db비밀번호 db데이터베이스 을 기술합니다 나머지 작성후 확인

설치가 완료후에 정상적으로 xe 제어판으로 접속되네요

Page 14: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

큐브리드 메니저로 보니 테이블도 생성된걸 확인할수 있었습니다

mysql에 웹관리 클라이언트인 phpmyadmin 과 유사한

큐브리드용 phpcubadmin 을 설치 하겠습니다

wget http://dev.naver.com/projects/cubrid/forum/3103/1198/phpCub8Admin-1.3.zip

php 설치시 --enable-sockets \ 옵션이 안들어가게 되면 안됩니다

위옵션없이 php 컴파일되어있다면 재 컴파일이 필요할 듯 합니다

다운을 받고 압축을 풉니다 저는 /var/www/phpCubAdmin

으로 디렉토리를 옴겨놨습니다 그리고 아파치에서 alias 를 걸어 놓았습니다

Alias /phpcubadmin "/var/www/phpCubAdmin"

<Directory "/var/www/phpCubAdmin">

AllowOverride None

Options FollowSymLinks MultiViews

DirectoryIndex index.php

order deny,allow

Allow from all

</Directory>

Page 15: apache php cubrid연동 · 2020. 9. 6. · 그전에 cubrid로 모듈을 다운받았다면 소유주와 그룹 변경합니다 # chown root:root cubrid.so # chown root:root cubrid_err.msg

디렉토리내에 tokens 디렉토리는 아파치 유저가 쓰기 권한이 있어야 합니다

간단하게 chmod 777 tokens 으로 해줍니다

설정해준 alias로 접속 합니다

저는 phpcubadmin 으로 해줘서

http://주소/phpcubadmin 으로 접속했습니다

접속후 "CUBRID" 를 선택하면 로그인창이 나옵니다

큐브리드 메니저 에서 아이디 admin 과 지정해준 비밀번호를 넣습니다

로그인후 화면입니다 XE설치하려고 만든 xe 데이터베이스도 보이네요

큐브리드 매니저보다는 조금부족할수 있지만 kldp 프로젝트로 등록되어있어 계속 개발중이니

조만간 phpmyadmin 만큼 발전될거라 생각 됩니다

mysql만큼 기대되는 국산 오픈소스 DB인 큐브리드에게

많은 기대와 응원해주세요