FreeBSD/2つの環境共存 の変更点
*Apache1+PHP4+MySQL4、Apache2+PHP5+MySQL5共存 [#b38414ac]
「Apache1+PHP4+MySQL4」と「Apache2+PHP5+MySQL5」の2つの環境を共存させて
特定URLであれば、8080ポートに飛ばす。
#contents
**イメージ図 [#h4e33800]
&ref(http://ma21.ath.cx/images/kyouzon/kyouzon.jpg);
*「Apache2+PHP5+MySQL5」環境構築 [#b871787e]
**Apache2.2インストール [#db1e3cd1]
mod_proxyを使えるようにオプションを加える。
$ tar zxvf httpd-2.2.11.tar.gz
$ cd httpd-2.2.11
$ ./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-rewrite=shared \
--enable-ssl \
--enable-speling=shared \
--enable-proxy=shared \
--enable-proxy-http=shared
$ make
# make install
**MySQL5インストール [#bedc7a74]
$ tar zxvf mysql-5.0.83.tar.gz
$ cd mysql-5.0.83
$ ./configure \
--prefix=/usr/local/mysql5 \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--localstatedir=/home/mysql5/data \
--with-unix-socket-path=/tmp/mysql5.sock \
--with-tcp-port=3306
$ make
# make install
***MySQL5ユーザ作成 [#tebf45fe]
pw groupadd mysql5
pw useradd mysql5 -g mysql5 -d /usr/local/ -s /usr/sbin/nologin
***設定ファイルのコピー[#s5cf8627]
# cp support-files/my-medium.cnf /etc/my5.cnf
# cp support-files/mysql.server /usr/local/etc/rc.d/mysql5.sh
# chmod 755 /usr/local/etc/rc.d/mysql5.sh
***起動スクリプト修正 [#hefc3407]
起動部分に「--defaults-file=/etc/my5.cnf」を追加
# vi /usr/local/etc/rc.d/mysql5.sh
327 $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
↓
327 $bindir/mysqld_safe --defaults-file=/etc/my5.cnf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
***MySQL5起動 [#cce2aff4]
# /usr/local/etc/rc.d/mysql5.sh start
**PHP5インストール [#yd098f2c]
$ tar zxvf php-5.2.10.tar.gz
$ cd php-5.2.10
$ ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--prefix=/usr/local/php5 \
--with-mysql=/usr/local/ \
--enable-cli \
--enable-pear \
--with-tsrm-pth \
--with-gd --with-zlib \
--with-freetype-dir=/usr/local \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--enable-force-cgi-redirect \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-trans-sid \
--enable-versioning \
--enable-gd-native-ttf \
--enable-gd-jis-conv
$ make
# make install
***php.iniのコピー [#gf6c97f5]
# php.ini-dist /usr/local/php5/lib/php.ini
# cp php.ini-dist /usr/local/php5/lib/php.ini
***httpd.confに追加 [#v47ee46f]
AddType application/x-httpd-php .php
*「Apache1+PHP4+」の環境構築 [#d56a164f]
**Apache1.3インストール [#gd2f19e5]
$ tar zxvf apache_1.3.41.tar.gz
$ tar zxvf mod_ssl-2.8.31-1.3.41.tar.gz
$ ./configure \
--prefix=/usr/local/apache \
--with-apache=../apache_1.3.41 \
--enable-shared=ssl \
--enable-module=ssl \
--with-ssl=/usr \
--enable-module=so \
--enable-module=rewrite \
--enable-shared=rewrite \
$ cd ../apache_1.3.41
$ make
$ make certificate
# make install
***ポートの変更 [#u77f3baa]
# /usr/local/apache/conf/httpd.conf
Listen 80 → Listen 8080
**MySQL4インストール [#b6ba07ff]
&color(Red){※MySQL5の方とは、ポートとsocketを変えておく。};
$ tar zxvf mysql-4.1.22.tar.gz
$ cd mysql-4.1.22
$ ./configure \
--prefix=/usr/local/mysql4 \
--with-charset=ujis \
--with-extra-charsets=all \
--with-mysqld-user=mysql4 \
--without-bench \
--localstatedir=/home/mysql4/data \
--with-unix-socket-path=/tmp/mysql4.sock \
--with-tcp-port=3307
$ make
# make install
***MySQL4ユーザ作成 [#ta3911ac]
pw groupadd mysql5
pw useradd mysql4 -g mysql4 -d /usr/local/ -s /usr/sbin/nologin
***設定ファイルのコピー [#jb41f68c]
# cp support-files/my-medium.cnf /etc/my4.cnf
# cp support-files/mysql.server /usr/local/etc/rc.d/mysql4.sh
# chmod 755 /usr/local/etc/rc.d/mysql4.sh
***起動スクリプト修正 [#v62820a3]
起動部分に「--defaults-file=/etc/my4.cnf」を追加
# vi /usr/local/etc/rc.d/mysql4.sh
327 $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
↓
327 $bindir/mysqld_safe --defaults-file=/etc/my4.cnf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
**PHP4インストール [#jf2aafee]
$ tar zxvf php-4.4.9.tar.tar
$ cd php-4.4.9
$ ./configure \
--prefix=/usr/local/php4 \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstring \
--enable-mbstr-euc-trans \
--with-pgsql=/usr/local/pgsql7 \
--with-mysql=/usr/local/mysql4 \
--with-jpeg-dir=/usr/local \
--with-tiff-dir=/usr/local \
--with-png-dir=/usr/local \
--with-zlib=/usr \
--with-t1lib=/usr/local \
--with-curl=/usr/local \
--with-freetype-dir=/usr/local \
--enable-gd-jis-conv \
--with-gd --with-dom
$ make
# make install
***php.iniのコピー [#f8424163]
# php.ini-dist /usr/local/php4/lib/php.ini
# cp php.ini-dist /usr/local/php4/lib/php.ini
***httpd.confに追加 [#ke99bd0c]
AddType application/x-httpd-php .php
*リバースプロキシの設定(Apache2側) [#yed15933]
「内部から外部へのアクセスを中継する」動作と反対であることが「リバース」の由来であると言われている。
この設定で、「php4.matsui.net」にアクセスすると、「http://127.0.0.1:8080」にアクセスできる。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
#Deny from all
#Allow from .your_domain.com
</Proxy>
</IfModule>
<VirtualHost *:80>
ServerName php4.matsui.net
ProxyPass / http://php4.matsui.net:8080/
ProxyPassReverse / http://php4.matsui.net:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName php44.matsui.net
ProxyPass / http://php44.matsui.net:8080/
ProxyPassReverse / http://php44.matsui.net:8080/
</VirtualHost>
***Apache再起動 [#pc5ac7a9]
# /usr/local/apache2/bin/apachectl restart