Username: Password:

RedHat AS2.1下Apache2.0.49+php4.3.6+oracle9.2.0的安装
来源:ChinaUnix.net作者:ChinaUnix.net 发布时间:2005-09-13 17:27:00


RedHat AS2.1下Apache2.0.49+php4.3.6+oracle9.2.0的安装
所需程式包
ship_9204_linux_disk1.cpio.gz ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz httpd-2.0.49.tar.gz php-4.3.6.tar.gz binutils-2.10.91.0.2-3.i386.rpm jre118_v3-glibc-2.1.3.tar.gz  jdk118_v3.tar.gz env_ctx.mk

一.Oracle的安装
1).确认您已安装了以下兼容包:
#rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
#rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
#gunzip ship_9204_linux_disk1.cpio.gz ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz
#cpio ?idvm #vi /etc/sysctl.conf
kernel.shmmax=536870912(我的内存为512M)
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65535
net.ipv4.ip_local_port_range=1024 65000
#groupadd dba
#groupadd oinstall
#useradd ?g oinstall ?G dba oracle
#passwd oracle
#vi /home/oracle/.bash_profile

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
export LD_ASSUME_KERNEL=2.2.5
export LDEMULATION=elf_i386_glibc21
export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=jackylau
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
umask 022
#mkdir ?p /home/oracle/product/9.2.0
#chown ?R oracle.oinstall /home/oracle
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
重启
以oracle用户进入系统
#tar zxvf glibc-2.1.3-stubs.tar.gz
#cp setup_stubs.sh /home/oracle
#./setup_stubs.sh
#tar zxvf jdk118_v3.tar.gz
#mv jdk118_v3 /usr/local
#ln ?s /usr/local/jdk118_v3 /usr/local/java
#tar zxvf jre118_v3-glibc-2.1.3.tar.gz
$./Disk1/runInstaller
第一个错误信息:Error in invoking target install of makefile
/home/oracle/product/9.2.0/ctx/lib/ins_xt.mk
这就是env_ctx.mk的过错,新开一个konsole窗口,把下载的env_ctx.mk copy 到$ORACLE_HOME/ctx/lib/目录下,然后Retry。
第二个错误信息:stubs/libc.so.tmp
#mkdir $ORACLE_HOME/lib/stubs
#cp /usr/lib/libc.so $ORACLE_HOME/lib/stubs/libc.so.tmp
可能会在装完数据库后在做dbca之类时失败
#killall jre
#cp jre118_v3 $ORACLE_HOME
#ln ?s jre118_v3 JRE
$dbca
二.装apache+php
!)把系统安装盘的第二张拿过来
#mount /dev/cdrom;cd /mn/cdrom
#cd RedHat/RPM
#rpm ?vUh  binutils
#tar zxvf httpd-2.0.49.tar.gz 
#tar zxvf php-4.3.6.tar.gz
#cd httpd-2.0.49
#./configure ?prefix=/usr/local/apache ?enable-so;make;make install
#cd 
#cd php-4.3.6
#./configure --prefix=/usr/local/apache/php 
--with-apxs2=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/apache/php
--enable-sockets 
--with-oracle=/home/oracle/product/9.2.0 --with-oci8=/home/oracle/product/9.2.0
--enable-shared-pdflib 
--with-pdflib=/usr/local/
--with-freetype-dir=/usr/ --with-jpeg-dir=/usr/ --with-png-dir=/usr/ --with-zlib --enable-track-vars
#make;make install
#cp php.ini-dist /usr/local/apache/php/php.ini
#vi /usr/local/apache/php/php.ini#vi /usr/local/httpd/conf/httpd.conf
假如里面没有AddType application/x-httpd-php .php 
AddType application/x-httpd-php-source .phps
就在相应的位置加上。
DirectoryIndex index.php index.shtml index.html index.htm
User oracle
Group dba
#vi /usr/local/apache/php/php.ini
register_globals = On
disable_functions = phpinfo
创建自启动脚本
1) apache
#vi /bin/start_apache

#!/bin/sh
ORACLE_HOME=/home/oracle/product/9.2.0
ORACLE_SID=jackylau
export ORACLE_HOME ORACLE_SID
echo "Oracle Home: $ORACLE_HOME"
echo "Oracle SID:  $ORACLE_SID"
echo Starting Apache
/usr/local/apache/bin/apachectl start

#chmod 755 /bin/start_apache
#ln ?s /bin/start_apache /etc/rc3.d/S99httpd
2) oracle
#vi /etc/rc3.d/S99orastart 
su - oracle -c "dbstart"
su - oracle -c "lsnrctl start"
#chmod 755 /etc/rc3.d/S99orastart

 feiyi 回复于:2004-08-22 19:16:45
我的是前面用的还很好,不知怎么的,今天就连不ORACLE服务器了,但是用同样的信息在sqlplus都是能够的

Warning: Unable to connect to ORACLE (Error while trying to retrieve text for error ORA-01019) in /var/www/sites/test.php on line 2
Can’t connect to db

 peng 回复于:2004-08-23 00:07:38
hedhat as2。1无需打oracle9的patch吗?

http://bbs.chinaunix.net/forum/viewtopic.php?t=389763&highlight=peng

 jackylau 回复于:2004-08-23 14:15:41
无需呀,只是把那个binutils-2.10.91.0.2-3.i386.rpm 搞一下,后面的一些agent出错,agent一般用不到吧?

 LEOD 回复于:2004-08-24 00:07:29
我都是
1.降级binutils
2.打补丁
3.$ cd /oracle/product/9.2.0/ctx/lib 
$ vi env_ctx.mk 
##在大约1364行附近,INSO_LINK变量末尾加上“$(LINKLDLIBS)”,现在,他看起来象这个样子
就没什么错误了

 feiyi 回复于:2004-08-24 00:12:12
补丁是打的, 还需要在PHP里最好设上环境变量

putenv("ORACLE_BASE=/opt/oracle");
putenv("ORACLE_HOME=/opt/oracle/product/9.2.0"); 
putenv("ORACLE_SID=game"); 
putenv("ORACLE_TERM=xterm");
putenv("JAVA_HOME=/usr/local/java/");
putenv("TNS_ADMIN=/opt/oracle/product/9.2.0/network/admin");
putenv("NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"); 
putenv("TNS_ADMIN=/opt/oracle/product/9.2.0");
putenv("ORA_NLS33=/opt/oracle/product/9.2.0/ocommon/nls/admin/data");
putenv("LD_LIBRARY_PATH=/opt/oracle/product/9.2.0/lib:/lib:/usr/lib:/usr/local/lib");

 feiyi 回复于:2004-08-24 00:13:58
但是我现在还没有一个更头痛的问题:

Warning: ociexecute(): OCIStmtExecute: ORA-03106: fatal two-task communication protocol error in /var/www/sites/Oracle.lib.php on line 139
DEBUG: SELECT * FROM system_log 

原因是这个结果里有中文,就会出错,不知应该怎么办了,我们又不能不让数据库库里没有中文吧!

 peng 回复于:2004-08-25 11:52:33
to 楼主:没有打补丁,您的环境投入生产了吗?

 jackylau 回复于:2004-08-25 14:02:31
[quote:a6c3b17788="peng"]to 楼主:没有打补丁,您的环境投入生产了吗?[/quote:a6c3b17788]
#rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm

 peng 回复于:2004-08-26 09:23:04
[quote:a665d112c0="jackylau"]
#rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm[/quote:a665d112c0]

呵呵,可能我没有说明白。我是说这个patch。
http://otn.oracle.com/products/ias/ohs/htdocs/ociheaders.tar 

oracle网站上说,假如没有打,可能编译没有问题,但是使用的时候,程式会报错。

因为我测试的是redhat9的版本,不知道as2。1是不是无需了。。

 jackylau 回复于:2004-08-30 17:10:31
呵呵,反正我的AS2.1是无需了哟!

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