오라클
연동 AP(Apache+PHP) 설치
ip 설정
oracle
155
apache
153
*
AP 서버 설치 환경
호스트명 : ap
IP : 192.168.10.153
아파치
서버 경로 : /app/apache
아파치 : 2.2.34 (httpd-2.2.34.tar.gz)
PHP : 5.6.39
(php-5.6.39.tar.gz)
오라클 인스턴스 클라이언트 : 19.5
*
설치 과정
step
1. 오라클 인스턴스 클라이언트 설치
# 오라클 인스턴스 클라이언트에서 오라클에 연동해주는거다.
# tnsname.ora 파일있어야함.
# 만약에 이거 안되면 소스코드에 직접 네트워크 식별정보를 다 때려박아야함
step
2. Apache 설치
step
3. PHP 설치
# php파서 php를 아파치내부에 설치
step
4. Apache, PHP 설정
step
5. 서버 실행 후 연동 확인
step
1. 오라클 인스턴스 클라이언트 설치
①
설치할 오라클 인스턴스 클라이언트는 오라클 한국어
사이트인 https://www.oracle.com/kr/index.html 에서
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 두 개의 파일을 다운 받는다.
# 19.5 파일이 미리 있으므로 그것을 옮겨둔다.
② /usr/lib/oracle/19.5을 ORACLE_BASE 디렉토리로 설치된다.
rpm -Uvh
oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm
rpm -Uvh
oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm
③
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.155) (port = 1521))
(CONNECT_DATA
= (SID = DB12))
)
step
2. Apache 설치
①
httpd-2.X 소스파일을 /usr/local/에
다운받고 압축을 해제한다.
mv httpd-2.2.34.tar.gz /usr/local/httpd-2.2.34.tar.gz
cd
/usr/local
tar xvfz
httpd-2.2.34.tar.gz
cd
./httpd-2.2.34
②
configure → make → make install 순으로
컴파일 설치한다.
./configure
--prefix=/app/apache --enable-rewrite --enable-so
make
make install
③
아파치 서버를 실행하고 브라우저를 이용해서 접속
테스트를 진행한다.
/app/apache/bin/apachectl
start
서버가 시작되기는 하지만 시작될 때
'httpd: Could not reliably determine the server's fully qualified domain name, using fe80::2efd:a1ff:fe72:a9f0 for ServerName' 경고가 발생할 수 있다. 이런 경우
httpd.conf(/app/apache/conf/httpd.conf) 파일에 'ServerName
localhost' 를 추가하면 경고가
없어진다. ServerName 항목은 주석 처리되어 있을 것이다.
cp /app/apache/conf/httpd.conf /app/apache/conf/httpd.conf_default
vi /app/apache/conf/httpd.conf
ServerName
localhost
/app/apache/bin/apachectl
start
/app/apache/bin/apachectl stop
step
3. PHP 설치
①
PHP 설치전 컴파일을 위해 libxml 패키지
설치를 확인 후 설치한다.
yum install
-y libxml2*
②
TNS_ADMIN, LD_LIBRARY_PATH와 같이
오라클 관련 경로 설정에 정의된 내용이 시스템에 존재하는지 반드시 확인한다.
tar xvfz
php-5.6.39.tar.gz
cd
php-5.6.39/
./configure --with-apxs2=/app/apache/bin/apxs --with-oci8=instantclient,/usr/lib/oracle/19.5/client64/lib --enable-sigchild
make
make
install
cp
php.ini-development /usr/local/lib/php.ini
--with-oci8에 지정한
'/usr/lib/oracle/19.5/client64/lib'
디렉토리는 설치한 인스턴스
클라이언트의 버전에 따라 경로가 달라진다.
# 19.5라 변경해줘야한다.
step
4. Apache, PHP 설정
①
/app/apache/conf/httpd.conf 파일의
내용을 수정한다. APO 서버 설정과 동일하다.
vi /app/apache/conf/httpd.conf
ServerName
localhost // 추가 내용
.............
LoadModule
php5_module modules/libphp5.so
AddType
application/x-httpd-php .php .html .htm .inc // 추가 내용
.............
②
/usr/local/lib/php.ini 파일에 PHP 실행
환경을 설정한다. APO 서버 설정과 동일하다.
vi /usr/local/lib/php.ini
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
# short_open_tag <? ?> 인식못한다.
# default charset 오라클 셋팅 맞춰준다.
③
/app/apache/bin/apachectl를 열어서
다음의 내용을 추가한다.
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)
# export tns_admin 아래 연동 못하게된다.
# ld_library 오라클언어 못씀
# 아파치한테도 언어 설정 알려줘야함
# 경로확인할것
step
5. 서버 실행 후 연동 확인
①
/app/apache/htdocs/index.html 파일을
다음과 같이 수정한다.
vi /app/apache/htdocs/index.html
<?
$server =
"oracle";
$user_name = "kst11";
$password = "1234";
$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();
?>
# server = oracle 이것은 tns 이름
# user_name = kst11 계정만든거
# password = 1234 아까 넣어준거
# conn 오라클에 접속하여라 - 콘솔에 들어감
# 함수앞에 @ 이런 에더사인을 넣으면 에러나도 에러메시지 않띄워준다.
# echo 포인터정보라서 안알려줌
# st = 서버 버전이 뭔지 보여준다.
# phpinfo 설정내용 띄워줌
②
아파치를 재실행한다.
/app/apache/bin/apachectl stop
/app/apache/bin/apachectl
start
③
브라우저를 통해 접속한 다음 출력 결과를 확인한다
댓글 없음:
댓글 쓰기