웹마스터 팁

리눅스+Apache+PHP 또는 리눅스+Apache+PHP+MySQL 환경에서 큐브리드 설치하기 입니다.

요즘 출시되는 대부분의 리눅스 환경에서는 AP(Apache+PHP) 또는 APM(Apache+PHP+MySQL) 환경이 기본으로 설치되어 있기 때문에 이런 환경이 준비되어 있는 상태에서 큐브리드(CUBRID) DBMS와 PHP CUBRID extension을 설치하는 방법을 함께 나누어 볼까 합니다.

 

순서는 기존 AP(Apache+PHP) 환경 확인 하기, 큐브리드 설치하기, PHP CUBRID extension 설치하기, 최종 확인하기 입니다.

차례대로 확인하시면서 작업하시면 간편하고 정확하게 큐브리드 DBMS와 PHP CUBRID extension을 설치하실 수 있습니다.

 

관련된 주요 URL은 다음과 같습니다.

- 큐브리드 DBMS 및 PHP CUBRID extension 소스 다운로드 : http://www.cubrid.com/developer2.php

 

1. 기존 AP(Apache+PHP) 환경 확인 하기

- PHP를 이용하여 큐브리드에 접근하기 위한 최소 환경은 Apache+PHP로 a.php라는 파일에 아래와 같은 내용을 입력해서 웹 문서 폴더에 두고(a.php) 웹 브라우저에서 a.php를 입력했을 때 아래와 같은 PHP 정보 화면이 정상적으로 출력되는지 확인합니다.

<?

phpinfo();

?>

그림 1 Apache+PHP 환경 확인하기

 

- PHP CUBRID extension을 설치하기 위해서는 PHP를 RPM이 아닌 소스를 설치 했거나, 시스템에 RPM으로 기본 설치되어 있는 환경이라면 PHP 개발 환경(php-devel)이 설치되어 있어야 합니다.

확인 방법은 phpize와 php-config 프로그램이 존재하는지를 확인하면 됩니다.

현재 쉘 경로 상에 있는지 확인 하려면 다음과 같이 수행해 보고,

which phpize

which php-config

전체 경로를 검색하려면 find / -name phpize –print와 같이 수행합니다.

 

- 위의 화면이 정상적으로 출력되지 않거나 PHP 개발 환경이 없다면 아래의 표를 참조하셔서 Apache+PHP 환경과 PHP 개발 환경을 준비하셔야 합니다.

현상 또는 문제점

조치 방법

Apache+PHP 설치 확인

rpm –qa | grep –i httpd

rpm –qa | grep –i php

그림 2 rpm 설치 확인

웹서버가 가동중인지 확인

ps –ef | grep httpd 가동중인 프로세스가 있는지 확인

netstat –a | grep http 웹서버 포트가 열려있는지 확인(웹서버가 가동중이라면 LISTEN 상태의 포트가 존재할 것입니다)

웹서버 프로그램이 어디있는지 확인하기

which apachectl

그림 3 내 경로 상의 웹서버 프로그램 위치 확인

내 경로 상에서 찾을 수 없다면 다음과 같이 find 명령으로 전체 경로를 찾아볼 수 있습니다.

# cd /

# find / -name apachectl -print

웹서버 환경 설정 파일 찾기

apachectl –V 를 수행하면 HTTPD_ROOT가 웹서버의 루트 디렉토리이고 이 디렉토리 아래 SERVER_CONFIG_FILE이 웹 서버 환경 파일입니다.

그림 4 웹 서버 환경 파일 찾기

웹문서 폴더 찾기

위의 웹서버 환경 설정 파일을 열어보면 DocumentRoot로 되어 있는 곳이 웹문서 폴더로 이곳에 있는 파일들이 웹브라우저를 통해서 출력되는 페이지들입니다.

그림 5 웹문서 폴더 찾기

PHP 설정 파일 찾기

그림1 a.php의 출력 화면에서 Configuration File (php.ini) Path 항목에 있는 경로를 확인하시면 됩니다.

그림 6 PHP 설정 파일 찾기

웹서버 가동/중단/재시작

apachectl start

apachectl stop

apachectl restart

PHP 개발 환경 찾기

which phpize

which php-config

두가지 프로그램이 모두 찾아져야 합니다. 없다면 소스를 설치해서 빌드 하던가, RPM으로 기본 설치된 환경이라면 아래 항목처럼 PHP 개발 환경을 yum 등의 도구로 설치해야 합니다.

PHP 개발 환경 설치하기

RPM등으로 시스템에 기본 설치된 PHP 환경이라면 다음과 같이 yum도구로 패키지를 검색하여 손쉽게 설치할 수 있습니다.

우선은 아래와 같이 개발 패키지를 검색합니다.

