Oracle DB

오라클 연동 AP(Apache+PHP) 설치

tommy76 2020. 5. 22. 17:56

오라클 연동 AP(Apache+PHP) 설치

 

도큐먼트 루트 다른곳으로 이동

 

※ AP 서버 설치 환경

호스트명 : ap

IP : 192.168.10.184

아파치 서버 경로 : /app/apache

아파치 : 2.2.34 (httpd-2.2.34.tar.gz)

PHP : 5.6.39 (php-5.6.39.tar.gz)

오라클 인스턴스 클라이언트 : 19.5.0.0.0-1

 

 

step 1. 오라클 인스턴스 클라이언트 설치

① 설치할 오라클 인스턴스 클라이언트는 오라클 한국어 사이트인 https://www.oracle.com/kr/index.html 에서 oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 와 oracle-instantclient19.5-devel19.5.0.0.0-1.x86_64.rpm 두 개의 파일을 다운 받는다.

 

② /usr/lib/oracle/19.5가 ORACLE_BASE 디렉토리로 설치된다.

③ sqlnet.ora 파일과 tnsnames.ora 파일을 생성한다.

위 내용을 vi 에디터로 입력하면 된다.
이것두 vi 에디터로 입력하면 된다.

step 2. Apache 설치

① httpd-2.X 소스파일을 /usr/local/에 다운받고 압축을 해제한다.

[root@ap httpd-2.2.34]# make

 

하면 화면에 쫘라라라락 글자들이 뜬다 

특별한 에러 문구가 없으면

[root@ap httpd-2.2.34]# make install 로 설치하면 된다.

 

그리고 아파치 서비스를 켜보자 그럼 에러 문구가 뜰텐데 무시해도된다

거슬리면 /app/apache/conf/httpd.conf에서 ServerName 부분의 주석 처리를 삭제하고 ServerName localhost를 추가해주면된다

아파치 서버 띄우기 성공

 

step 3. PHP 설치

① PHP 설치전 컴파일을 위해 libxml 패키지 설치를 확인 후 설치한다.

 

② TNS_ADMIN, LD_LIBRARY_PATH와 같이 오라클 관련 경로 설정에 정의된 내용이 시스템에 존재하는지 반드시 확인한다.

[root@ap local]# tar xvfz php-5.6.39.tar.gz

[root@ap local]# cd php-5.6.39/

[root@ap php-5.6.39]# ./configure --with-apxs2=/app/apache/bin/apxs

                            --with-oci8=instantclient,/usr/lib/oracle/19.5/client64/lib

                            --enable-sigchild

가독성을 위해 엔터로 각 구문을 구분해놧지만 공백 문자에 주의해야한다 --앞에는 항상 한칸만 띄어쓴다

[root@ap php-5.6.39]# make

[root@ap php-5.6.39]# make install

[root@ap php-5.6.39]# cp php.ini-development /usr/local/lib/php.ini

 

--with-oci8에 지정한 '/usr/lib/oracle/19.5/client64/lib' 디렉토리는 설치한 인스턴스 클라이언트의 버전에 따라 경로가 달라진다.

step 4. Apache, PHP 설정

① /app/apache/conf/httpd.conf 파일의 내용을 수정한다. APO 서버 설정과 동일하다.

ServerName localhost // 추가 내용
.............
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .html .htm .inc // 추가 내용
.............

 

② /usr/local/lib/php.ini 파일에 PHP 실행 환경을 설정한다. APO 서버 설정과 동일하다.

short_open_tag = On
default_charset = "EUC-KR" (or "UTF-8")
include_path=".:/usr/local/lib"
upload_tmp_dir = /tmp
date.timezone = Asia/Seoul
error_reporting = E_ALL & ~E_NOTICE

③ /app/apache/bin/apachectl를 열어서 다음의 내용을 추가한다.

[root@ap ~]# vi /app/apache/bin/apachectl

............. # oracle install
export TNS_ADMIN=/usr/lib/oracle/network/admin
export LD_LIBRARY_PATH=/usr/lib/oracle/19.5/client64/lib
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
 (또는 AMERICAN_AMERICA.AL32UTF8)

START와 END 사이에 설정을 입력해야한다

step 5. 서버 실행 후 연동 확인

① /app/apache/htdocs/index.html 파일을 다음과 같이 수정한다.

<?
 $server = "서버명";
 $user_name = "계정명";
 $password = "패스워드";
 $conn=@oci_connect($user_name, $password, $server) or die('Could not connect:');
 echo("Oracle 12c \$conn : $conn<br>");
 $st=oci_server_version($conn);
 echo("$st<br>");
 phpinfo();
?>

② 아파치를 재실행한다.

[root@ap ~]# /app/apache/bin/apachectl stop
[root@ap ~]# /app/apache/bin/apachectl start

 

굿 잘됨