 |
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>
-----------------------------------------------------------------
|