# yum search php-devel

그림 7 yum으로 PHP 개발 환경 패키지 검색

 

패키지가 검색되었으면 yum install 명령을 수행하고 수행과정에서 관련 패키지를 리스팅하고 맞냐고 물으면 y와 엔터를 입력하시면 됩니다.

# yum install php-devel.i386

그림 8 PHP 개발 환경 설치

 

2. 큐브리드 설치하기

- 리눅스용 큐브리드 DBMS는 glibc 버전에 따라 다르게 배포하므로 먼저 시스템에 설치되어 있는 glibc의 버전을 아래의 그림과 같이 확인합니다.

rpm-qa | grep glibc

그림 9 glibc 버전 확인 하기

 

- 확인 결과 glibc 버전이 2.3.4이상이라면 큐브리드 홈페이지에서 glibc와 dynamic link된 버전인 2.3.4이상 버전을 다운로드 받고 이외의 경우에는 glibc 2.3.2와 static link된 2.3.2이하 버전을 다운로드 받습니다.

 

- 다운로드는 http://www.cubrid.com/developer2.php 에서 웹브라우저를 통해서 다운로드 받거나 다음과 같이 wget 명령을 통해 콘솔 모드에서 직접 다운로드 받을 수도 있습니다.

wget http://www.cubrid.com/cubrid_wget.php?fdown=linux234 <- glibc2.3.4 이상일때

wget http://www.cubrid.com/cubrid_wget.php?fdown=linux232 

 

- 다운로드 받거나 업로드 받은 파일을 설치하려는 폴더로 옮긴 다음

sh CUBRID-7.3.0.1084-x86-Linux-glibc234.sh 를 통해 설치를 시작합니다.

첫번째 메시지는 서버와 클라이언트가 같은 버전이어야 정상적으로 사용할 수 있다는 메시지로 경고성이므로 특별히 문제가 없다면 y를 입력하고 엔터를 입력합니다.

두번째 메시지는 현재 설정에서 JVM 환경을 찾을 수 없을 때 출력되는 경고성 메시지로 JAVA Stored procedure를 사용할 수 없는 것 빼고는 문제가 없으므로 y를 입력하고 엔터를 입력합니다.

그림 10 리눅스 버전 큐브리드 설치하기

 

- 설치가 종료되면 콘솔을 재시작해서 설치과정에서 쉘 환경 파일에 자동 삽입된 .cubrid.sh 파일이 적용되도록 하고 cubrid_service start를 하면 큐브리드 DBMS 사용을 위한 준비는 끝난 것입니다.

 

- 시스템 부팅 과정에서 큐브리드가 자동 시작되도록 설정하려면 큐브리드 관련 쉘 환경 설정인 .cubrid.sh가 적용되도록 /etc/bashrc등에 적용해 주어야 하고, /etc/rc.d/rc.local 등의 시스템 설정 파일에 cubrid_service start를 추가해 줍니다. 좀더 세밀하게 시스템 설정을 한다면 시스템의 run-level에 따라 /etc/rc.d/rc5.d등의 폴더에 SNNcubrid, KNNcubrid의 자동 시작 및 자동 종료 설정을 통해 cubrid_service start|stop을 수행시키는 것이 적절한 방법입니다.

 

- 설치가 정상적으로 완료되었는지는 콘솔을 다시 연 상태에서 cubrid_rel을 실행시켜 큐브리드 버전이 정상적으로 출력되는지 확인하면 됩니다.

그림 11 큐브리드 설치 확인하기

 

3. PHP 큐브리드 extension 설치하기

- PHP 모듈 설치는 cubrid.so를 만드는 것과 이것을 설치 및 설정하는 단계로 나누어 집니다.

