[[IMP-JP Solaris 8 へのインストール]]
RIGHT:[[フリーソフトウェアのコンパイル]]
//---------------------------------------------------------
// IMP-JP Solaris 8 へのインストール
//---------------------------------------------------------
#contents
*インストール手順概要 [#g60f52fa]
-[[MySQL>フリーソフト/MySQL 4.1 のインストール]]
-[[apache>フリーソフト/apache + mod_ssl + PHP のインストール]]
-PHP に必要なもろもろ
-PHP
*インストール環境 [#a6183147]
-Solaris 8 10/01
-gcc 3.4
-PATH=/usr/bin:/usr/ucb:/etc:/usr/ccs/bin:/usr/local/bin:/opt/local/bin:.
-LD_RUN_PATH=/opt/local/lib:
*PHP に必要なもろもろ [#iefbdee1]
**UW-IMAP 2002e の c-client のヘッダとライブラリ(アップデート時は必要なし) [#n0099c6d]
% cd imap-2002e
% vi Makefile
// ------------------------------------------------------
diff -c Makefile Makefile.org
*** Makefile Wed Nov 26 19:26:34 2003
--- Makefile.org Tue Jul 15 10:17:18 2003
***************
*** 149,156 ****
# std system standard (typically passwd file), determined by port
# two try alternative (defined by CHECKPWALT), then std
! #PASSWDTYPE=std
! PASSWDTYPE=pam
# SSL type. Defines whether or not SSL support is on this system
--- 149,155 ----
# std system standard (typically passwd file), determined by port
# two try alternative (defined by CHECKPWALT), then std
! PASSWDTYPE=std
# SSL type. Defines whether or not SSL support is on this system
// ------------------------------------------------------
% make gso
# cp c-client/c-client.a /usr/local/lib/libc-client.a
# cp c-client/rfc822.h /usr/local/include/
# cp c-client/mail.h /usr/local/include/
# cp c-client/linkage.h /usr/local/include/
**gnu gettext 0.14.5 [#ebeacde4]
% cd gettext-0.14.5
% ./configure
% make
# make install
**libmcrypt-2.5.7 [#qa3cf5d9]
% cd libmcrypt-2.5.7
% ./configure
% make
エラー?
% make clean;make (なんで 2回目は通る?)
# make install
*php 4.4.2 [#obf6cd6f]
http://jp.php.net/get/php-4.4.2.tar.gz/from/this/mirror
% ./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring --enable-mbregex \
--with-openssl=/usr/local/ssl \
--with-imap=/usr/local --with-imap-ssl=/usr/local \
--with-zlib=/usr/local \
--with-gettext=/usr/local \
--with-xml \
--with-mcrypt=/usr/local \
--with-mysql=/usr/local/mysql
% make
# make install
ここで,PEAR 関係のエラーが出る.
http://bugs.php.net/bug.php?id=36002
の情報を参考に,
cd php-src/pear/packages
wget http://pear.php.net/get/Archive_Tar-1.3.1.tar
wget http://pear.php.net/get/Console_Getopt-1.2.tar
wget http://pear.php.net/get/HTML_Template_IT-1.1.tar
をして,make をやり直す.
# cp php.ini-recommended /usr/local/lib/php.ini
編集
// ---------------------------------------------
[PHP]
output_buffering = Off
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
// ---------------------------------------------
/opt/apache/conf/httpd に
// ---------------------------------------------
AddType application/x-httpd-php .php .phtml
// ---------------------------------------------
という行を付け加える.
また DirectoryIndex 行に index.php を加える.
ex.)
// --------------------------------------------------
DirectoryIndex index.html index.html.var index.php
// --------------------------------------------------
*PEAR モジュール [#f84e918e]
**PEAR での proxy 設定 [#hf5bdc29]
# pear config-show
で
HTTP Proxy Server Addrss http_proxy <not_set>
を確認する.
# pear config-set http_pxory XXX.XXX.XXX.XXX:YYYY
として,設定.
**Log-1.8.2 [#uf191550]
# pear install --alldeps Log
**Mail_Mime-1.2.1 [#p64ac80b]
# pear install Mail_Mime
**Net_Socket-1.1 [#l0716457]
# pear install Net_Socket
Package 'Net_Socket' already installed, skipping
**その他 [#e8dfde11]
/* snip Horde のモジュール? kronolith のときにいる
*Date_Calc
*HTML_Common
*HTML_Select
*/
*IMP [#lf16ffb4]
**Horde [#z602e2ca]
# cd /usr/local/apache2/htdocs
# gzcat horde-2.2.1-jp-0.2.tgz | tar xvf -
# mv horde-2.2.1-jp-0.2 horde
# chown -R root:sys horde
***horde用のデータベースを作成 [#u66aef27]
# vi +23 horde/scripts/db/mysql_create.sql
で 23行目のパスワードを変更(********)
# mysql --user=root -p < horde/scripts/db/mysql_create.sql
***horde の設定ファイル [#yda11086]
# cd horde/config/
# for foo in *.dist; do cp $foo `basename $foo .dist`; done
//(上記作業は新規の場合.J 版の場合はこの作業はしてあるが,
//既存のものに上書きすると,現行設定が消えてしまうので注意.
//バージョンアップの場合は,J 版とダウンロード版で違いはないので,
//現行設定をバックアップしておいて,それで上書きする)
# vi horde.php
// --------------------------------------------------------------
$conf['log']['type'] = 'syslog'; // 116行目
$conf['log']['name'] = LOG_LOCAL1; // 123行目
$conf['prefs']['driver'] = 'sql'; //148行目
$conf['prefs']['params']['phptype'] = 'mysql'; //157-162行目
$conf['prefs']['params']['hostspec'] = 'localhost';
$conf['prefs']['params']['username'] = 'horde';
$conf['prefs']['params']['password'] = 'r*******n'; //<--パスワード
$conf['prefs']['params']['database'] = 'horde';
$conf['prefs']['params']['table'] = 'horde_prefs';
$conf['mailer']['type'] = 'sendmail'; //204 行目
//$conf['mailer']['params'] = array();
//$conf['mailer']['params'] = array('sendmail_path' => '/usr/lib/sendmail');
$conf['mailer']['params'] = array('host' => 'mailhost.******.jp');
// 211-213 行目
// --------------------------------------------------------------
# chown apache:apache horde.php
# chmod 400 horde.php
http://localhost/horde/test.php
にアクセスしてテスト.
テスト後は
# chmod 400 をしておく
**IMP [#e757b367]
# cd /opt/apache/htdocs/horde
# gzcat imp-3.2.1-jp-0.1.tgz | tar xvf -
# mv imp-3.2.1-jp-0.1 imp
# chown -R root:sys imp
***horde のログインを IMP に統一 [#s25fa568]
# vi +23 horde/config/registry.php
// --------------------------------------------------------------
$this->registry['auth']['login'] = 'imp'; //コメントを外す
$this->registry['auth']['logout'] = 'imp';
// --------------------------------------------------------------
***IMP のステータスを active に [#x20e1547]
# vi +109 horde/config/registry.php
// --------------------------------------------------------------
'status' => 'active'
// --------------------------------------------------------------
***IMP の設定ファイル [#t79867f1]
# cd horde/imp/config/
# for foo in *.dist; do cp $foo `basename $foo .dist`; done
//(上記作業は新規の場合.J 版の場合はこの作業はしてあるが,
//既存のものに上書きすると,現行設定が消えてしまうので注意.
// バージョンアップの場合は,J 版とダウンロード版で違いはないので,
// 現行設定をバックアップしておいて,それで上書きする)
conf.php はマージする必要があり.prefs.php は微妙.
***IMP 全般の設定 [#t2fe11a1]
# vi conf.php
// --------------------------------------------------------------
$conf['menu']['apps'] = array('turba');
$conf['msg']['append_trailer'] = false;
// --------------------------------------------------------------
***接続先 IMAP サーバの設定. [#mc3a56c9]
# vi server.php
// --------------------------------------------------------------
$servers['imap'] = array(
'name' => 'IMAP Server',
'server' => 'mailhost.*******.jp',
'protocol' => 'imap/notls',
'port' => 143,
'folders' => 'mail/',
'namespace' => '',
'maildomain' => 'up.*****.jp',
'smtphost' => 'mailhost.******.jp',
'realm' => 'up.*****.jp',
'preferred' => ''
);
// --------------------------------------------------------------
***ゴミ箱を使う設定 [#se84b92c]
# vi prefs.php
// --------------------------------------------------------------
// should we move messages to a trash folder instead of just marking
// them as deleted?
// a value of 0 = no, 1 = yes
$_prefs['use_trash'] = array(
'value' => 1, //<--- 0 を 1に変える
'locked' => false,
'shared' => false,
'type' => 'checkbox',
'desc' => _("When deleting messages, move them to your Trash folder insteadof marking them as deleted?")
);
// --------------------------------------------------------------
***メールアドレスをアドレス帳に加える設定 [#z163775f]
$_prefs['add_source'] = array(
// 'value' => '',
'value' => 'localsql',
'locked' => false,
'shared' => false,
'type' => 'implicit'
);
***IMP テスト [#n81945d5]
http://localhost/horde/imp/test.php
にアクセスしてテスト.
テスト後は
chmod 400
をしておく
//========================================================================
**turba [#q13e9c79]
# cd horde
# gzcat turba-1.2-jp-0.2.tgz | tar xvf -
# mv turba-1.2-jp-0.2/ turba
# chown -R root:sys turba
***Hordeの導入で作成したデータベースに,Turba用テーブルを追加. [#m1a3ca09]
# /usr/local/mysql/bin/mysql --user=root -p horde \
< turba/scripts/drivers/turba.sql
***Turba の設定 [#e8d1cce5]
# cd turba/config/
# for foo in *.dist; do cp $foo `basename $foo .dist`; done
//(上記作業は新規の場合.J 版の場合はこの作業はしてあるが,
//既存のものに上書きすると,現行設定が消えてしまうので注意.
// バージョンアップの場合は,J 版とダウンロード版で違いはないので,
// 現行設定をバックアップしておいて,それで上書きする)
sources.php はマージする必要があり.prefs.php は微妙.
# vi conf.php
// ---------------------------------------
$conf['menu']['apps'] = array('imp'); // 31行目
// ---------------------------------------
# vi +140 sources.php
// ---------------------------------------
$cfgSources['localsql'] = array(
'title' => 'My Addressbook',
'type' => 'sql',
'params' => array(
'phptype' => 'mysql',
'hostspec' => 'localhost',
'username' => 'horde',
'password' => 'r******n',
'database' => 'horde',
'table' => 'turba_objects'
),
// ---------------------------------------
また,$cfgSources['localsql'] と $cfgSources['prefs'] 以外の
ブロックはコメントアウトしておく.
# chown apache sources.php
# chmod 400 sources.php
***Horde に Turba を登録 [#kae39487]
# vi +118 horde/config/registry.php
// ---------------------------------------
'name' => _("Address Book"),
'allow_guests' => false,
'status' => 'active' //<-- この行
// ---------------------------------------
**その他 [#f61ef095]
***syslog [#g1deb9a2]
/usr/local/apache2/bin/logrotation.sh
#!/bin/sh
HTTP_PID=/usr/local/apache2/logs/httpd.pid
GZIP="/usr/bin/gzip -9"
DAY=`date +%d`
MON=`date +%m`
MON=`expr $MON - 1`
YEAR=`date +%Y`
#YEAR=`date +%y` # %y -- 98,99,00,(;_;). %Y -- 1997,1998,1999,2000,(^.^)
#if [ "$DAY" != "01" ]; then
# exit 0;
#fi
if [ "$MON" = "0" ]; then
MON=12
YEAR=`expr $YEAR - 1`
fi
MONFLAG=`expr ${MON} \< 10`
if [ "$MONFLAG" = "1" ]; then
MON=0${MON}
fi
cd /usr/local/apache2/logs
mv access_log access_log.$YEAR$MON
mv error_log error_log.$YEAR$MON
#mv agent_log agent_log.$YEAR$MON
mv ssl_request_log ssl_request_log.$YEAR$MON
mv horde.log horde.log.$YEAR$MON
touch horde.log
kill -HUP `cat $HTTP_PID`
kill -HUP `cat /etc/syslog.pid`
${GZIP} access_log.${YEAR}${MON}
${GZIP} error_log.${YEAR}${MON}
#${GZIP} agent_log.${YEAR}${MON}
${GZIP} ssl_request_log.${YEAR}${MON}
${GZIP} horde.log.${YEAR}${MON}
#
/etc/syslog.confの最後に
// ---------------------------------------
local1.info /usr/local/apache2/logs/horde.log
// ---------------------------------------
**preference2.pl 用 DB 作成 [#ce25d6ad]
% /usr/local/mysql/bin/mysql -u horde -p******* -e "CREATE TABLE horde_fromaddr \
(user char(255) NOT NULL, fromaddr char(255) NOT NULL, \
fullname char(255) DEFAULT '')" horde
**preference2.pl の修正 [#re3b965d]
bash-2.03$ diff preference2-tnk.pl preference2.pl
1c1
< #!/usr/bin/perl -w
---
> #!/usr/local/bin/perl -w
21c21
< my $mysql = "/usr/local/mysql/bin/mysql";
---
> my $mysql = "/usr/local/bin/mysql";
23c23
< my $password = "********";
---
> my $password = "XXXXXXXX";
28d27
< my $domain = "******.jp";
59c58
< system("$mysql -u $user -p$password -e \"delete from $pref_table where pref_uid='$username\@$domain'\" $db");
---
> system("$mysql -u $user -p$password -e \"delete from $pref_table where pref_uid='$username\@localhost'\" $db");
61c60
< system("$mysql -u $user -p$password -e \"delete from $addr_table where owner_id='$username\@$domain'\" $db");
---
> system("$mysql -u $user -p$password -e \"delete from $addr_table where owner_id='$username\@localhost'\" $db");
*Zend Optimizer [#l8b382fe]
ZendOptimizer-2.6.2-sunos5.8-sparc.tar.gz を展開して,
./install