반응형
아파치 설치
공식 사이트:  http://httpd.apache.org

1. 아파치 최신 버전을 내려받도록 한다.
      본인은  httpd-2.2.15.tar.gz 를 대상으로 설치

2. 컴파일 및 설치 (root권한으로)

/usr/local/src 에 다운 받아 놓은 파일의 압축을 해제한다.

# tar xvzf httpd-2.2.15.tar.gz
# cd httpd-2.2.15

--컴파일 실행 및 설치 과정
# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-so
# make && make install

3. 아파치의 설치 과정이 끝났다.  아파치가 자동 시작 되도록 설정하자.
-- 서비스 등록
# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
# chkconfig -add httpd

-- 서비스 확인
# chkconfig --list|grep httpd
-- httpd                     0:off  1:off  2:on   3:on   4:on   5:on   6:off
 
PHP 설치
공식사이트 : http://www.php.net

-- 아래 두 패키지를 먼저 설치하자.
# apt-get install libxml2-dev libxslt-dev libjpeg62-dev libpng12-dev  libcurl4-openssl-dev

1. /usr/local/src 에 php-5.2.13.tar.gz 를 다운 받도록 하자.

2. 컴파일 및 설치 (root권한으로) 
# tar xvzf php-5.2.13.tar.gz
# cd php-5.2.13

#  ./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs  \
--with-config-file-path=/usr/local/apache2/conf   \
--with-zlib-dir=/usr/local/  \
--with-gd=shared \
--with-xmlrpc \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-curl=/usr/lib \
--with-zlib \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--enable-mbstring \
--with-libxml-dir=/usr/local/ \
--with-xsl=/usr/local/ \
--with-iconv \
--enable-sockets \
--enable-pdo \
--with-pdo-oci=$ORACLE_HOME  \
--with-oci8=$ORACLE_HOME  \
--enable-sigchild \
--with-openssl  \
--with-mysql=/usr/local/mysql

# make && make install

3. php.ini  파일을 복사해서 넣자.
# cp php.ini-dist /usr/local/apache2/conf/php.ini

4. httpd.conf 파일에 다음 내용을 삽입한다.

# vi /usr/local/apache2/conf/httpd.conf

-- 아래 빨간 부분이 추가할 부분들이다.

ServerName localhost

306  AddType application/x-compress .Z
307  AddType application/x-gzip .gz .tgz
-- 아래 부분에  추가하도록 하자.--

AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps 


-- 그리고 맨 하단 php.ini 파일 경로를 삽입
PHPIniDir "/usr/local/apache2/conf/"

LoadModule php5_module modules/libphp5.so   <<= httpd.conf에 잘 들어가있는지 확인

5. 아파치에서 오라클 연동시에 사용하는 환경 변수 값을 셋팅해 준다.
(오라클 설치시 셋팅했던것과 동일하게 설정해주도록 한다.)

# vi /usr/local/apache2/bin/envvars

export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/11g
export ORACLE_SID=oracle

--이 윗부분에 추가해 주도록 하자.
LD_LIBRARY_PATH="/usr/local/httpd/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

6. 웹서비스 루트 경로에 phpinfo 파일을 만들어 확인하자.
# vi /usr/local/apache2/htdocs/test.php

 <? phpinfo(); ?>

아래와 같이 OCI 연동 부분을 확인 할 수 있다.


오라클과의 연동확인 코드는 testOra.php 파일을 작성해 확인해 보자.

# vi testOra.php

<?

    $conn = oci_connect("scott", "tiger", "127.0.0.1/oracle");

    $stid = oci_parse($conn, "SELECT * FROM EMP");
    oci_execute($stid);

    $nrows = oci_fetch_all($stid, $results);

    echo "<html><head><title>Oracle PHP Test</title></head><body>";
    echo "<center><h2>Oracle PHP Test</h2><br>";
    echo "<table border=1 cellspacing='0' width='50%'>\n<tr>\n";
    echo "<td><b>Name</b></td>\n<td><b>Salary</b></td>\n</tr>\n";

    for ($i = 0; $i < $nrows; $i++ ) {
      echo "<tr>\n";
      echo "<td>".$results["EMPNO"][$i]."</td>";
      echo "<td>".$results["ENAME"][$i]."</td>";
      echo "</tr>\n";
    }

    echo "<tr><td colspan='2'> Number of Rows: $nrows</td></tr></table>";
    echo "<br><em>If you see data, then it works!</em><br></center></body></html>\n";

