웹마스터 팁
리눅스 APM/AP 환경에 큐브리드 추가 설치하기
2007.10.22 13:21
리눅스+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 이상일때 |
- 다운로드 받거나 업로드 받은 파일을 설치하려는 폴더로 옮긴 다음
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 큐브리드 설치 성공 화면
- [2016/12/18] 묻고답하기 XE 설치중 이상발생..APM문제? *2
- [2016/03/29] 묻고답하기 XE + CUBRID 문의 *1
- [2014/05/15] 묻고답하기 XE 설치과정 중 짧은 주소를 사용할 수 없습니다.라는 메시지 문제 *20
- [2012/06/01] Blog 캐시 설정 가이드 - XE 1.5 버전 이후 *5
- [2014/03/31] 묻고답하기 아파치 서버 홈페이지 복구 *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 |