ホストはJSPとPHPを同時に運転する


単位は前のphpプロジェクトが必要ですが、ドメイン名が1つしかありません.サーバーのオペレーティングシステムはredhat 4.7で、tomcatが配置されています.やり直しも合併も不可能ですが、ホストを共用しなければなりません.apache http server、jkとtomcatで接続し、phpとmysqlをインストールすることを考えました.前後に多くの時間を費やして、やっと成功しました.
1、redhat 4.7インストールyum
    redhat 4.7デフォルトではyumがインストールされていません.yumでソフトウェアをインストールするのは確かにrpmより便利で、依存性は考慮しなくてもいいですが、パッケージが見つからない場合もあります.
    redhat 5はyumがデフォルトでインストールされています.直接構成すればいいです.
ダウンロード      yum wget http://www.parallels.com.cn/downloads/Prima/Tools/yum_forAS4.tar.gz
解凍      tar xzvf yum_forAS4.tar.gz
ディレクトリへのアクセス  cd yum_forAS4  #
インストール      rpm -ivh *.rpm
cd/etc/yum.repos.d/
vi CentOS-Base.repo

# CentOS-Base.repo
[base]
name=CentOS-4.7 - Base - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/os/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

#released updates
[updates]
name=CentOS-4.7 - Updates - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/updates/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

#additional packages that may be useful
[extras]
name=CentOS-4.7 - Extras - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/extras/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

#packages used/produced in the build but not released
[addons]
name=CentOS-4.7 - Addons - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/addons/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-4.7 - Plus - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

#contrib - packages by Centos Users
[contrib]
name=CentOS-4.7 - Contrib - mirrors.ustc.edu.cn
baseurl=http://vault.centos.org/4.7/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4

yum makecache
yumのインストールが完了し、以降yum-y install<パッケージ名>コマンドでソフトウェアをインストールできるのは便利です.
2、apache,php,mysqlをインストールする
yum -y install httpd httpd-devel php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
1つのコマンドですべてインストールします.php-mcryptこのパッケージはインストールされていません.phpMyAdminで警告があります.やはりインストールしましょう.
にある
http://rpm.pbone.net/で次のパッケージを検索します.
libmcrypt-2.5.7-5.el4.i386.rpm
php-common-5.3.10-2.el4.remi.i386.rpm
php-mcrypt-4.3.9-1.el4.i386.rpm
以上のパッケージをインストールします.
apacheプロファイルは/etc/http/confにインストールされ、WEBディレクトリに/var/www/
起動:service httpd start
停止:サービスhttp stop
mysqlサービス開始mysqld startサービス停止mysql stop
mysqlアカウントとパスワードの設定(略)
3、コンパイルインストールtomcat connectors
wget tomcat-connectors-1.2.37-src.tar.gz
cd tomcat-connectors-1.2.37-src
cd native
BUILDING.txtファイルをよく読むと、http-develパッケージにインストールされているapxsが必要です.
apxsの場所を検索し、
rpm -ql httpd-devel
...
/usr/sbin/apxs
...
実はapache http serverの実行可能ファイルはすべて/usr/sbin/ディレクトリの下に置いて、このディレクトリはPATH環境変数の中にあります.
./configure --with-apxs=/usr/sbin/apxs
make
現在のディレクトリの下にapache-1.3とapache-2.0の2つのディレクトリが生成されました.apache 2.0を使用しています.
cd apache-2.0
cp mod_jk.so /etc/httpd/modules/
4、jkを配置する.
(1)workers.propertiesプロファイルの作成
cd/etc/httpd/conf
vi workers.properties

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

(2)httpd.confの編集
「≪ロード・モジュール|Load Module|emdw≫」段落に次の行を追加します.

# Load mod_jk module
# Update this path to match your modules location
LoadModule    jk_module  modules/mod_jk.so
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile     /var/log/httpd/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile     /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount  /examples/* worker1

apacheを再起動
テスト:
tomcatのポートでアクセスでき、apacheのポートでも同じ内容にアクセスできます.
ファイアウォールを使用する場合は、loの8009ポートを開いてください.
-A INPUT -i lo -p tcp -m tcp --dport 8009 -j ACCEPT
はい、ここに置いておけば、次の配置が見つからないことはありません.