?>



ZendOptimizer 설치
공식사이트 :  http://www.zend.com

ZendOptimizer는 PHP의 속도를 향상시켜준다.

1. ZendOptimizer을 내려받도록 한다.
      본인은  ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 를 대상으로 설치

2. 압축해제 및 설치 (root권한으로)

/usr/local/src 에 다운 받아 놓은 파일의 압축을 해제한다.

# tar xvzf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.9-linux-glibc23-i386

3. 프로그램 설치
3.3.3 이전 버전은 install명령어를 제공하여 설치 되었지만 3.3.9 버전부터는 제공되지 않는다.
(참고: 3.3.9 버전은 php 5.3.0 이상은 제공하지 않는다.)

3-1 일단 설치된 php 버전을 확인하자
# /usr/local/php/bin/php -v
PHP 5.2.13 (cli) (built: Jun 30 2010 18:49:52)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

3-2 php 버전에 따른 Zend 모듈을 복사 하도록 하자.
# cd data
# cp 5_2_x_comp/ZendOptimizer.so  /usr/local/php/lib/

3-3 php.ini 파일에 Zend 관련 설정
# vi /usr/local/apache2/conf/php.ini

[Zend]
 zend_optimizer.version=3.3.9
 zend_extension=/usr/local/php/lib/ZendOptimizer.so

4. 설치 확인
# /usr/local/php/bin/php -v

PHP 5.2.13 (cli) (built: Jun 30 2010 18:49:52)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies   <== 정상설치 확인.

이로써 Ubuntu 10.04 + APACHE + PHP + ORACLE 연동에 대한 포스팅이 완료 되었다.
우분투에 오라클과 PHP 연동 관련 자료가 없어서 삽질해가며 설치 하였다.
고생한 만큼 자료를 정리하면 다음에도 수월하게 작업할수 있기에 시간은 좀 걸렸지만 나름 만족한다.
이후 포스팅에서는 여기에 JSP용 언어 서버를 구성하도록 하겠다.
반응형
Oracle 11g 설치

1. 오라클 11g를 설치하기 이전에 필요한 패키지들을 설치 하도록 하자.
   (아래 작업들은 root계정으로 실행하도록 하자.)

# apt-get install gcc binutils libaio1 lesstif2 lesstif2-dev make rpm libc6 build-essential gawk alien ksh libmotif3

2. 패키지의 설치가 끝났으면 오라클 설치를 위한 사용자 그룹과 유저를 만들도록 한다.

# addgroup oinstall
# addgroup dba
addgroup nobody
# useradd -m oracle -g oinstall -G dba /bin/bash
# usermod -g nobody nobody
# passwd oracle  (oracle 비밀번호 설정)

3. 오라클에서 필요한 메모리와 CPU 리소스를 위해 커널 파라미터를 수정한다.
    파일의 가장 아래쪽에 다음의 내용을 삽입한다.

# vi /etc/sysctl.conf

fs.file-max = 65535
= 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
= 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

4. /etc/sysctl.conf 파일은 우분투 시스템이 부팅시 처음  읽어오는 정보이다.
   이를 적용하기 위해 sysctl.conf 설정을 읽어들이는 명령어를 실행한다.

# sysctl -p

5. /etc/security/limits.conf 파일에 다음 내용을 삽입한다.

# /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16383
soft nofile 1023
oracle hard nofile 65535

6. /etc/pam.d/login 파일에 다음 라인을 추가한다.

# vi /etc/pam.d/login

session required /lib/security/pam_limits.so
session required pam_limits.so

7. 오라클 기동에 관련한 환경변수를 설정한다.

# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/rpm /bin/rpm
# ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
# ln -s /usr/bin/basename /bin/basename /bin/basename

8. 오라클 11g가 설치될 폴더 생성하기

# mkdir /oracle
# mkdir /oracle/11g
# chown -R oracle:oinstall /oracle
# chmod -R 775 /oracle

9. 환경변수 설정을 위해 /etc/profile 의 파일 가장 마지막에 삽입한다.

# vi /etc/profile

export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/11g
export ORACLE_SID=oracle
export PATH=$PATH:$ORACLE_HOME/bin

10. 환경변수가 제대로 등록되었는지 확인해보도록 한다.

# su - oracle
password:
# echo $ORACLE_BASE
/oracle
# echo $ORACLE_HOME
/oracle/11g
# echo $ORACLE_SID
oracle

