>> Edit article
이름
제목
패스워드
#################################################################################################### # Oracle8iSE 8.1.6 + Apache + MySQL + Zend + GD + Freetype + Tomcat +JDBC + imap 설치하기(뺑이치기)# ##------------------------------------------------------------------------------------------------## ## musoyu.net 2001.03.13 ## # 5일동안 인터넷에 떠도는 자료와 각종 게시판의 자료 그리고 책을 참고하여 작성했당! ## # 최대한 이해가 쉽도록 나름대로 정리했슴. ## #################################################################################################### ########### 설치 환경 ################### #OS:알짜 6.2 final + WOW Linux 7.0(까치)# #셀러룬 600 RAM 256M HDD 20G # ########################################## # 설치후 하드디스크 파티션 정보 # Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda4 1391452 93120 1227648 8% / /dev/hda1 54416 11214 40393 22% /boot /dev/hda5 2096160 191776 1904384 10% /dosc /dev/hda6 2096160 1561440 534720 75% /dosd /dev/hda7 2092348 1834860 257488 88% /dose /dev/hda9 2016016 411528 1502076 22% /home /dev/hda10 2016016 531472 1382132 28% /oracle /dev/hda3 608756 45776 532056 8% /tmp /dev/hda12 2016016 1813264 100340 95% /usr /dev/hda8 2015984 310088 1603488 17% /usr/local /dev/hda11 2016016 39472 1874132 3% /var ################################ 작업에 쓰인 도구들 ##################################### # ZendOptimizer-1.0.0-PHP_4.0.4-Linux_glibc21-i386.tar.gz # apache_1.3.19.tar.gz # freetype-1.3.1.tar.gz # gd-1.8.4.tar.gz # imap.tar.Z # jakarta-tomcat-3.2.1.tar.gz # jdk-1.2.2-RC3-linux-i386.tar # jdk-debug-1.2.2-RC3-linux-i386.tar # jdk118_v3-glibc-2.1.3.tar # jsdk20-solaris2-sparc.tar.gz # mm.mysql-2.0.4-bin.jar # mod_jk.so # mod_jserv.so # mod_jserv_tomcat.so # mysql-3.23.33.tar.gz # php-4.0.4.tar.gz # Oracle 8i SE 8.1.6 (책 부록으로 나온것 사용) #################################################################################################### # 1.알짜 리눅스 6.2 에서 오라클 깔기 # 레드헷 7.0 에선 계속 실패하여 할수없이 6.2 에서 오라클을 깔고 # 나중에 7.0 으로 업그래이드 한당! ------------------------------------------------------------------------------ # JRE + ORACLE 설치하기 (오라클 8.1.6 버전 부터 jre 없이도 오라클이 설치된다. ------------------------------------------------------------------------------ #**** 오라클을 제외하고 모든 설치는 root 계정으로 한다.*****# #1) 파티션 설치환경 /oracle 2GB ( 오라클 프로그램이 설치되는 디렉토리) /home/oracle 2GB (데이타베이스가 저장될 디렉토리---오라클 계정의 홈) swap 700M (램의 3배정도를 설정했당.) #2)X윈도에서 KDE를 쓰기위해 (Gnome 환경에서도 되지만 KDE 가 잘 붙는당! # 오라클 설치후 Gnome 원하면 KDE 를 지워준다.) /etc/sysconfig/desktop 에 KDE(대문자) 를 적고 저장한다. vi /etc/sysconfig/desktop #3) 오라클 그룹/사용자 생성 (오라클 그룹: dba) groupadd dba useradd oracle -g dba passwd oracle vi /etc/group -> dba:x:5XX:에 dba:x:5XX:oracle,root 로 고친다. # /oracle 디렉토리 소유권을 oracle.dba 로 준다. chown -R oracle.dba /oracle #4) oracle 계정의 .bash_profile 에 추가할 내용( root 로긴!) vi .bash_profile 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 ORACLE_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 PATH=$PATH:$ORACLE_HOME/bin:/usr/local/jre/bin:$ORACLE_HOME:/usr/local/java/bin:/usr/local export LD_LIBRAY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib CLASSPATH=/usr/local/jre/bin:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib: umask 022 6)root 계정 환경 설정해 주기 root>#vi .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 7) oracle 계정으로 로그인후, startx를 실행 8) 오라클 설치 프로그램이 있는 디렉토리로 이동/설치 /install/linux/runInstaller ........ 중간 설치 상세 설명 생략 ........ group -> dba ........ Global Data Base Name -> ORCL ........ Directory for DataBase Files -> /home/oracle ........ 설치 도중 root권한으로 실행해야 하는 것들이 있음을 기억. ........ orainstRoot.sh root.sh 설치중 root 로 로그인 해서 실행해줘야한다. su 사용 ........ 최종적으로 설치완료가 되면 아래와 같은 내용의 작은 창 정보가 나온다. # [데이터베이스가 생성되었습니다.] # <<데이터베이스 정보>> # 전역 DB명 : oracle # DBMS 식별자(SID): ORCL # SYS 계정 암호: change_on_install # SYSTEM 계정 암호: manager # 오라클을 실행해본당..! #먼저 oracle계정으로 접속해야 한다는 것을 잊지마용! svrmgrl connect internal; startup; quit lsnrctl start SQL> alter user system identified by abc; [Enter] SQL> grant connect, resource to system; SQL> alter user sys identified by 123; [Enter] SQL> exit * 사용자 등록 [oracle@baram bin]$ sqlplus [Enter] Enter user-name: system[Enter] Enter password: manager[Enter] SQL>connect internal SQL>create user 사용자ID indentified by 사용자passwd [Enter] >default tablespace users [Enter] >temporary tablespace temp [Enter] >quota unlimited on users; [Enter] completed SQL>grant connect to 사용자ID SQL>select * from tabs; #=>잘 돌아 간다면 <B><U>오라클</U></B>을 shutdown하고 나머지 설치에 들어간다. #알짜 6.2 에서 와우 7.0 으로 업그레이드 할려구 합다. #rpm 으로 설치 되어 있는 중요 페키지를 삭제 한후 7.0으로 업그레이드 함다. # 7.0 업그레이드 # imap 설치 ftp://ftp.cac.washington.edu/imap/ #rpm -qa | grep imapl 설치된 imap 패키지를 검색한다. imap-2000-3 imap-devel-2000-3 rpm -e imap-devel rpm -e imap imap.tar.Z ]# tar zxvf imap.tar.Z ]# mv imap /usr/local/imap ]# cd /usr/local/imap imap# make slx imap을 컴파일 한다 컴파일이 완료되면 imapd 디렉토리에 imapd가 ipopd디렉토리에는 ipop2d, ipop3d가 생성된다. ipop2d는 잘 쓰지 않으므로 복사하지 않아도 된다. imap# cp imapd/imapd /usr/sbin 생성된 실행화일들을 복사한다. imap# cp ipopd/ipop3d /usr/sbin 이들은 xinetd 슈퍼데몬에 의해서 실행되므로 클라이언트 쪽에서 접속하여 사용할 수 있도록 하려면 환경설정을 수정해 주어야 한다. 배포판 레드햇6.2이하에서는 inetd 슈퍼데몬에 의해 실행되므로 환경설정이 조금 다르다. ]# cd /etc/xinetd.d ]# vm imapd #imapd 실행을 위한 환경설정화일을 생성시킨다. service imap { disable = no socket_type = stream wait = no user = root server = /usr/sbin/imapd log_on_success += DURATION USERID log_on_failure += USERID } ]# vm ipop3d service pop3 { disable = no socket_type = stream wait = no user = root server = /usr/sbin/ipop3d log_on_success += USERID log_on_failure += USERID } ]# vim /etc/services ...... pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 ...... imap2 143/tcp imap # Interim Mail Access Proto v2 imap2 143/udp imap ...... ]# /etc/rc.d/init.d/xinetd restart 슈퍼데몬을 재가동한다. Stopping xinetd: [ OK ] Starting xinetd: [ OK ] telnet을 이용하여 로컬호스트 110포트(pop3)로 접속하여 테스트한다. [root@www xinetd.d]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. +OK POP3 localhost.localdomain v2000.70 server ready user mhbaek +OK User name accepted, password please pass abc123 +OK Mailbox open, 0 messages quit +OK Sayonara Connection closed by foreign host. IMAP은 기본적으로 143 포트를 사용한다. imap>cp /usr/local/imap/c-client/c- client.a /usr/lib/libc-client.a imap> mkdir /usr/local/include imap> cp /usr/local/imap/c-client/mail.h /usr/local/include imap> cp /usr/local/imap/c-client/rfc822.h /usr/local/include imap> cp /usr/local/imap/c-client/linkage.h /usr/local/include # 위의 파일들을 카피하는 것은 아파치 컴파일시 아파치가 # IMAP을 인식하여 사용할 수 있도록 하기 위한 파일입니다. # 위의 파일들을 카피하지 않은면 아파치 컴파일시 에러가 납니다. # IMAP 설치 끝. # jdk 설치 http://java.sun.com *jdk 가 설치되어야 톰켓에서 서블릿 가동 가능! tmp>tar xvf jdk-1.2.2-RC3-linux-i386.tar tmp>tar xvf jdk-debug-1.2.2-RC3-linux-i386.tar tmp>mv ./jdk1.2.2/ /usr/local/jdk1.2.2/ tmp>ln -s /usr/local/jdk1.2.2 java vi /etc/profile 하시고.. PATH="$PATH:/usr/local/java/bin" export JAVA_HOME="/usr/local/java" export CLASSPATH="." (저장후 종료) 잘 되었는지 확인방법은 다시 로그인 하신후에 java -version 해본다. #3. jsdk 설치 http://java.sun.com tmp>tar xvzf jsdk20_solarise2-sparc.tar.gz tmp>mv ./JSDK2.0/ /usr/local/JSDK2.0/ JSDK2.0>ln -s /usr/local/JSDK2.0 JSDK cd (root의 home으로 이동) root>#vi .bash_profile(아래부분에 추가) export PATH=/usr/local/JSDK/bin:$PATH vi /etc/profile 추가 PATH="$PATH:/usr/local/JSDK" export CLASSPATH=".:/usr/local/JSDK/lib/jsdk.jar" (저장후 종료) # mysql 설치 http://www.mysql.com tmp>#tar xvzf mysql-3.23.33.tar.gz tmp>mv ./mysql-3.23/ /usr/local/mysql/ tmp>#cd mysql mysql>#./configure --prefix=/usr/local/mysql --with-char=euc_kr mysql>#make; make install mysql>#./bin/mysql_install_db # DB 생성 mysql>#./bin/safe-mysqld & # MySQL 시작 mysql>#./bin/mysqladmin -u root password 'new-password' ('new-password' 는 자신의 고유 password) #root 패스워드 분실시 방법: ./killall mysqld (데몬을 모조리 죽임) ./bin/safe_mysqld --skip-grant & mysql> UPDATE user SET Password=PASSWORD('newpasswd') WHERE user='root'; mysql> FLUSH PRIVILEGES; #시스템 부팅시 자동으로 시작하기 vi /etc/rc.d/rc.local --------적당한 곳에 다음을 추가 /bin/sh -c 'cd /usr/local/mysql;./bin/safe_mysql &' # PATH 지정 vi /etc/profile 수정 PATH="$PATH:usr/X11R6/bin:/usr/local/mysql/bin" # GD Library설치 http://boutell.com/gd tmp>#tar xvzf gd-1.8.4.tar.gz tmp>#mv ./gd1.8/ /usr/local/gd tmp>#cd /usr/local/gd gd>#make all gd>#cp libgd.a /usr/local/lib/ gd>#cp *.h /usr/local/include # freetype 설치 tmp>#tar xvzf freetype_1.3.1.tar.gz tmp>#mv ./freetpye_1.3.1/ /usr/local/freetype/ tmp>#cd /usr/local/freetype freetype>#./configure freetype>#make; make install # PHP 설치 # (아파치를 먼저 configure시켜준다) tmp>#tar xvzf apache_1.3.19.tar.gz tmp>mv ./apache_1.3.19/ /usr/local/apache/ tmp>#cd apache apache>#./configure --prefix=/usr/local/apache tmp>#tar xvzf php-4.0.4.tar.gz tmp>mv ./php-4.0.4/ /usr/local/php/ tmp>#cd php 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=/usr/local/apache --with-freetype=/usr/local/freetype --with-imap=/usr/local/imap --enable-sigchild <== #오라클과 연동시 중요한 옵션! --with-language=korean --with-charset=euc_kr --with-config-file=/usr/local/lib --with-track-vars --disable-debug php>#make; make install #8. apache설치 tmp>tar zxvf apache_1.3.19.tar.gz tmp>mv ./apache_1.3.19/ /usr/local/apache/ tmp>#cd /usr/local/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) apache>#make; make install # 부팅시 자동으로 아파치 실행하기 : vi /etc/rc.d/rc.local /usr/local/apache/bin/apachectl start # 추가 # ZendOptimizer설치 http:/www.php.org tmp>#tar xvzf ZendOptimizer-1.0.0-PHP_4.0.4-Linux_glibc21-i386.tar.gz tmp>#cd ZendOptimizer ~~~ Zend~>#mkdir /usr/local/Zend Zend~>#mkdir /usr/local/Zend/lib Zend~>#cp ZendOptimizer.so /usr/Zend/lib/ Zend~>#cp /usr/local/php php>#cp php.ini-dist /usr/local/lib/php.ini php>#vi /usr/local/lib/php.ini (아래부분에 3줄 추가) [Zend Optimizer] Zend_optimizer.optimization_level=7 Zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" # jakarta tomcat 설치 #http://jakarta.apache.org 에서 jakarta-tomcat-3.2.1.tar.gz 랑 mod_jserv.so 다운 tmp>#tar xvzf jakarta-tomcat-3.2.1.tar.gz tmp>#mv ./jakarta-tomcat-3.2.1/ /usr/local/jakarta-tomcat tmp>#mv mod_jserv.so /usr/local/apache/libexec tmp>#vi /usr/local/apache/conf/httpd.conf # mod_jserv.so 는 아파치와 톰켓이 서로 통신하도록 하는 소프트웨어이당. # 서로 사용하는 포트는 톰켓쪽을 위해 server.xml, 아파치 쪽에 tomcat.conf 에 # 설정되어있다. 그리고 서로 일치해야한다.디폴트로 8080 이다. #(아래부분 추가) Include /usr/local/jakarta-tomcat/conf/tomcat.conf # httpd.conf아래 부분에 "#"지우고 수정 1) ServerName localhost 2) AddType appliation/x-httpd-php .php .php3 .php4 .PHP .html .htm 3) Addtype text/htm .shtml AddHandler Server-parse .shtml tmp>#vi /usr/local/apache/bin/apachectl (맨 첫줄에 아래부분을 추가한다.) 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 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data tmp>#vi /usr/local/jakarta-tomcat/bin/startup.sh(아래부분에 다음 2줄 추가) TOMCAT_HOME='/usr/local/jakarta-tomcat' JAVA_HOME='/usr/local/java' tmp>#vi /etc/profile(아래의 설정부분을 보시고 빠진 부분이 있다면 추가하세요) export JAVA_HOME="/usr/local/java" export CLASSPATH="." export="$PATH:/usr/local/JSDK" export CLASSPATH=".:/usr/local/JSDK/lib/jsdk.jar" export TOMCAT_HOME="/usr/local/jakarta-tomcat" export CLASSPATH=$CLASSPATH:/usr/local/jakarta-tomcat/lib/servlet.jar export CLASSPATH="$CLASSPATH:.:/usr/local/java/jdbc/mm.mysql-2.0.4-bin.jar" #tomcat 실행하기 tmp>#cd /usr/local/jakarta-tomcat/bin jakarta-tomcat>#./startup.sh "/usr/local/apache/bin" 으로 가서 아파치를 가동시킨다. # 웹브라우저에서 <http://localhost:8080/> 확인. # 고양이가 나타나면 성공 ########################################################## # 오라클과 PHP 연동시 문제해결......... # ########################################################## # oracletest.php ---오라클과 php 연동 테스트... <html> <body> <?php $conn = ocilogon("scott","tiger","XXXXXXXXXX"); # XXXXXXX 로컬 오라클 인스턴스이름 또는 print "Server Version:".OCIServerVersion($conn); # 접속 가능한 tnsnames.ora 의 엔트리이름 OCILogOFF($conn); #을 명시해준다.(중요!) ?> #아래 참조... </body> </html> # 결과는 브라우저로 보았을때 정보가 나오면 정상! # phpinfo.php <?php phpinfo(); ?> # cat /oracle/app/oracle/products/8.1.6/network/admin/listener.ora ----------------------------------------------------------------------------------------------- # LISTENER.ORA Configuration File:/oracle/app/oracle/products/8.1.6/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 자기호스트이름)(PORT = 1521)) ) ) (DESCRIPTION = (PROTOCOL_STACK = (PRESENTATION = GIOP) (SESSION = RAW) ) (ADDRESS = (PROTOCOL = TCP)(HOST = 자기호스트이름)(PORT = 2481)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/app/oracle/products/8.1.6) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /oracle/app/oracle/products/8.1.6) (SID_NAME = ORCL) ) ) ------------------------------------------------------------------------------------------------ # cat /oracle/app/oracle/products/8.1.6/network/admin/tnsnames.ora ----------------------------------------------------------------------------------------------- # TNSNAMES.ORA Configuration File:/oracle/app/oracle/products/8.1.6/network/admin/tnsnames.ora # Generated by Oracle configuration tools. EXTPROC_CONNECTION_DATA.MUSOYU.NET = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) ######### = ######로 표시된 부분이 엔트리 이름!!! (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXXXXXXXXX)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) ) ------------------------------------------------------------------------------------------------- # vi /usr/local/apache/bin/apachectl 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 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data # 6줄을 맨 위에 추가해준다. #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #!! 위 두 파일에서 나오는 포트가 사용 가능한지 /etc/service 파일을 참고한다. #주석제거 혹 포트 추가. # php.ini 편집 vi /usr/local/lib/php.ini magic_quotes_gpc = On magic_quotes_runtime = Off magic_quotes_sybase = On include_path = .:/usr/local/lib upload_tmp_dir = /tmp # 시스템 부팅시 연결 작동 순서 #오라클 시작 1) oracle 계정으로 로긴=>데이터베이스 기동 # svrmgrl 2) connect internal; 3) startup; 4) quit #오라클 종료 1) oracle 계정으로 로긴=>데이터베이스 기동 # svrmgrl 2) connect internal; 3) showdown; 4) quit #원격 디비 시작 1) lsnrctl start <listener_name> # listener.ora 참조 # 오라클 => MySQL => 톰켓 => 아파치 순으로 시작한당! #오라클 확인 ps -auwx | grep ora 휴~~~~~~~~힘들다...이틀동안 오라클을 깐다고 뺑이치고 하루는 PHP 와 연동시킨다고....흐.... 그러다 보니 닷새동안 이러구있다...그래도 인터넷에 있는 자료 참고해서 설치는 했는데... 나중을 위해서 나름대로 정리했당. 공유한당.모르는게 죄다. 특히 오라클과 PHP 연동 부분은 자료가 넘 없었당. 물론 인터넸 게시판에도 나와 같은 문제땜에 질문이 넘치던데... 아뭏튼 누군가에게 필요했으면 좋겠당......아침이다..뻐근해....yss75--리눅스
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved