首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux 上手動部署 Apache + mod_ssl + Tomcat 3.1 + PHP (支援 Oracle) 整合環境

     編輯:Oracle 資料庫基礎

專案背景

在 RedHat Linux 6.2 上從原始碼編譯整合 Apache 1.3.12、mod_ssl 2.6.6、OpenSSL 0.9.5a、PHP 4.0.2、Tomcat 3.1、JDK 1.2.2 及 Oracle 8i Client,構建完整的 J2EE + PHP 混合應用平台。

一、 Linux 系統安裝與分區規劃

掛載點大小說明
/boot16 MB第一磁區起始 (/dev/hda1)
swap2×RAM
/1 GB
/tmp500 MB暫存檔
/usr4 GB應用程式

安裝模式選「專家模式」,手動配置網卡;選擇安裝所有套件;LILO 安裝至 MBR (單一 OS);製作開機磁碟。

二、 系統服務與 Samba 設定

1. Samba 連接 Windows 網芳

編輯 /etc/smb.conf:

workgroup = YOUR_DOMAIN
password level = 8
username level = 8
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
wins support = yes
interfaces = 192.168.1.100/24

[deploy]
comment = NDB web document root
path = /usr/local/jakarta-tomcat/webapps/deploy
writable = yes

建立 Samba 密碼:smbpasswd -a username,重啟服務:/etc/rc.d/init.d/smb restart

2. 精簡系統服務

使用 setup 或 ntsysv 關閉非必要服務 (如預設 httpd),啟用 smb,提升安全與效能。

三、 Oracle 8i Client 安裝 (Linux 版)

# cp oracle8161_tar.gz /usr/local
# tar xvzf oracle8161_tar.gz
# groupadd dba; groupadd oinstall
# useradd -G oinstall -g dba oracle
# passwd oracle

# 切換 oracle 用戶啟動 X Window 安裝
$ startx
$ /usr/local/oracle8ir2/runInstaller

配置 /etc/profile 加入 Oracle 環境變數 (ORACLE_HOME, ORACLE_SID, NLS_LANG, LD_LIBRARY_PATH 等)。

四、 Apache + PHP + OpenSSL + mod_ssl 編譯安裝

原始碼放置於 /usr/local 解壓:

# 1. OpenSSL
cd openssl-0.9.5a && ./config && make && cd ..

# 2. mod_ssl 配置 Apache 來源
cd mod_ssl-2.6.6-1.3.12
./configure --with-apache=../apache_1.3.12
cd ..

# 3. Apache 基礎配置
cd apache_1.3.12
./configure --prefix=/usr/local/apache
cd ..

# 4. PHP 編譯 (支援 Oracle OCI8)
cd php-4.0.2
CFLAGS='-O2 -I /usr/local/openssl-0.9.5a/include' \
./configure \
--with-apache=../apache_1.3.12 \
--enable-memory-limit=yes \
--enable-debug=no \
--with-oracle=/usr/local/oracle/OraHome1 \
--with-oci8=/usr/local/oracle/OraHome1 \
--enable-sigchild \
--enable-track-vars
gmake && gmake install
cd ..

# 5. Apache 整合 SSL + PHP
cd apache_1.3.12
SSL_BASE=/usr/local/openssl-0.9.5a \
./configure \
--prefix=/usr/local/apache \
--with-layout=GNU \
--enable-module=ssl \
--activate-module=src/modules/php4/libphp4.a \
--enable-shared=max --enable-module=most
make && make certificate && make install

修改 httpd.conf

取消註解:

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

五、 JDK 1.2.2 與 Tomcat 3.1 部署

# JDK
tar xvzf jdk1_2_2-linux-i386.tar.gz -C /usr/local
# 配置 /etc/profile: JAVA_HOME, CLASSPATH, PATH

# Tomcat 相關
tar xvzf jakarta-tomcat.tar.gz -C /usr/local
tar xvzf jakarta-ant.tar.gz -C /usr/local
tar xvzf jakarta-tools.tar.gz -C /usr/local

# 配置 TOMCAT_HOME, CLASSPATH (含 classes12.zip, mail.jar, activation.jar, upload.jar)
# 修改 $TOMCAT_HOME/bin/tomcat.sh 加入 CLASSPATH
# 修改 $TOMCAT_HOME/conf/tomcat.conf 設定 ApJservLogFile

六、 Apache 與 Tomcat 整合 (mod_jserv)

# 複製模組
cp mod_jserv.so /usr/local/apache/libexec/

# httpd.conf 末尾加入
include /usr/local/jakarta-tomcat/conf/tomcat-apache.conf

啟動順序 (關鍵)

  1. $TOMCAT_HOME/bin/startup.sh (先啟 Tomcat)
  2. /usr/local/apache/sbin/apachectl startssl (再啟 Apache)

測試:https://localhost/examples

七、 站點配置與自動啟動腳本

1. Tomcat Webapps 部署

cd $TOMCAT_HOME/webapps
rm -fr *
mkdir deploy
# 將應用程式放入 deploy/
# 修改 server.xml 設定 Context

2. Apache DocumentRoot 指向 Tomcat 部署目錄

DocumentRoot "/usr/local/jakarta-tomcat/webapps/deploy"
# 對應  權限設定

3. 建立開機啟動腳本 (rc3.d)

S94Tomcat:

#!/bin/sh
JAVA_HOME=/usr/local/jdk1.2.2
TOMCAT_HOME=/usr/local/jakarta-tomcat
export JAVA_HOME TOMCAT_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
/usr/local/jakarta-tomcat/bin/tomcat.sh start

S95apache (含 Oracle 環境變數):

#!/bin/sh
LD_LIBRARY_PATH=/usr/local/oracle/OraHome1/lib
NLS_LANG=JAPANESE_JAPAN.JA16SJIS
ORA_NLS33=/usr/local/oracle/OraHome1/ocommon/nls/admin/data
export LD_LIBRARY_PATH NLS_LANG ORA_NLS33
/usr/local/apache/sbin/apachectl startssl

複製至 /etc/rc.d/rc3.d/,chmod 755。

八、 Oracle Net8 客戶端配置

使用 netasst 配置連接遠端 NT 資料庫的 TNS 服務名。


結語:此架構雖屬經典版本,但完整展示了從 OS 安裝、服務精簡、資料庫客戶端、Web Server 整合、Servlet 容器部署到自動化啟動的全棧手動建置流程。現代環境建議改用 YUM/RPM 管理套件、Apache 2.4+、Tomcat 9+、PHP 8+ 及 Oracle Instant Client,並採用 Systemd 管理服務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved