MacOSXにApache2.2とMySQL5.0とPHP5.2をインストール

 Mac-mini (MacOS X 10.4.9)にウェブ・サーバ関連のアプリケーションをインストールしてみました。自分でもすぐに忘れてしまうので、手順を書き残しておくことにしました。Intel Macは初めてでした。(4/14/2007)


1、Apache 2.2.4をインストール。
 MacOSXにはApache 1.3が予めインストールされているので、システム環境設定で「パーソナルWeb共有」をオンにするだけで、httpdサーバが動いてしまうという実に便利な環境なのですが、フォルダ(ディレクトリ)の配置が独特でどうも判りにくい。どこに何があるのか今一つよく把握できない、ということで、Apache 2.2.4をインストールしてみました。

 ここからApache 2.2の最新版のUnix Sourceファイルをダウンロード。デスクトップにでも置いて展開。ターミナルで入って、./configure --> make --> make installで呆気なく/usr/local/apache2以下にhttpdサーバが配置されました。/usr/local/apache2/bin/apachectl startののち、http://localhost/を見て表示画面を確認。

 次に本体を起動したときに、自動的にApacheも動き出すように設定しました。
 /Library/StartupItemsの中にApache2というフォルダを作り、

#!/bin/sh

##
# Apache2 HTTP Server
##

. /etc/rc.common

StartService ()
{
  echo "Starting Apache2 web server"
  /usr/local/apache2/bin/apachectl start
}

StopService ()
{
  echo "Stopping Apache2 web server"
        /usr/local/apache2/bin/apachectl stop
}

RestartService ()
{
  echo "Restarting Apache web server"
  /usr/local/apache2/bin/apacectl restart
}

RunService "$1"
という内容のApacheというファイルを作って置き、さらに、
{
  Description     = "Apache2 web server";
  Provides        = ("Web Server");
  Uses            = ("Disks", "NFS");
}
という内容のStartupParameters.plistというファイルもそこに置きました。これで一応起動時に自動的にApache2がスタートするようになりました。

 次に、ユーザーディレクトリを有効にする作業をしました。これが前とちょっと違っていて、思わぬところで戸惑いました。まず、
/usr/local/apache2/conf/httpd.conf

# User home directories
# Include conf/extra/httpd-userdir.conf
の#を外して、
# User home directories
Include conf/extra/httpd-userdir.conf
とする。それから、
conf/extra/httpd-userdir.conf
の中をMacOSXの設定に合わせて、

UserDir Sites



とする。安全のために
UserDir disabled root
と書いておいた方がいいらしい。これでユーザディレクトリが有効になり、http://xxx.xxx.xxx/~user/で、ユーザディレクトリの中身が表示されるようになります。安全のために「UserDir disabled root」というのも書き加えておいた方がいいようです。

2、MySQL 5.0.37をインストール
 MySQL 5.0ダウンロードサイトから下の方にあるSource downloadsのCompressed GNU TAR archive (tar.gz)をダウンロード。

./configure 
--prefix=/usr/local/mysql 
--with-charset=utf8 
--with-extra-charsets=all 
--with-mysqld-user=mysql
として(本当は一行で書く)、続いてmake、make installとやってみるとすんなりインストールできました。システムを起動したときに自動的にスタートさせるために、support-filesというフォルダの中のMacOSXというフォルダの中から MySQLCOMとStartupParameters.plistを/Library/StartupItems/MySQLCOMの中へとコピー(なかったらフォルダは自分で作る)。次に、.mysqlフォルダの中にsupport-filesというフォルダを作り、先ほどのsupport- filesから、以下のファイルを新たに作ったsupport-filesの中へコピーしました。この中のmysql.serverを起動スクリプトは呼びにくるようです。mysql.serverとmysql-log-rotateに実行権を与えておきました。
magic
my-huge.cnf
my-innodb-heavy-4G.cnf
my-large.cnf
my-medium.cnf
my-small.cnf
mysql.server
mysql.spec
mysql-4.1.9.spec
mysql-log-rotate
MySQL-shared-compat.spec
 それから、コンパイルしたときにできたsupoort-files/MacOSXの中にあるStartupItem.postinstallを実行させました。すると、/etc/hostconfigの中にMYSQL=-YES-という行が書き加えられます。もし-NO-という行がすでにあったら、これがYESに書き換えられるのだと思います。このスクリプトを使わなくても、エディタで書き換えてもいいのでしょう。

3、php 5.2.1をインストール。
 PHPのダウンロードサイトから5.2.1のComplete Source Codeをダウンロードし、デスクトップで展開。

./configure --prefix=/usr 
--with-apxs2=/usr/local/apache2/bin/apxs 
--with-mysql=/usr/local/mysql 
--enable-trans-sid 
--with-iconv 
--enable-mbstring 
--enable-mbregex 
--enable-mbstr-enc-trans 
--enable-send-myltibyte 
--with-mcrypt=/opt/local 
--with-gd 
--with-jpeg-dir=/opt/local 
--with-png-dir=/opt/local 
--with-zlib-dir=/opt/local 
--with-ttf=/usr/local 
--with-freetype-dir=/opt/local 
--with-t1lib=/opt/local 
--enable-gd-native-ttf  
--with-mysqli
としてみました(本当は改行なしで書く)。グラフを表示するために画像関係のgd以下を設定しています。/opt/localに入っているのはみなMacPortを使ってインストールしたもの。mcryptはphpMyAdminが入れろというので。特に問題なくインストール終了。その後に、httpd.confに

  AddType application/x-httpd-php .php

