오라클 연동 AP(Apache+PHP) 설치
오라클 연동 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 파일을 생성한다.
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
굿 잘됨