APM_oracle연동하기

2010.05.11 11:08

조인상 조회 수:5904

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

다음버젼을 설치한 예시다.
OS : AIX 5.2 64bit
Apache-1.3.33
Php-4.3.8
Mysql-4.0.24
Oracle-9.2.0.1
- 동적 모듈로 설치한다.
- 모든 컴파일은 gnu.gcc 로 하였다.

Step 0 : Install 준비
Gnu package 들을 설치한다.
- libtool, gcc, make, zlib 등등 컴파일 하면서 필요하면 그때 그때 설치해서 정확한 버젼 및 package명은 생각나지 않는다.
- 필요하다고 생각되는 gnu package는 모두 설치하기 바라며 aix 호환되는 최신 버전을 권장한다.
- 경험상 컴파일 문제의 대부분은 make와 gcc 최신 버전으로 해결된다. 참고.
- AIX 5.2 ML 최신으로 업데이트 -> 오라클 설치시 error를 방지할수 있다.

Step 1 : Install MySQL
www.mysql.org 에서 바이너리 다운받아서 그냥 압축 풀었다.
- 이유 : 컴파일 안되서 (귀차니즘) ㅜㅜ;
- 만일 소스컴파일이면 source compile 시 옵션은 다음과같다.
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euc_kr
- mysql test
# /usr/local/mysql/bin/safe_mysqld&
# /usr/local/mysql/bin/mysql –u root mysql
> exit
# kill mysql_pid

Step 2 : Install Apache
- apache 2.0 대 버전을 설치하려고 하였으나 db4/d b.h등등 configure하는데 너무 많은 시간이 걸려서 apache는 1.x 대 버전을 사용하기로 하였다. 차후 2.x대 버전으로 해봐야 한다.

#./configure --prefix=/usr/local/apache --enable-module=so 
#make
#make install
-인스톨시 별 무리 없이 진행됬다.

- apachectl test
#/usr/local/apache/bin/apachectl start
#/usr/local/apache/bin/apachectl stop

Step 3 : Install Oracle
- oracle 유저 및 root유저도 환경설정을 같게 해주었다. Apache 등의 설정에 적용되도록하기 위하여
.profile
web_server:/>cat .profile
PS1=`hostname`:'$PWD>'
TERM=vt100
export PS1 TERM
LANG=C
set -o vi
PATH=/usr/local/bin:/usr/local/mysql/bin:/usr/local/lib:$PATH
export PATH
CC=gcc
#The following line is added by License Use Management installation
export PATH=$PATH:/usr/opt/ifor/ls/os/aix/bin
umask 022
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORACLE_SID=ora9
export PATH=$PATH:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/local/bin:$ORACLE_HOME/bin:/usr/bin/X11:/sbin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib:/usr/lib:usr/local/lib
export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LIBPATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jre/1.1.8/lib:/usr/jdk_base:/usr/jdk_base/lib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib

- oracle install 도중 ins_sqlplus.mk에서 에러를 만나서 진행이 안되었다.
해결 : otn site에서 aix base 말고 aix5l 용 서버를 다운받아서 install에 성공하였다.

- oracle client만을 인스톨 했을경우 php 컴파일시 error 발생
해결 : 클라이언트로 사용하더라도 서버all설치하는게 바람직하며, 실제 oracle서버가 install된 곳에서 rdbms/ 파일들을 copy해 와도 된다.

- java 관련 display error가 날경우 다음을 설정한다
#xhost +
#export DISPLAY=hostname:0.0

- oracle Test
$ sqlplus sco/tig@ora92
- tnsmames.ora 는 설정되어 있는것으로 한다.설정에 대한 상세사항은 다른 문서를 참조하기 바란다.


Step 4 : Install PHP
# ./configure \
--prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mod-charset \
--with-language=korean \
--with-charset=euc_kr \
--disable-debug \
--enable-track-vars=yes \
--with-oci8=/usr/local/oracle --with-oracle=/usr/local/oracle

#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini
#cp php.ini-dist /usr/local/apache/bin/php.ini

- 컴파일 도중 –-with-zlib-dir 관련 error 를 만난다면 –-with-mysql을 수정해도 연동에는 이상이 없다.
# ./configure \
--prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql \
--with-mod-charset \
--with-language=korean \
--with-charset=euc_kr \
--disable-debug \
--enable-track-vars=yes \
--with-oci8=/usr/local/oracle --with-oracle=/usr/local/oracle