と追加。info.phpを作って見慣れた現状表示のページが出たので成功と判断しました。
--------
*随分前の話ですが、5.0.1をインストールしたときは、makeの段階で、
ld: unknown flag: -export-symbols
make: *** [libs/libphp5.bundle] Error 1
といふエラーが出てしまったので、Makefileの該当行で、そのフラグを指定してゐるところを、
EXTRA_LDFLAGS = -L/usr/local/mysql/lib
と変へて、makeするとエラーが出ずに終了しました。5.0.3以降ではこのやうな現象は見られませんでした。

--------
 今はもうTomcatを私は使っていません。以下の情報は数年前の古いものです。

5、Tomcat 5.0.28をインストール。  TomcatのホームページからBinariesダウンロードページへ入って、Tomcat 5.0.28のファイルをダウンロード。展開して、/usr/localの下に配置するだけ。フォルダ名が長いので、tomcat5にシンボリックリンクを張りました(いや、フォルダ名をtomcat5に変更したのだったか? どちらでも大差ないけど)。http://localhost:8080/で変な猫のゐるページが表示されたので問題なしと判断しました。
 Tomcat 5.0の起動用ファイルを作って/Library/StartupItems/tomcat5に配置。一つ目は、

#!/bin/sh

. /etc/rc.common

StartService(){
  if [ "${TOMCAT:=-NO-}" = "-YES-" ];then
    ConsoleMessage "Starting tomcat5"
    export JAVA_HOME=/Library/Java/Home
    export CATALINA_HOME=/usr/local/tomcat5
    export CATALINA_BASE=/usr/local/tomcat5
    export CATALINA_TMPDIR=/usr/local/tomcat5/temp
    $CATALINA_HOME/bin/startup.sh
  fi
}

StopService(){
  ConsoleMessage "Stopping tomcat5"
  export JAVA_HOME=/Library/Java/Home
  export CATALINA_HOME=/usr/local/tomcat5
  $CATALINA_HOME/bin/shutdown.sh
}

RestartService(){
  if [ "${TOMCAT:=-NO-}" = "-YES-" ];then
    ConsoleMessage "Restarting tomcat5"
    StopService
    StartService
  fi
}

RunService "$1" 
といふ中身にtomcat5といふファイル名を付けて、実行権を与へ、二つ目は、
{
  Description	= "tomcat5";
  Provides	= ("tomcat5");
  OrderPreference="None";
  Messages = 
  {
    start = "Starting tomcat5";
    stop  = "Stopping tomcat5";
  };
}
といふものにStarupParameters.plistといふ名前を付けて、共にtomcat5の中へ。あと、hostconfigファイルにtomcatについて一行追加。再起動したら、ちゃんとtomcatが動いてゐたので、よしとしました。

6、TomcatとApacheを連携させる。  先程、Tomcat5をダウンロードしたThe Apache Jakarta Projectのダウンロードサイトから、今度はTomcat Web Server ConnectorsのJK 2のSourceをダウンロード。私がダウンロードしたのは、JK 2 2.0.4でした。デスクトップに展開して、

./configure 
--with-apxs2=/usr/local/apache2/bin/apxs 
--with-tomcat50=/usr/local/tomcat5
としてみた(本当は一行で書く)のですが、libaprが見つからないといふエラーが出てしまひます。aprをインストールしてみたりしたのですが、関係なく(apache2.0では不要なのです)、やうやくここで解決法を見つけて、/usr/local/apache2/libにlibapr.soといふ空のファイルを作って再度./configureとしてみるとエラーは出ずに、makeまで成功しました。次に、
$ sudo /usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so
とすると、
/usr/local/apache2/build/instdso.sh 
	SH_LIBTOOL='/usr/local/apache2/build/libtool' 
	mod_jk2.so /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install 
	cp mod_jk2.so /usr/local/apache2/modules/
	cp mod_jk2.so /usr/local/apache2/modules/mod_jk2.so
Warning!  dlname not found in /usr/local/apache2/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/mod_jk2.so
と、何か警告を発してゐるやうですが、mod_jk2.soがインストールされました。
 次に、confフォルダに出来ているworkers2.propertiesをapache2のconfフォルダへ。httpd.confにLoadModule jk2_module modules/mod_jk2.soを追加。webappsのjsp-examplesをexamplesと書き換へて(もちろん、設定ファイルの方をjsp-exapmlesと変へてもよい)、TomcatとApacheを再起動して、http://localhost/examples/を開いて、JSP Samplesが表示されれば成功。成功しました。

2005年2月4日


Apple Store


サーチ:
Amazon.co.jpアソシエイト




Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

竹形誠司『Java+MySQL+Tomcatで始めるWebアプリケーション構築入門』[amazon.co.jp, bk1](ラトルズ/2880円+税)
 Tomcat(とMySQLやJava)のインストールや設定方法が、丁寧に書いてあって判りやすい。

JMac OS X v10.3 Pantherで使おうUNIX

大津真・他『Mac OS X v10.3 Pantherで使おうUNIX』[amazon.co.jp, bk1](毎日コミュニケーションズ/3400円+税)
 PantherでUNIXアプリケーションを使ふ方法が丁寧に書いてあるのでなかなか便利かも知れない。Tomcat 5.0のことも書いてあるが、あまり詳しくない。Apacheとの連携については触れてゐる。

ホームページに戻る