제대로 출력되는 것을 확인 하면 이상무..

11. 오라클11g 압축 풀기.(오라클을 오라클 계정에 다운받도록 한다.)
# su - oracle
$ unzip linux_11gR1b5_database.zip - 파일명은 버전에 따라 달라질달라질 수 있습니다.
$ chown -R oracle:oinstall database

이제 오라클 설치의 기본적인 것은 완료 되었다. GUI 환경에서 설치를 진행하면 된다.
서버의 화면에서 설치를 진행해도 되고 본인같은 경우는 XDMCP 환경에서 설치를 진행하였다.
XDMCP 설정관련은 본인의 블로그에 작성되어 있다. 필요하면 참고 하도록 하자.
http://www.pmguda.com/726    <== XDMCP 설정관련 자료

12. 오라클 설치는 오라클 계정으로 하도록 하자.
# su - oracle
$ export LANC=C  //한글로 설치하면 글자가 깨짐으로 영어로 설치를 진행한다.
$ cd /home/oracle/database
$ ./runInstaller

아래 그림에서 보시는 것처럼
Oracle Base Location: /oracle
Oracle Home Location: /oracle/11g
Global DataBase Name: oracle
(다른 값을 넣을 경우에는 위에서 설정한 "export ORACLE_SID=oracle" 와 동일하게 설정을 맞춰주도록 하자. )

아래 창이 뜨기 전에 경고창이 하나 떳을 것이다 Inventory directory 가 잘못되있다는 경고창이니
무시하고 설정을 변경해 주도록 하자.
Inventory directory 는 /oracle/oraInventory로 설정
System group name 은 dba로 설정

나머지 과정은 Next로 설치를 진행하면 된다. 아래 Product-Specific Prerequisite Cheks 에서 오류항목은
User Verified로 체크하여 처리를 하자.

참고로 자신의 glibc 버전확인은 # getconf GNU_LIBC_VERSION   으로 하면 확인가능.
(glibc 관련 오류는 우분투 10.04의 버전이 더 높으나 비교에서 문제가 발생하는것이다.
최소 요구버전은 2.4.?? 이라면 우분투(10.04)의 버전은 2.11.1 인데 비교시에 4와 11을
4와 1로 비교하여 발생하는 버그이니 그냥 무시하도록 하는것이다. 오라클 개발자 신경좀 쓰자잉~)

오라클 관리담당자 등록부분이다 그냥 Next로 넘어가자


계속 Next로 설치를 진행하고 나면 다음 창이 나온다.
Scripts to be executed: 에 있는 2가지 스크립트 파일을 반드시 root 계정으로 실행하도록 한다.


설치가 완료되었다. 이제 마지막 설치 후 셋팅 부분이 남았다.

13. /etc/oratab 파일 을 수정하도록 한다.(오라클 계정으로 빨간색 Y부분이 원래 N으로 되어있다.)

$ vi /etc/oratab

oracle:/oracle/11g:Y

14. /oracle/11g/bin/dbstart 파일의 오라클 리스너의 절대 패스를 수정한다.
ORACLE_HOME_LISTNER= 부분을 ORACLE_HOME_LISTNER=/oracle/11gORACLE_HOME_LISTNER=/oracle/11g 로 설정

$ vi /oracle/11g/bin/dbstart

15. 절대 패스까지 설정했다면 이제 설치는 완료 됬다. 확인 및 오라클 자동 실행을 위한 셋팅을 알아보자.

oracle 계정으로 전환해서 정상 작동 테스트를 해보자.
$sqlplus /nolog
SQL> connect /as sysdba
SQL> startup
SQL> SELECT LTRIM('AAATEST','A') FROM DUAL;
SQL> TEST
SQL> shutdown

정상작동이 확인된 후에 자동실행 되도록 셋팅하도록 하자.(모든 작업은 root 권한으로)

/etc/init.d 에서   startoracle.sh 파일을 생성

# vi /etc/init.d/startoracle.sh
 


위와 같이 작성하고 실행 권한을 주도록 하자

내용작성후 실행권한을 부여하고 시작프로세스에 등록한다.  재시작하면 자동 실행 된다.



오라클 자동 실행까지 완료후 Apache, PHP 연동 관련 글은 다음 포스팅으로 넘기도록 하겠다.
글이 너무 길어진 관계로 오라클만 사용하려면 여기까지만 하면 된다.

+ Recent posts