[오라클 기초구성5]Oracle연동 AP설치
Oracle연동 AP(Apache + PHP) 설치
<목차>
1. AP서버 설치 환경
2. 설치과정 및 확인
1) 오라클 인스턴스 클라이언트 설치
2) Apache 설치
3) PHP 설치
4) Apache, PHP 설정
1. AP서버 설치 환경
호스트명 |
ap |
IP |
192.168.111.154 |
아파치 서버 경로 |
/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 |
2. 설치과정 및 확인
1) 오라클 인스턴스 클라이언트 설치
① 설치할 오라클 인스턴스 클라이언트는 오라클 한국어 사이트인 https://www.oracle.com/kr/index.html 에서 oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm 와 oracle-instantclient12.2-devel12.2.0.1.0-1.x86_64.rpm 두 개의 파일을 다운 받는다.
② /usr/lib/oracle/12.2을 ORACLE_BASE디렉토리로 설치하고 인스턴스 클라이언트를 설치한다.
# rpm -Uvh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm // basic의 설치를 진행한다.
# rpm -Uvh oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm // devel의 설치를 진행한다.
③ 디렉토리 및 오라클 파일을 생성한다.
# mkdir –p /usr/lib/oracle/network/admin // 하부 디렉토리까지 생성한다.
# vi /usr/lib/oracle/network/admin/sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES) // sqlnet.ora파일을 생성한다.
# vi /usr/lib/oracle/network/admin/tnsnames.ora
oracle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp) (HOST = <oracle server ip주소>) (port = 1521))
(CONNECT_DATA = (SID = DB12)) // tnsnames.ora파일에 oracle server의 tns정보를 입력한다.
)
2) Apache 설치
# tar xvfz httpd-2.2.34.tar.gz // apache파일의 압축을 푼다.
# cd ./httpd-2.2.34 // configure을 위해 디렉토리를 이동한다.
# ./configure --prefix=/app/apache --enable-rewrite --enable-so // configure을 실행한다.
# make // install파일을 생성한다.
# make install // install을 실행한다.
3) PHP 설치
# yum install -y libxml2* // php설치를 위한 패키지를 설치한다.
# tar xvfz php-5.6.39.tar.gz // php파일의 압축을 푼다.
# cd php-5.6.39/ // configure을 위해 디렉토리를 이동한다.
# ./configure --with-apxs2=/app/apache/bin/apxs --with-oci8=instantclient,/usr/lib/oracle/12.2/client64/lib --enable-sigchild // configure을 실행한다.
# make // install파일을 생성한다.
# make install // install파일을 실행한다.
# cp php.ini-development /usr/local/lib/php.ini // ini파일을 복사한다.
4) Apache, PHP 설정
# vi /app/apache/conf/httpd.conf // Apache 데몬 설정파일의 설정을 변경한다.
...
ServerName localhost // ServerName을 지정하지 않았다면 지정한다.
...
AddType application/x-httpd-php .php .html .htm .inc // module아래에 추가로 작성한다.
# vi /usr/local/lib/php.ini // php 동적 라이브러리의 정보를 수정한다.
short_open_tag = On // php구문이 바로 시작되게 수정한다.
…
default_charset = "EUC-KR" // Oracle서버의 문자코드와 일치 시킨다.
…
include_path=".:/usr/local/lib" // Oracle 인스턴스 클라이언트의 라이브러리 위치를 생성한다.
…
upload_tmp_dir = /tmp // 임시 디렉토리를 지정한다.
…
date.timezone = Asia/Seoul // Oracle서버와의 시간동기화를 위해 사용한다.
…
error_reporting = E_ALL & ~E_NOTICE // 에러코드에 대한 출력 여부를 설정한다.
…
# vi /app/apache/bin/apachectl
…
# oracle installexport TNS_ADMIN=/usr/lib/oracle/network/admin
export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
…// Oracle 인스턴스 클라이언트에서 사용할 TNS관련 파일의 위치 및 라이브러리 위치 언어 셋을 설정한다.
# vi /app/apache/htdocs/index.html
<?
$server = "oracle"; // TNS에 등록되어 사용할 Oracle 서버명
$user_name = "php"; // Oracle서버에 연결할 스키마명
$password = "php"; // Oracle서버에 연결할 스키마의 비밀번호
$conn=@oci_connect($user_name, $password, $server) or die('Could not connect:');
// Oracle서버의 연결 여부를 확인한다.
echo("Oracle 12c \$conn : $conn<br>");
$st=oci_server_version($conn);
echo("$st<br>");
phpinfo(); // php정보를 출력한다.
?>
'교육 > Oracle' 카테고리의 다른 글
Oracle 기초 구성 (0) | 2020.02.03 |
---|---|
Day 51 (오라클 기초구성 3 & 4) (0) | 2020.01.31 |
Day 50 (DB 파티션) (0) | 2020.01.30 |
Day 49 (DB) (0) | 2020.01.29 |
Day 48 (오라클 기초구성2) (0) | 2020.01.28 |