trustBee ロゴ  
  パソコンQ&A  
  OpenBBS  
  IMP日本語版  
  phpMyAdmin日本語版  
  Webツール  
  業務案内  
  業務実績  
  便利ツール満載! BeeTools
便利ツール満載!
BeeTools
 
  SOHOコミュニティ SIMPLE
SOHOコミュニティ
SIMPLE
 
   
  Illustrated by POPO  
 
IMP日本語版のセットアップ for MacOS X
2002/07/21

松原さんによる導入レポートです。
ありがとうございます!
以下、そのまま掲載させて頂きます。


MacOS X で IMP を動かす

by 松原さん

MacOS X は標準で OpenSSH, apache, sendmail 他が インストールされており、これにあと少しのアプリケーションを 追加することで、比較的簡単に IMP を動かすことができました。 凝ったことを一切せず、できるだけ手早く簡単に動かしたかったので、 ソースからの make もせず、自前の imap サーバも構築せずに 別マシンで稼働中のメールサーバを流用しています。 今後の todo は、 ・sendmail を Postfix や qmail と入れ替え ・imapサーバを入れる でしょうか。 # Fink というパッケージ管理システムをインストールするのが # もっとも手軽かも知れませんが 以下にこちらが取った手順を記します。 # 時系列順とは言えないかも知れませんので、 # 一通り目を通してから作業に入ってください ---------------------------------------------------------------- 1) 以下の組み合わせで動作を確認しました。 MacOS X (バージョン 10.1.5 に update) apache-1.3.26 (MacOS X) sendmail-8.12.2 (MacOS X) php-4.1.2 (MacOS X) apache 用 php モジュール (バイナリパッケージを入手) PostgreSQL-7.2.1 (バイナリパッケージを入手) php モジュールと PostgreSQL さえインストールしてしまえば、 あとはほぼ「IMP 日本語版のセットアップ」の手順通りです。 ---------------------------------------------------------------- 2) php モジュールと PostgreSQL の入手 以下のサイトからバイナリパッケージを入手、インストールします。 # 他に OpenLDAP、MySQL パッケージなどもあります http://www.entropy.ch/software/macosx/ # パッケージへのリンクは書きません # 各自、上記トップページから辿ってください ・php モジュール php モジュールは、MacOS X 同梱の php のバージョンに合わせた ファイル名: libphp4-4.1.2.so.gz と、自分で最新バージョン(4.2.1) を make インストールした人向けの ファイル名: libphp4.so.gz の2つがあります(02/07/18 現在)。 バージョンが合わない場合は正常に動作しませんので、 必要な方をダウンロードしてください。 今回は、OS 純正に合わせて 4.1.2 用を使用しました。 なお、libphp4-4.1.2 の configure オプションは以下の通りでした。 # <? phpinfo(); ?> の表示より --with-mysql --with-pgsql --with-ldap --with-apxs --with-gd=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr --with-jpeg-dir=/usr/local --with-freetype-dir=/usr/local --enable-trans-sid --enable-exif --with-xml --enable-wddx --with-curl=/usr/local --with-pdflib=/usr/local --with-t1lib=/usr/local --enable-ftp --enable-bcmatch --with-iconv=/usr/local --enable-xslt --with-xslt-sablot=/usr/local --with-mcrypt --with-imap=../imap-2001a --enable-mbstring --enable-mbstr-enc-trans # MacOS X 純正のものはこんなに豪華ではありません 8-( ・PostgreSQL PostgreSQL 本体 ファイル名: pgsql-7.2.1.pkg.tar.gz と合わせて、MacOS X 起動時に PostgreSQL を 自動起動してくれるスクリプトも一緒に入手しておきます。 ファイル名: pgsql-startup-1.1.pkg.tar.gz でないと、いちいちログインして手動で PostgreSQL を 起動しなければなりません。 ---------------------------------------------------------------- 3) php モジュールと PostgreSQL のインストール どちらも上記サイトにある手順通りに行うだけです。 一応簡単に書いておくと、 StaffItExpander なり tar で展開した後、 ・php モジュール libphp4.so は root 権限で、 mv libphp4.so /usr/libexec/httpd/ として規定の場所に移動します。 # オリジナルは libphp4.so-Apple などと mv しておくと安全です 次にターミナルを起動し、root 権限で apxs -e -a -n php4 libexec/httpd/libphp4.so としてモジュールを有効にします。 ・PostgreSQL PostgreSQL パッケージ展開後の pkg ファイルを そのままダブルクリックし、指示通りインストールします。 # pgsql-startup の方は、initdb 後の方が良いと思います 次に、[システム環境設定] -> [ユーザ] を起動し、 [固有名タブ] 名前: PostgreSQL User ユーザ名: postgres (これは自動でこのように入るはずです) [パスワードタブ] パスワード: (適当) と記入して[OK]。PostgreSQL ユーザを登録します。 次に、initdb ほかを手動で行います。 ターミナルを起動し、root 権限で chown -R postgres /usr/local/pgsql/ (ディレクトリをpostgres所有に) su - postgres (postgres ユーザに移行) initdb -D /usr/local/pgsql/data (initdb します) sh -c 'postmaster -D /usr/local/pgsql/data' (PostgreSQL を起動) $ ps ax |grep postmaster でPostgreSQL が起動したことを確認します。 最後に、pgsql-startup パッケージを指示通りにインストールします。 以上で、php モジュールと PostgreSQL のインストールは終了です。 ---------------------------------------------------------------- 4) httpd.conf の編集 「IMP 日本語版のセットアップ」の前に、httpd.conf を 一部確認・修正しておきます。 # 場所は、/etc/httpd です。 LoadModule php4_module libexec/httpd/libphp4.so の行があることを確認。 AddModule mod_php4.c の行が存在し、またコメントアウトされいないことを確認。 AddType application/x-httpd-php .php .php3 AddType application/x-httpd-php-source .phps の行が存在し、またコメントアウトされいないことを確認。 特に「.php3」 は、無ければ追加します。 ---------------------------------------------------------------- 5) horde と imp のアーカイブを展開 MacOS X のディレクトリ構成に合わせ、 以下の場所に IMP をインストールします。 /Library/WebSerber/Documents/ # /var とか /home 以下ではありません ---------------------------------------------------------------- 6) www.trustbee.com で解説されている通りに IMP をセットアップ # 重要 # # セットアップ手順(15/17) でパスワードの設定に失敗するため、 # 一時的に以下のようにパーミッションを変更。 # パスワード設定完了後は、元の値に戻します chmod 777 /Library/WebServer/Documents/horde/phplib ( -> 755) chmod 666 /Library/WebServer/Documentshorde/phplib/local.inc ( -> 444) chmod 777 /Library/WebServer/Documents/horde/imp/config ( -> 755) chmod 666 /Library/WebServer/Documents/horde/imp/config/defaults.php3 ( -> 444) ---------------------------------------------------------------- 6) horde/imp/defaults.php3 で変更した、 あるいは関係のありそうな箇所は以下の通り # ただしズルしているので、メールサーバは # 別マシンのそれで進めました # メールサーバは courier-imap です $default->server ='メールサーバの FQDN'; $default->from_server ='localhost'; $default->port ='143/notls'; <-- 注意 $default->folders ='./'; <-- 無指定 /* Cyrus Configuration */ $default->personal_folders ='INBOX.'; <-- courier-imap の場合 $default->path_to_tar = '/usr/bin/tar'; <-- パスが違う $default->database_driver ='pgsql'; $default->db_user_name ='hordemgr'; $default->db_password ='パスワード'; $default->db_server_name ='localhost'; ---------------------------------------------------------------- 7) sendmail 関連の修正 MacOS X インストールのままだと不都合がありますから、 以下のように修正します。 できるだけ面倒を避けたいので、デフォルトを修正するだけで済むように しています。 ・/var/root/.forward 自分のアカウントに届くよう変更 /dev/null -->> 自分のアカウント # この変更後、おなじみの cron メールなどが届くようになります 8-) ・/System/Library/StartupItems/Sendmail/Sendmail 以下と異なっていれば修正 /usr/sbin/sendmail -bd -q1h & -->> /usr/sbin/sendmail -bd ---------------------------------------------------------------- 8) /etc/httpd/httpd.conf の末尾に以下を追加 php パッケージには、php.ini が入っていませんし、 MacOS X にも元々ありませんでした(?)。 phpinfo(); からすると、php.ini は /usr/local/lib 以下に 見に行くようですが、MacOS X に /usr/local/lib/ はありませんから、 今回は、以下のように httpd.conf 内にまとめて記述しました。 セットアップ手順の説明通りにプラス php 関連を記述 <Directory "/Library/WebServer/Documents/horde/"> <IfModule mod_php4.c> php_value include_path .:/Library/WebServer/Documents/horde/phplib php_value auto_prepend_file /Library/WebServer/Documents/horde/phplib/prepend.php3 (上の行に続けて 1行で記述します) php_flag magic_quotes_gpc Off php_flag register_globals On php_value mbstrings.detect_order auto php_value mbstrings.http_input auto php_value mbstrings.http_output SJIS php_value mbstrings.internal_encoding EUC-JP php_value mbstrings.substitute_character none php_value upload_tmp_dir /var/tmp php_flag file_uploads On php_value upload_max_filesize 50M (好みの値で) </IfModule> </Directory> -----------------------------------------------------------------