- PHP 큐브리드 extension 소스를 큐브리드 홈페이지에서( http://www.cubrid.com/developer2.php ) 다운로드 받거나, 다음과 같이 wget 명령을 통해 콘솔 모드에서 직접 다운로드 받습니다.

wget http://www.cubrid.com/cubrid_wget.php?fdown=phpsrc

그림 12 wget으로 PHP 큐브리드 extension 다운로드

 

- 압축 파일을 PHP extension 디렉토리(위의 예에서 a.php 출력 결과에서 아래 그림과 같이 extension_dir을 찾으면 됩니다)에 옮겨 압축 해제 합니다.

그림 13 extension_dir 찾기

 

그림 14 PHP CUBRID extension 소스 설치

 

- 본격적으로 cubrid.so를 만들기에 앞서 PHP 개발 환경 또는 현재 운영중인 PHP와 동일 버전의 소스가 있어야 하는데, 작업에 사용되는 1번의 표에서 PHP 개발 환경 찾기와 설치 항목을 참조하여 phpize와 php-config가 반드시 준비되어야 합니다.

 

- 아래와 과정과 같이 압축 해제한 폴더에 큐브리드 CCI 라이브러리와 헤더를 복사하고, src폴더에서 phpize를 수행하여 configure 파일을 만듭니다.

cd cubrid_phpext

mkdir cci

cp $CUBRID_BROKER/cci/libcascci.a cci

cp $CUBRID_BROKER/cci/cas_cci.h cci

cd src

phpize

그림 15 phpize 수행 결과

 

- which php-config를 수행해서 php-config의 전체 경로를 –with-php-config 옵션에 기술하여 configure를 수행하고, 빌드가 성공하면 src/modules 폴더에 cubrid.so가 생성됩니다. 생성된 DSO 파일과 에러메시지 파일을 PHP extension 디렉토리(extension_dir, 예제에서는 src에서 ../..으로 표시)를 복사하면 cubrid.so 생성 작업을 종료된 것입니다.

which php-config

./configure --enable-cubrid --with-php-config=/usr/bin/php-config

make

그림 16 빌드 종료 화면

cp modules/cubrid.so ../..

cp cubrid_err.msg ../..

 

- PHP extension 디렉토리에 cubrid.so와 cubrid_err.msg를 복사했으면 php.ini를(1번의 표 참조) 열어 아래의 내용을 입력합니다. cubrid_err_path는 위에서 파일을 설치했던 PHP extension 디렉토리(extension_dir)의 내용을 입력합니다.

extension=cubrid.so

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

그림 17 php.ini 수정하기

 

4. 최종 확인하기

- apachectl restart를 수행하여 웹서버를 재가동시킨후 1번에서 수행했던 a.php의 결과를 확인했을 때 아래의 그림과 같이 CUBRID 섹션이 나오면 이제부터는 PHP로 큐브리드에 접속하여 질의를 수행 할 수 있게 된 것입니다. PHP로 큐브리드를 접속해서 질의를 수행하는 방법 및 함수 등은 큐브리드를 설치한 곳의 Document 폴더의 매뉴얼을 참조하세요.

그림 18 큐브리드 설치 성공 화면

태그 연관 글
  1. [2016/12/18] 묻고답하기 XE 설치중 이상발생..APM문제? by Aring *2
  2. [2016/03/29] 묻고답하기 XE + CUBRID 문의 by 디버 *1
  3. [2014/05/15] 묻고답하기 XE 설치과정 중 짧은 주소를 사용할 수 없습니다.라는 메시지 문제 by whitemind *20
  4. [2012/06/01] Blog 캐시 설정 가이드 - XE 1.5 버전 이후 by XE *5
  5. [2014/03/31] 묻고답하기 아파치 서버 홈페이지 복구 by 존덕 *3
제목 글쓴이 날짜
한방에 제로보드 설치를 위한 서버 환경 준비하기-RWAPC Server 1.0 [6] 야라바 2007.11.28
SVN Commit 정보 출력 설정 (CIA Script) DroArc 2007.11.25
phpCubAdmin으로 큐브리드 DBMS관리하기 [2] 야라바 2007.10.22
리눅스 APM/AP 환경에 큐브리드 추가 설치하기 [2] 야라바 2007.10.22
Chroot 로 루트디렉토리 접근 금지,, [2] Nefree 2007.08.18
삭제문제~ [2] 달맞이꽃 2007.08.15
MySQL 5.0 이상 버전에서 Myadmin 접근시 문제 해결 [6] 니케 2007.03.16
윈도우즈 Apache 2.0 + PHP 4.4 + MySQL 5.0 설치하기 [16] 니케 2007.02.10
진하오 php서버 v1.0 정식공개 합니다. (윈도우스용) 좋은남자 2006.09.13
ZEROBOARD 5 세팅을 위한 리눅스 서버 APM 설치 (2006년 8월 7일버젼) [5] 김기윤761 2006.08.07
Windows 초간단 remote 백업 명령 최길호 2006.07.14
단 한 줄의 명령어만 실행하여 리눅스에서 apm 설치하기 gonom 2006.04.14
apache + php + mysql + libxml (리눅스 초간단 설치) [2] gonom 2006.04.11
/var/log/secure 로그를 이용한 IP Deny 자동 등록 스크립트 Jini 2006.02.02
Message 탭 (servu4.0) 이성헌 2005.12.15
IP access (servu4.0) 이성헌 2005.12.15
링크설정 - mapping과 유사 (for anonymous) 이성헌 2005.12.15
client anonymous 접속시 비번 물어볼때 (servu4.0) 이성헌 2005.12.15
가상 디렉토리 맵핑 (servu4.0) 이성헌 2005.12.15
새로운 도메인 설정 (servu4.0) [1] 이성헌 2005.12.15