[웹서버] Redhat7.x+Oralce8.1.6+Apache+Tomcat+Mysql
Oracle8.1.6은 Redhat 6.2 기반에 맞추어져서 패키징 되어져 있는데 Redhat 7.x에서
설치시 여러가지 어려움이 있습니다. 마침..사이트 돌아다니다가 잘 정리되어져 있는
문서가 있길래 올립니다. 예전에 Oracle 설치 문서 만들때 너무 고생해서리…^^;;;
아무튼…살펴봐주세요..그럼..
자료출처 : http://oops.org
작성자 : 김동근님
————————————————————————
레드햇 7.0 이후 버전부터 오라클 설치가 까다롭더군염..
그래서 제가 설치에 성공한 사례로 설치방법을 만들어 봤습니다.
대부분 레드햇 kernel 과 gcc 버전 문제때문에 오라클 설치에 문제가
많은것 같습니다. 오라클 사이트에도 패치에 관련된것이 없고…
어떤분들은 이것땜시 작게는 10일 길게는 한달이 넘도록 고생한분들도
많은것 같습니다. 이 설치방법이 여러분들께 도움이 되었으면 합니다.
질문은 메일로 보내 주세염..
■ Installation for linux
○ hardware
○ software
– redhat 7.1
– oracle 8.1.6
– jdk 1.2.2.008
– jre 1.2.2.007
– jsdk 2.0 solaris sparc
– mysql 3.23.40
– php 4.0.6
– apache 1.3.19
– Zend Optimizer
– GD Library 1.8.4
– Jakarta tomcat 3.2.3
■ 인스톨 순서
1. redhat 7.1 install
2. jdk, jre, jsdk
3. oracle 8i
4. mysql
5. GD Library
6. apache 임시 해제
7. PHP
8. Zend Optimizer
9. apache(DSO) 설치
10. Jakarta tomcat
1. redhat 설치
– 본인은 아나콘다 모드를 선호한다. 그래서 아나콘다 모드로 설치를 했으며
disk druid를 사용해서 파티션을 나누었다.
– 리눅스 파티션
/ <— 2G
/usr <— 2G
/oracle <— 2G
/database <— 2G
/스왑영역 <— 1.5G
/home <— 나머지 전부
– 네트워크 설정은 자신의 맞는 설치를 한다. 다만 여기서 설명하는 것은 고
정 아이피를 이용한 것이며, 네임서버와 도메인을 사용하며 가상호스트까지
설정할 것이다.
– 마지막 설치 부분에서 KDE나 GNOME의 X윈도우의 사용을 결정한다. 될수 있
으면 KDE를 선택하시기 바라며 GNOME을 선호하시는 분은 GNOME을 선택 하셔
도 좋습니다.
그러나 차후 oracle 설치시에는 KDE에서 설치하여야 하므로
/etc/sysconfig/desktop을 편집하여 KDE로 설정을 변경해야 한다.
그리고 그래픽 모드의 로긴보다는 텍스트 모드의 로긴을 권장한다.
– 레드핫의 경우 방화벽으로 인하여 많은 초보자들이 난감해 하는 경우가 있
다. 필자 또한 자동으로 설치되는 방화벽으로 telnet, ftp등등의 포트가 막
혀서 사용할 수 없었다. 자세한 것은 나도 잘 모른다
하지만 방화벽으로 인하여 해킹이나 포트스켄등의 악용을 막을 수 있어서
마음에 든다.
– telnet, wu-ftp를 사용할 수 있도록 포트 열기.
$ setup
파란 화면과 함께 choose a tool 이라는 타이틀과 함께
인증설정, 방화벽, 키보드, 마우스, 네트워크, 시스템 서비스, 사운드, 시
간, X등의 설정화면이 나올 것이다.
이중에서 system services를 선택하여 telnet, wu-ftp 부분의 체크해 준다.
$ xinetd —> 데몬 다시 가동
$ netstat -tnl —> 21, 23의 포트확인
자, 이제 ftp와 telnet을 사용할 수 있다.
각종 package를 ftp로 전송한다.(전송위치는 아무곳이나)
$ lokkit
위의 명령은 방화벽을 설정할 수 있다. 즉 방화벽의 사용여부를 결정할 수
있는 명령어
2. jdk, jre, jsdk 설치
– jdk, jre, jsdk 를 적당한 곳에 압축을 푼다.
$ tar -xvfz jdk-1.2.2.tar.gz # 압축을 푸는 부분
jre-1.2.2.tar.gz
jsdk2.0.tar.gz
$ mv jdk-1.2.2 /usr/local/jdk # 패키지의 디렉토리명을 변경하는 부분
jre-1.2.2 /usr/local/jre
jsdk2.0 /usr/local/jsdk
$ pico /etc/profile – 아래 내용추가
– # for jdk & jsdk
– export JAVA_HOME=/usr/local/jdk
– export CLASS_PATH=.:$JAVA_HOME/lib:/usr/local/jsdk/lib/jsdk.jar
– export PATH=$PATH:.:$JAVA_HOME/bin:/usr/local/jsdk/bin:$JAVA_HOME
$ source profile # 소스 적용
$ java -version # 자바 버전 확인
3. 오라클 설치
– redhat 6.2 이하 버전들은 바로 오라클 설치해도 문제없다.
그러나 redhat 7.0 이상의 버전들은 문제가 반드시 나올 것 입니다.
이후 문제가 나올 부분에 대해서는 아래에서 차근차근 설명하겠다.
– 본 오라클 설치는 redhat 7.1(english) 과 oracle 8.1.6 을 기준으로 한다.
그러므로 위에서 언급한 버전 이외의 버전은 약간의 차이가 날 수 있습니다.
만약 문제가 생기면 알아서 처리하시길 바랍니당…
– 우선 바이너리 유틸을 설치하셔야 합니다. 왜냐하면 오라클 설치도중
*.mk 에러가 속출하는데 이 부분을 문제 없이 처리하기 위해서 반드시
설치하시기 바랍니다.
$ rpm -Uvh binutils-2.10.91.0.4-1.i386.rpm
– 다 설치하셨으면 이번에는 gcc 버전을 낮추어야 합니다.
오라클의 데이터 베이스 생성중에 80% 부분에서 먹통이 되어 버립니다.
저도 이부분에서 가장 많은 시간을 보냈습니다.
gcc 버전을 낮춘후 오라클 설치가 끝나면 다시 원상태로 돌려 주어야 합
니다. 이왕이면 높은 버전을 쓰시는 것이 낳겠죠..?
$ cd /
$ tar xfz /download/i386-glibc-2.1-linux.tar.gz
$ cd /usr/bin
$ mkdir backup
$ mv gcc cc ld backup
$ ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
$ ln -s gcc cc
$ ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
$ cd /usr/lib
$ mkdir backup
$ mv libc.so libdl.so libm.so libpthread.so backup
$ mv libc.a libdl.a libm.a libpthread.a backup
% 오라클 설치후 복귀 방법
$ cd /usr/lib
$ mv ./backup/* .
$ cd /usr/bin
$ mv ./backup/* .
– 오라클 계정과 그룹지정
$ groupadd -g 5000 dba
$ useradd -g dba oracle
$ passwd oracle
– /etc/group 파일을 열어서 다음과 같이 수정합니다.
맨 마지막 줄을 보시면
dba:x:5000: —–> dba:x:5000:oracle,root 로 고치고 저장
– 자 마지막으로 /etc/profile 에 추가합니다.
# For Oracle
export LD_ASSUME_KERNEL=2.2.5 # 이부분은 오라클 runInstaller 실행
이 가능하도록 커널의 버전을 호환시
켜주는 부분입니다.
export display=localhost:0.0
export USERNAME BASH_ENV PATH
export ORACLE_OWNER=oracle;export ORACLE_OWNER
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/products/8.1.6
export ORALCE_SID=ORCL
export ORACLE_TERM=vt100
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin:usr/local/jre/bin:$ORACLE_HOME
-:/usr/local/:usr/local/jdk/bin -윗부분과 이어서 쓰시기 바랍니다.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib
export CLASSPATH=/usr/local/jre/bin:$ORACLE_HOME/jlib:$ORACLE_HOME/
-product/jlib:/usr/local/jre:/usr/local/jre/bin:/usr/local/jdk/lib -윗부분과 이어서
umask 022
mesg
– root 계정의 .bash_profile 에 추가 할 내용
export ORACLE_HOME=/oracle/app/oracle/products/8.1.6
export ORACLE_SID=ORCL
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export TNS_ADMIN=$ORACLE_HOME/network/admin
mesg n
– 소유권 및 퍼미션 조정
$ chown -R oracle.dba /usr/local/jre
$ chown -R oracle.dba /oracle
$ chown -R oracle.dba /오라클 데이타베이스 저장파티션명
$ chmod -R 755 /oracle
– ./runInstaller & 실행
– 이제 나머지 부분은 여러분이 오라클 인스톨 문서를 보시고 설치하시기
바랍니다.
– 드디어 까다롭고 어려운 부분의 설치를 마쳤습니다.
이부분까지 성공적으로 이루셨다면 50%는 성공하신것 입니다.
4. mysql 3.23.40 설치
$ tar xvzf mysql.tar.gz 압축해제
$ ./configure \\
–prefix=/usr/local/mysql
–with-charset=euc_kr
$ make
$ make install
$ ./bin/mysql_install_db
$ ./bin/safe_mysqld –language=korean &
$ ./bin/mysqladmin -u root password ‘new-pass'[enter]
* 팁) root 패스워드 분실시 방법:
(1) ./killall mysqld (데몬을 모조리 죽임)
(2) ./bin/safe_mysqld –skip-grant &
(3) mysql> UPDATE user SET Password=PASSWORD(‘newpasswd’) WHERE
user=’root’;
(4) mysql> FLUSH PRIVILEGES;
5. GD Library 설치
$ tar xvzf gd.tar.gz 압축해제
$ mkdir /usr/local/include – 대부분의 리눅스 배포판에서는 include 디
렉토리가 생성되지만 혹시 모르는 일이니
확인하시고 디렉토리를 생성하세요
$ make
$ make install
$ mv gd1.8.3 /usr/local/gd
6. apache 잠시 풀기
$ ./configure \\
–prefix=/usr/local/apache
7. PHP 인스톨
$ ./configure
–with-oci8=/oracle/app/oracle/products/8.1.6
–with-oracle=/oracle/app/oracle/products/8.1.6
–with-mysql=/usr/local/mysql
–with-apache=현재 apache 패키지의 압축을 풀어놓은 디렉토리
–with-gd=/usr/local/gd
–enable-sigchild – 오라클-PHP 좀비현상 문제 해결하기위해 필수
–with-language=korean
–with-charset=euc_kr
–with-config-file=/usr/local/lib
–enable-track-vars (GET/POST/Cookies변수를 PHP3에서 내부변수로 사용)
–disable-debug
$ cp php.ini-dist /usr/local/lib/php.ini
$ make
$ make install
8. Zend Optimizer 인스톨
– Optimizer 를 압축해제하면 ZendOptimizer.so 라는 파일이 있습니다.
일단 /usr/local/ 안에.. Zend/lib 라는 디렉토리를 만듭니다.
그리고 이곳에 ZendOptimizer.so 파일을 복사
$ mkdir /usr/local/Zend
$ mkdir /usr/local/Zend/lib
$ cp ZendOptimizer.so /usr/local/Zend/lib
– php.ini 파일 맨 아래 추가
[Zend Optimizer]
zend_optimizer.optimization_level=15
zend_extension=”/usr/local/Zend/lib/ZendOptimizer.so”
차후 phpinfo test로 아래와 같은 메세지가 있다면 성공.
This program makes use of the Zend scripting language engine:
Zend Engine v1.0.1, Copyright (c) 1998-2000 Zend Technologies
with Zend Optimizer v0.99, Copyright (c) 1998-2000, by Zend
Technologies
9. apache 인스톨
$ ./apache/configure
–prefix=/usr/local/apache \\
–activate-module=src/modules/php4/libphp4.a \\
–enable-rule=SHARED_CORE \\
–enable-module=so \\ ==> Java Shared Object
–enable-shared=max \\ ==> DSO Support(Dynamic Shared Object)
–with-jdk-home=/usr/local/jdk \\
–with-jsdk=/usr/local/jsdk/lib/jsdk.jar \\
–disable-debugging
./apache/make
./apache/make install
– 허걱 드디어 아파치 설치까정 설치가 완료 되었습니다.
아파치의 원할한 구동을 위해서 oops.org에 가셔서 apache 설정 부분의
httpd.conf 부분을 참고 하시구 설정 하시기 바랍니다.
– apache와 php의 연동을 위해서 해주어야 할 일이 하나 더 있습니다.
– /usr/local/apache/conf/httpd.conf 화일을 엽니다.
LoadModule php4_module libexec/libphp4.so <– 이 부분이 있는지 검색하
세요.. 만약 없으면 저도 할말 없습니다. 6번부터 다시 차근차근 하세염.
– 그다음 또 찾아 주어야 할 곳이 있습니다.
#And for PHP 4.x use:
#
#AddType application/x-httpd-php .php <— 요부분의 주석(#)을 제거
#AddType application/x-httpd-source .phps <— 요부분의 주석(#)을 제거
아래와 같이 수정하시면 편합니다.
AddType application/x-httpd-php .PHP .php .php3 .php4 .html .htm .inc .phtml .phtm
AddType application/x-httpd-source .phps
10 . jakarta tomcat 설치
– mod_jserv.so를 다운 받으시구 /usr/local/apache/libexec디렉토리에 이동
– /usr/local/apache/conf/httpd.conf화일에
Include /usr/local/jakarta-tomcat/conf/tomcat.conf를 추가시킴
– /usr/local/jakarta-tomcat/bin 디렉토리 안에 있는 모든 파일의 퍼미션을 변경
chmod 700 *
자. 이제 모든 설치가 끝났습니다.
그렇다면 제대로 실행이 되는지 확인 하시기 바랍니다.
가동 순서…
1) oracle -계정으로 접속
2) $ svrmgrl -서버 메니저 가동
connect internal; -데이터 베이스 접속
startup; -데이터 베이스 가동
quit -빠저 나오기
3) $ lsnrctl start -리스너 가동
4) su – -루트 계정으로 전환
5) /usr/local/mysql/bin/safe_mysqld –language=korean & -mysql 가동
6) /usr/local/apache/bin/apachectl start -apache 가동
7) /usr/local/jakarta-tomcat/bin/startup.sh -tomcat 가동
가동을 마치셨으면 브라우저로 확인합니다.
예) http://자신의도메인 혹은 ip – apache 화면이 뜨면 성공
http://자신의도메인:8080 – tomcat 고양이가 나오면 성공