* AP 서버 설치 환경
호스트명 : ap
IP : 192.168.10.19
아파치 서버 경로 : /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
$ORACLE_BASE : /app/ora19c
$ORACLE_HOME : /app/ora19c/19c
* 설치 과정
step 1. 오라클 인스턴스 클라이언트 설치
step 2. Apache 설치
step 3. PHP 설치
step 4. Apache, PHP 설정
step 5. 서버 실행 후 연동 확인
[root@CentOS7-3 ~]# vi /etc/rc.d/rc.local
[root@CentOS7-3 ~]# /app/apache/bin/apachectl stop
[root@CentOS7-3 ~]#
이미 설치된 아파치를 삭제하고 시작한다.
[root@CentOS7-3 ~]# cd /app/apache
[root@CentOS7-3 apache]# ls
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
[root@CentOS7-3 apache]# cd
[root@CentOS7-3 ~]# rm -rf /app/apache
[root@CentOS7-3 ~]# cd /app/apache
-bash: cd: /app/apache: 그런 파일이나 디렉터리가 없습니다
step 1. 오라클 인스턴스 클라이언트 설치
① 설치할 오라클 인스턴스 클라이언트는 오라클 한국어 사이트인 https://www.oracle.com/kr/index.ht
ml 에서 oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 와 oracle-instantclient19.5-devel-
19.5.0.0.0-1.x86_64.rpm 두 개의 파일을 다운 받는다.
ftp서버에 있으므로 ftp로 다운 받을 것이다.
[root@CentOS7-3 ~]# ls
anaconda-ks.cfg 공개 사진
initial-setup-ks.cfg 다운로드 서식
oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 문서 음악
oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm 바탕화면
pcre-8.45.tar.gz 비디오
② /usr/lib/oracle/19.5을 ORACLE_BASE 디렉토리로 설치된다.
[root@CentOS7-3 ~]# rpm -Uvh oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm
준비 중... ################################# [100%]
Updating / installing...
1:oracle-instantclient19.5-basic-19################################# [100%]
[root@CentOS7-3 ~]# rpm -Uvh oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm
준비 중... ################################# [100%]
Updating / installing...
1:oracle-instantclient19.5-devel-19################################# [100%]
③ sqlnet.ora 파일과 tnsnames.ora 파일을 생성한다.
[root@CentOS7-3 ~]# mkdir -p /usr/lib/oracle/network/admin/
[root@CentOS7-3 ~]# vi /usr/lib/oracle/network/admin/sqlnet.ora
[root@CentOS7-3 ~]# cat /usr/lib/oracle/network/admin/sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES)
tnsnames.ora 파일을 수정한다.
[root@CentOS7-3 ~]# vi /usr/lib/oracle/network/admin/tnsnames.ora
[root@CentOS7-3 ~]# cat /usr/lib/oracle/network/admin/tnsnames.ora
oracle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.11.135)(port = 1521))
(CONNECT_DATA = (SID = DB19))
)
ora =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.10.138)(port = 1521))
(CONNECT_DATA = (SID = DB19))
)
dal =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.10.11)(port = 1521))
(CONNECT_DATA = (SID = DB19))
)
step 2. Apache 설치
① httpd-2.X 소스파일을 /usr/local/에 다운받고 압축을 해제한다.
[root@CentOS7-3 ~]# cd /usr/local/
[root@CentOS7-3 local]# ls
apache2 games include pcre-8.45.tar.gz share
apr-1.6.5.tar.gz httpd-2.2.34 lib php src
apr-util-1.6.1.tar.gz httpd-2.2.34.tar.gz lib64 php-7.4.26 var
bin httpd-2.4.51 libexec php-7.4.26.tar.gz
etc httpd-2.4.51.tar.gz pcre-8.45 sbin
[root@CentOS7-3 local]# cd ./httpd-2.2.34
② configure → make → make install 순으로 컴파일 설치한다. 그 뒤에 여기부터 하기
[root@CentOS7-3 httpd-2.2.34]# ./configure --prefix=/app/apache --enable-rewrite --enable-so
[root@CentOS7-3 httpd-2.2.34]# make
[root@CentOS7-3 httpd-2.2.34]# make install
③ 아파치 서버를 실행하고 브라우저를 이용해서 접속 테스트를 진행한다.
[root@CentOS7-3 httpd-2.2.34]# /app/apache/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using fe80::da2f:8c5b:1b46:2ceb for ServerName
이런 경고 메시지가 뜨면 아래와 같이 /app/apache/conf/httpd.conf에 ServerName localhost를 추가한다.
[root@CentOS7-3 httpd-2.2.34]# vi /app/apache/conf/httpd.conf
...
ServerName localhost
...
아파치 서버를 다시 죽였다 살린다.
[root@CentOS7-3 httpd-2.2.34]# /app/apache/bin/apachectl stop
[root@CentOS7-3 httpd-2.2.34]# /app/apache/bin/apachectl start
[root@CentOS7-3 httpd-2.2.34]#
잘 실행되는 것을 확인할 수 있다.
step 3. PHP 설치
① PHP 설치전 컴파일을 위해 libxml 패키지 설치를 확인 후 설치한다.
[root@CentOS7-3 ~]# yum install -y libxml2*
이미 설치 되어있으므로 넘어간다.
[root@CentOS7-3 ~]# yum list libxml2*
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* extras: ftp-srv2.kddilabs.jp
* updates: ftp.iij.ad.jp
Installed Packages
libxml2.x86_64 2.9.1-6.el7_9.6 @updates
libxml2-devel.x86_64 2.9.1-6.el7_9.6 @updates
libxml2-python.x86_64 2.9.1-6.el7_9.6 @updates
libxml2-static.x86_64 2.9.1-6.el7_9.6 @updates
Available Packages
libxml2.i686 2.9.1-6.el7_9.6 updates
libxml2-devel.i686 2.9.1-6.el7_9.6 updates
libxml2-static.i686 2.9.1-6.el7_9.6 updates
② TNS_ADMIN, LD_LIBRARY_PATH와 같이 오라클 관련 경로 설정에 정의된 내용이 시스템에 존재하
는지 반드시 확인한다.
[root@CentOS7-3 local]# cd /usr/local/
[root@CentOS7-3 local]# tar xvfz php-5.6.39.tar.gz
[root@CentOS7-3 local]# cd php-5.6.39/
[root@CentOS7-3 local]# ./configure --with-apxs2=/app/apache/bin/apxs --with-oci8=instantclient,/usr/lib/oracle/19.5/client64/lib --enable-sigchild
[root@CentOS7-3 local]# make
[root@CentOS7-3 local]# make install
[root@CentOS7-3 php-5.6.39]# cp php.ini-development /usr/local/lib/php.ini
cp: overwrite `/usr/local/lib/php.ini'? y
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 = "UTF-8" (or "EUC-KR")
include_path=".:/usr/local/lib"
upload_tmp_dir = /tmp
date.timezone = Asia/Seoul
error_reporting = E_ALL & ~E_NOTICE
③ /app/apache/bin/apachectl를 열어서 다음의 내용을 추가한다.
[root@CentOS7-3 ~]# 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.AL32UTF8
(또는 AMERICAN_AMERICA.KO16MSWIN949)
step 5. 서버 실행 후 연동 확인
① /app/apache/htdocs/index.html 파일을 다음과 같이 수정한다.
[root@CentOS7-3 ~]# vi /app/apache/htdocs/index.html
<?
$server = "oracle";
$user_name = "st";
$password = "st";
$conn=@oci_connect($user_name,$password,$server) or die('not connect:');
echo("Oracle 19c \$conn : $conn<br>");
$st=oci_server_version($conn);
echo("$st<br>");
phpinfo();
?>
웹페이지에서 확인한다.
Document Root 변경
/home/httpd/html/index.html
이때 vi /app/apache/conf/httpd.conf 에서 Document Root가 /home/httpd/html으로 되어있는지 확인한다.
vi /home/httpd/html/index.html
<html>
<head>
<title> st04 </title>
<meta charset="UTF-8">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p> </p>
<table border="1" align="center">
<tr>
<td width="100">
<p align="center">목록<br></p>
<p align="center"><a href="html">html</a><br></p>
<p align="center"><a href="python">python</a><br></p>
</td>
</tr>
</table>
</html>
<br>
<?
$server = "oracle";
$user_name = "st";
$password = "st";
$conn=@oci_connect($user_name,$password,$server) or die('not connect:');
echo("Oracle 19c \$conn : $conn<br>");
$st=oci_server_version($conn);
echo("$st<br>");
phpinfo();
?>
'리눅스 공부 기록' 카테고리의 다른 글
SSH 접속시 SSH key 생성 실습 (0) | 2022.02.03 |
---|---|
웹 게시판 생성 (0) | 2022.01.28 |
아파치 설치 및 PHP 설치, 디렉토리 업로드 (3) | 2021.11.26 |
samba 실습 2 - webmaster samba 실습 (1) | 2021.11.24 |
리눅스 19 - samba + 실습 (0) | 2021.11.23 |