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

2020. 1. 31. 17:21Security/운영체제 및 프로그램 설치

목차

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

1-1. 서버 설치 환경

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

1-3. sqlnet.ora, tnsname.ora 파일 생성

2. apache 설치

2-1. httpd 2.2.34 설치

2-2. httpd 컴파일 설치

2-3. 서버 실행 후 브라우저를 이용해 접속 테스트

3. php 설치

3-1. libxml 패키지 설치

3-2. php 설치

3-3. php 컴파일 설치 

4. apache, php 설정

4-1. httpd.conf 파일 수정

4-2. php 실행환경 설정

4-3. apachectl 파일 수정

5. 서버 실행 후 연동 확인

5-1. index.html 파일 수정

5-2. 연동 확인

 

1. 오라클 연동 AP 설치 과정

1-1. 서버 설치 환경  

운영체제 : CentOS7

호스트명 : ap
IP : 192.168.10.113
아파치 서버 경로 : /app/apache
아파치 : 2.2.34 (httpd-2.2.34.tar.gz)
PHP : 5.6.39 (php-5.6.39.tar.gz)
오라클 인스턴스 클라이언트 : 12.2.0.1.0

 

CentOS7 운영체제의 설치에 대해서는 이전 문서를 참고.

https://alljbut.tistory.com/13?category=738975

 

1-2. 설치할 오라클 인스턴스 클라이언트 설치 

https://www.oracle.com/kr/database/technologies/instant-client/linux-x86-64-downloads.html

 

Instant Client for Linux x86-64 (64-bit) | Oracle 대한민국

Instant Client Installation for Linux x86-64 (64-bit) For general Instant Client information, see the Home Page. ODBC users should follow the ODBC Installation Instructions. Instant Client RPMs are also available without click-through from yum.oracle.com f

www.oracle.com

 

설치할 오라클 인스턴스 클라이언트는 위의 링크에서 다운 받을 수 있다.

본 문서에서는 12.2.0.1.0버전으로 진행할 예정이기때문에

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm,

oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm 두 개의 파일로 진행.

# rpm -Uvh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

# rpm -Uvh oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

 

1-3. sqlnet.ora, tnsnames.ora 생성

#mkdir -p /usr/lib/oracle/network/admin/

#vi /usr/lib/oracle/network/admin/sqlnet.ora

 

NAMES.DIRECTORY_PATH= (TNSNAMES) 

 

의 내용 추가 

#vi /usr/lib/oracle/network/admin/tnsnames.ora

 

oracle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.10.15) (port = 1521))
(CONNECT_DATA = (SID = DB12))
)

 

내용 추가

 

2. Apache 설치(동적 라이브러리로 추가)

2-1. httpd 2.2.34 설치

# tar xvfz httpd-2.2.34.tar.gz

// 소스파일을 /usr/local/에 다운받고 압축을 해제한다.

# cd ./httpd-2.2.34

 

2-2. httpd 컴파일 설치

# ./configure --prefix=/app/apache --enable-rewrite --enable-so

# make

# make install

// 순서대로 컴파일 설치

 

2-3. 서버 실행 후 브라우저를 이용해 접속 테스트

# vi /app/apache/conf/httpd.conf

 

ServerName localhost

 

추가

# /app/apache/bin/apachectl start

// 서버시작후 접속 확인 

 

3. PHP 설치(동적 라이브러리로 추가)

3-1. libxml 패키지 설치

# yum install -y libxml2*

// PHP 설치전 컴파일을 위해 lixxml 패키지 확인 후 설치

 

3-2. php 설치

# tar xvfz php-5.6.39.tar.gz

// 소스파일을 /usr/local/에 다운받고 압축을 해제한다.

# cd php-5.6.39/

 

3-3. php 컴파일 설치

#./configure --with-apxs2=/app/apache/bin/apxs --with-oci8=instantclient,/usr/lib/oracle/12.2/client64/lib --enable-sigchild

#make

#make install

// 순서대로 컴파일 설치

# cp php.ini-development /usr/local/lib/php.ini

 

4. Apache, PHP 설정

4-1. httpd.conf 파일 수정

# vi /app/apache/conf/httpd.conf

 

AddType application/x-httpd-php .php .html .htm .inc

 

추가

 

4-2. php 실행환경 설정. 

# vi /usr/local/lib/php.ini

 

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

 

추가 또는 변경

 

4-3. apachectl 수정

# vi /app/apache/bin/apachectl

export TNS_ADMIN=/usr/lib/oracle/network/admin
export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949

 

내용 추가

 

5. 서버 실행 후 연동 확인

5-1. index.html 파일 수정

vi /app/apache/htdocs/index.html

 

<?
$server = "oracle";
$user_name = "st";
$password = "st";
$conn=@oci_connect($user_name, $password, $server) or die('Could not connect:');
echo("Oracle 12c \$conn : $conn
");
$st=oci_server_version($conn);
echo("$st
");
phpinfo();
?>

 

추가

 

5-2. 연동 확인

# /app/apache/bin/apachectl stop

# /app/apache/bin/apachectl start

// 아파치 재실행

 

 

// 브라우저를 통해 결과 확인. test 페이지가 뜨기때문에 문제없이 연동 확인