- 컴파일중 oci8 관련 error를 만난다면 다음과 같이 수정한다.
  다운받은 php소스 파일을 적당한 위치에 풀고 'configure'파일을 열어봅니다.
  파일 내용을 보면 'OCI8_DIR/lib' , 'ORACLE_DIR/lib' 이런 두 개의 구문이 자주나오는데
  이부분을 모두 'OCI8_DIR/lib32', 'ORACLE_DIR/lib32' 로 바꿔 줍니다.
:1,$s/OCI8_DIR\/lib/OCI8_DIR\/lib32/g
:1,$s/ORACLE_DIR\/lib/ORACLE_DIR\/lib32/g

Step 5 : Install 마무리하기
1. Apache
#vi /usr/local/apache/conf/httpd.conf
// php파일을 웹서버에서 인식하기 위해 아래두줄 추가
AddType application/x-httpd-php .php .phtml .php3  // php파일로 해석할 확장명설정
AddType application/x-httpd-php-source .phps  // php 소스로 해석할 확장명설정
// 처음페이지로 인식할 파일명설정
DireactoryIndex index.html index.php

- oracle 연동은 되었으나 php함수 OCILogon()에서 error발생하는경우 apachectl 내부에 oracle유저와 같은 환경변수를 셋팅한다.

2. Test
-oracle은 다른 server 에서 시작되어있고
-mysql 시작하고
-apache 시작하고
-htdocs및에 test.php, test2.php, test3.php 를 만들고 웹에서 잘 열리는지 보면 된다.

Test.php
<?
phpinfo();
?>

test2.php
<?
echo "mysql link test code <p>";
$link = mysql_connect("localhost", "root", "")
    or die("Could not connect");
print "Connected successfully";
?>

test3.php
<?
echo "Oracle link test code <p>";
$conn=OCILogon("tcsw","tcsw1234","oraits")or die("연결실패");
echo gettype($conn).":".get_resource_type($conn)."<p>";
echo OCIServerVersion($conn);
?>



끝 – 수고하셨습니다.

 본문서는 이번 인스톨작업 하면서 일어낫던 문제들만을 다루었으며, 버젼 및 OS환경에 따라 새로운 문제가 나타날수 있다.
 문서중 원저작자의 글을 그대로 카피한 부분이있으나 인터넷에서 바로 보고 창을 닫아버려서 표시 하지 못하였다. 죄송.
 참고 문서는 일일이 열거 하기 난해하여 웹싸이트로 대신한다.
- www.phpschool
- database.sarang.net
- eibm.co.kr
- ibm.com/kr
- mysql, apache, php, oracle.com
- aixpdslib.seas.ucla.edu
** 기타 불법인용이나 문의 : pyj@eibm.co.kr
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 108791
71 topas 에 대하여 조인상 2010.05.11 22897
70 c 컴파일러 설치하기 조인상 2010.05.11 23195
69 보안점검용 스크립트 - AIX,Linux,HP-UX,Solaris 조인상 2011.01.03 23295
68 IBM pSeries 장비에 시리얼(HMC) 연결하기. file 조인상 2010.05.11 23705
67 AIX 6.1 aio 설정법 조인상 2010.07.06 24149
66 각종 많이 쓰이는 어플리케이션 서비스 관련 포트번호 조인상 2011.07.21 24257
65 신규시험 정보 Test 000-104: AIX 6.1 Administration 조인상 2010.06.02 24304
64 미러된 rootvg를 alt_disk_install 로 복제하기 [1] 조인상 2011.06.29 24310
63 AIX에서 설치된 OS의 커널비트수 확인 조인상 2010.05.11 24338
62 solaris나 hpux 에서는 tcp 세션 clear(접속을 끊는) 시키는 명령어가 있는데 AIX는 없나요? 조인상 2010.05.11 24533
61 AIX 5.2 DNS setting 조인상 2010.05.11 24589
60 C/C++ 5.0, 6.0 설치하기 조인상 2010.05.11 24594
59 DEVICE 관리 조인상 2010.05.11 24742
58 IBM Technical Expert 시리즈 자격증 로드맵 file 조인상 2011.02.23 25075
57 xSeries 제원 2012_03 ~ 2012-06 [1] 조인상 2012.06.18 25120
56 AIX OS기본설치 및 기초환경설정 방법 [4] file 조인상 2010.05.11 25267
55 p570 관련자료 file 조인상 2010.05.11 25347
54 [IBM] x시리즈 M3,M4 블레이드센터 제원 조인상 2012.10.06 25774
53 cpu clock 확인하는 방법 조인상 2010.05.11 25780
52 아답터 종류 및 슬롯위치 확인방법 조인상 2010.05.11 25891
서버에 요청 중입니다. 잠시만 기다려 주십시오...