2003-11-01(Sat) [長年日記]
_ WEBサーバ構成パターン覚書
まずはシンプルな構成から
- Webサーバのみ(Apache,IIS...)
WAN --- Web Server
- アプリケーションエンジンを追加した場合(PHP,JSP,ASP...)
WAN --- Web Application Server
- DBサーバを追加(Oracle,PostgreSQL,MySQL,SQL Server,...)
WAN --- Web Application Server --- DB Server
WEBサーバの多重化を考える
負荷・リスク分散
- Webサーバを多重化(iptables,Squid+mod_rewrite,LVS,...)
WAN --- Load Balancer --- Web Server
|- Web Server
- Webサーバを多重化+共有ストレージ (NFS,...)
1. ネットワーク部分を共有
WAN --- Load Balancer --- Web Server
|- Web Server
|- NAS
2. ストレージ専用ネットワーク(SAN)
WAN --- Load Balancer --- Web Server --- NAS
|- Web Server -|
DBサーバの多重化
Oracle9 のRAC、Oracle10g のグリッド、MySQLのレプリケーション、PostgreSQL+PGCluster/商用レプリケーション製品など
...眠いから続きは後で
2003-11-04(Tue) [長年日記]
_ PHP 4.3.4 released!
今回はマルチバイト関数にいろいろ変更が加わっているので、数日様子をみてから導入する予定。(最近リリースサイクル短くて恐い・・・)
2003-11-05(Wed) [長年日記]
_ [PHP]PHP_Accelerator
エラーが出てたので改めて入れなおし
/usr/local/lib/php.ini
zend_extension="/usr/local/lib/php/extensions/php_accelerator_1.3.3r2.so"
error_log
[warn-phpa] No shm_user is set and so no shm cache will be created (pid 28084) [warn-phpa] unable to get shm cache (pid 28084)
/usr/local/lib/php.ini
phpa.shm_user = httpd phpa.shm_group = httpd
error_log
[notice-phpa] Acquiring cache : uid 80 gid 80 perms 666 (pid 28084) [notice-phpa] PHPA 1.3.3r2 on linux_i686_glibc2.1.3 (pid 28084) [notice-phpa] Initialised 8MB cache at 0x4078f000 with 512 process entries (pid 28084) [notice-phpa] Lock thresholds 10/10 (pid 28084)
phpa.html
<? var_dump($GLOBALS['_PHPA']); ?>
_ PHP と SSI を両方パースする
Options +Includes
<FilesMatch "\.html(\..+)?$">
SetOutputFilter INCLUDES
</FilesMatch>
AddType application/x-httpd-php .html
2003-11-06(Thu) [長年日記]
_ NEC AtermWR7600H/TC を手放すことに
NAT切ってローカルルータとして使用することができないうえに、NAT経由でDMZ内のサーバにSSH接続してると数分で切れる。
ローカルルータモードが一般的な「ローカルルータ」と違う。RIPがLAN側にしか使用できない。モノとして悪くは無いけど、もうNECのネットワーク製品は買わない。
代替無線ルータの条件
- IEEE802.11g 対応
- ローカルルータとして使用できる(RIP対応)
2003-11-07(Fri) [長年日記]
_ SetOutputFilter PHP
PHP 4.3.2 からはデフォルトでは Apache 2.0 のフィルタが使えない。これって4.3.2からは apxs2handler を使ってるからだと思うので apxs2filter を明示的に指定してやれば多分いいはず。
./configure --with-apxs2=/usr/local/apache2/bin/apxs \ --with-apxs2filter=/usr/local/apache2/bin/apxs
両方指定したら案の定 make で失敗。apxs2filter だけだと make 成功
続く・・・
2003-11-08(Sat) [長年日記]
_ [buy]玄人志向 TVチューナーカード SAA7130-TVPCI/B 税抜 2980円
外部入力で使用。XPでは勝手にドライバがインストールされたが、標準設定がPALになっていた。ドライバのインストールに工夫が要る。
http://pc.2ch.net/avi/kako/1031/10316/1031630276.html より
一応まとめときます。CAP7130.INFの修正は必要ないかも しれません。でも、内蔵チューナーは、噂どおりあんまりよくないですね [PHTVTUNE.INF] 60行目 HKR,,TunerType,,FI1236 ; "FI1236" 77行目 HKR,,DefaultStandard,,0x00000002 ; KS_AnalogVideo_NTSC_M_J [CAP7130.INF] 61行目 HKR, "Decoder", "Preferred Video Standard",0x00010001,0x00000002 ; KS_AnalogVideo_NTSC_M_J 136行目 HKR, "", "CountryCode",,"81"; Japan
_ PC-9821As を手放す
2003-11-10(Mon) [長年日記]
_ PHP 4.3.4 install
wget http://jp.php.net/get/php-4.3.4.tar.gz/from/jp2.php.net/mirror tar xvfz php-4.3.4.tar.gz cd php-4.3.4 ./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-pgsql=/usr/local/pgsql/ \ --with-mysql \ --enable-mbstring \ --enable-zend-multibyte \ --with-zlib \ --with-xml \ --with-gettext \ --enable-ftp \ --with-xmlrpc \ --with-gd \ --enable-gd-native-ttf \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-freetype-dir=/usr make make install # 以前の php.ini をそのまま使う場合は不要 # cp php.ini-dist /usr/local/lib/php.ini
マルチバイト拡張モジュールの実装が独立して libmbfl になった
--enable-mbstring を指定すれば mbregex も組み込まれるようになった模様。 --enable-mbregex をつけなくてもいいはず。
画像・フォント関係のライブラリも必要であれば入れておく
* freetype-devel-* * libjpeg-devel-* * libpng-devel-*
configure --help を眺めていたら --enable-gd-jis-conv を 発見、今度試してみる
_ xyzzy
tDiary-mode for xyzzy を NetInstaller でバージョンアップ
編集した日記をローカルに保存する設定を追加(.xyzzy)
(setf *tdiary-text-save-p* t)
_ Hiki
静的なページも欲しいので入れてみようと思う
_ mod_proxy
テスト機に導入
./configure \ --enable-so \ --enable-deflate \ --enable-dav_fs \ --enable-dav \ --enable-rewrite \ --enable-proxy make make install /usr/local/apache2/bin/apachectl stop /usr/local/apache2/bin/apachectl start
2003-11-11(Tue) [長年日記]
_ [server]Proftpd
Port 21 ServerName "mylab.jp" ServerType inetd DefaultServer on Port 21 Umask 022 MaxInstances 30 User nobody Group nobody <Directory /> AllowOverwrite on </Directory> TimesGMT off UseReverseDNS off AuthPAMAuthoritative On AuthPAMConfig ftp
ListOptions "-a" DefaultRoot ~ !wheel <Limit LOGIN> Order Allow, Deny AllowGroup httpd AllowGroup wheel Deny from All </Limit>
_ Gentoo Linuxはバーチャルホスティングウェブサイトのサポートを向上します。
Gentoo Linux Users Group Japan より
Gentoo Linuxプロジェクトは1つ以上のwebサイトをGentoo Linuxで使用することをより容易にするために、 Apacheとwebベースのパッケージの最新版を数週間以内にリリースします。 この変更の一部として、webサイトが置かれる'htdocs'ディレクトリのデフォルトが /home/httpd から /var/www/localhostへ変更になります。 そして、複数のwebサイトをサポートを同時にする必要のあるサーバーのために、 新しいツールwebapp-configとvhost-configが、 また'vhosts' USEフラグがwebベースアプリケーションとバーチャルホストを 管理・インストールするのを支援するために導入されます。
・・・次にインストールするディストリビューションが決定しました。
2003-11-12(Wed) [長年日記]
_ Gentoo Linux 1.4 install
Pentium3 用の CD イメージをダウンロード。LiveCD から起動
fdisk でパーティションを作成
/dev/hda1 83 Linux /dev/hda2 82 Linux swap /dev/hda3 83 Linux
インストール
# ファイルシステムの作成 mke2fs -j /dev/hda1 mkswap /dev/hda2 mkreiserfs /dev/hda3 badblocks - badblocks.txt -v /dev/hda1 badblocks - badblocks.txt -v /dev/hda2 badblocks - badblocks.txt -v /dev/hda3 # パーティションをマウントする swapon /dev/hda2 mount /dev/hda3 /mnt/gentoo mkdir /mnt/gentoo/boot mount /dev/hda1 /mnt/gentoo/boot cd /mnt/gentoo tar -xvjpf /mnt/cdrom/stages/stage1-*.tar.bz2 # chrootを使ってGentoo Linuxシステムに「入る」 mount -t proc proc /mnt/gentoo/proc cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf chroot /mnt/gentoo /bin/bash env-update source /etc/profile # 最新のPortage ツリーを取得する(GRPを使用しない) emerge sync
nano -w /etc/make.conf CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -mcpu=pentium3 -funroll-loops -pipe"
# binutils、gcc、gettext、glibcを構築し、glibcが構築された後、gettextを再構築(ステップ1) cd /usr/portage scripts/bootstrap.sh
# 残りのシステムをインストール(ステップ2) emerge system
# ステップ3 ならここから ln -sf /usr/share/zoneinfo/Japan /etc/localtime # カーネルソースをemerge emerge -k sys-kernel/gentoo-sources # genkernelをemerge emerge -k genkernel # genkernelを使ってカーネルを構築する genkernel # hotplugをemergeし有効にする emerge -k hotplug rc-update add hotplug default
# システムロガーのインストール emerge -k app-admin/sysklogd rc-update add sysklogd default
# cron デーモン emerge -k sys-apps/vcron rc-update add vcron default
# ファイルシステムツールのemerge emerge -k sys-fs/reiserfsprogs
nano -w /etc/fstab
/dev/hda1 /boot ext3 noauto,noatime 1 2 /dev/hda3 / reiserfs noatime 0 1 /dev/hda2 none swap sw 0 0 /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0
# root パスワードの設定 passwd
# 日常的に使うユーザの登録 useradd your_user -m -G users,wheel,audio -s /bin/bash passwd your_user
# ホスト名を設定 echo inspiron > /etc/hostname echo mylab.jp > /etc/dnsdomainname
echo 3c59x > /etc/modules.autoload
nano -w /etc/conf.d/net rc-update add net.eth0 default
# 基本設定 nano -w /etc/rc.conf CLOCK="local" KEYMAP="jp106"
# GRUB emerge -k grub grub grub> root (hd0,0) grub> setup (hd0) nano -w /boot/grub/grub.conf
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=My example Gentoo Linux (genkernel) root (hd0,0) kernel (hd0,0)/boot/kernel-2.4.20-gentoo-r8 root=/dev/hda3 initrd (hd0,0)/boot/initrd-2.4.20-gentoo-r8
無事起動
_ tDiary 1.5.5 install
_ root 消してしまいました
いつものように su - したら
root というユーザは存在しません
と言われる。
シングルユーザモードで起動して vipw してみると
oot:x:0:0:/root:/bin/bash
となってる。
昨日 vipw したときに最初の r を消してしまったらしい
かなり反省しつつ修正。無事元に戻りました。
_ [SQL]インデックス
TIMESTAMP 型のフィールドにインデックスを作成したけど値が分散しすぎていてインデックスが効率よく使われない
時間だけで集計することもあるし DATE と TIME に分ける。
_ [SQL]開始時間と終了時間
こうしたら先に書いたようにインデックスの意味がない
-- list1 CREATE TABLE event ( time1 TIMESTAMP, -- 開始日時 time2 TIMESTAMP -- 終了日時 );
集計を考えるとこのほうがいい
-- list2 CREATE TABLE event ( -- 開始日時 date1 DATE, time1 TIME, -- 終了日時 date2 DATE, time2 TIME );
list2 を list1 の VIEW にする手もあるか
-- list3 CREATE VIEW event_view AS SELECT ...略
どうせ VIEW 作るなら list1 の終了時間は期間でもいい
-- list1' CREATE TABLE event ( time1 TIMESTAMP, -- 開始日時 intervals INTEGER -- 期間(秒) );
いずれにせよパフォーマンスの良いものを選択する
_ tDiary-mode に草稿保存の機能があると嬉しいかも
考えながら発行(保存)してるから間違いがいっぱい。
2003-11-13(Thu) [長年日記]
_ Gentoo 環境構築
Portage ツリーの更新
emerge sync
まずは iptables を検索
emerge -s iptables rc-update add iptables default
iptables をインストール
emerge iptables
PCMCIA-cs を忘れてた
emerge -k sys-apps/pcmcia-cs
OpenSSH をインストール
cd /usr/portage emerge net-misc/openssh rc-update add sshd default /etc/init.d/sshd start
Apache の確認
emerge -p -u apache Calculating dependencies ...done! [ebuild N ] dev-util/yacc-1.9.1-r1 [ebuild N ] net-www/apache-2.0.48-r1
2003-11-14(Fri) [長年日記]
_ カーネルの再構築
NetFilter が組み込まれてなかった
* ((<URL:http://www.zdnet.co.jp/help/howto/linux/kernel24/>)) * ((<URL:http://www9.ocn.ne.jp/~pcvolu/pcnet/gentopage124.htm>)) * ((<URL:http://www.gentoo.org/doc/ja/alsa-guide.xml>))
_ 教訓 SQL を組むときはデータベースエンジンの気持ちになって考えよう
思いやりが足りないとパフォーマンスが著しく低下しやがります
_ 番組ランキング
つーわけで思いやりも足りたし「試験運用」外してもいいかな
でもどうせなら本運用開始の目玉があるといい、たとえば
* デザインに力を入れる * 全ジャンルランキングを追加
その前にコードを見直ししよっと、それが済んでから
_ 全ジャンルランキング追加
全部の番組のランキングなんてものに需要があるのかどうか疑問だけど、手間もかからないししばらく様子見ということで。
2003-11-15(Sat) [長年日記]
_ Gentoo やめて RedHat 入れる
_ Apache 2.0.48 install
_ PostgreSQL 7.3.4 install
コンパイル・インストール
./configure make make install
自動起動の設定
cp contrib/start-scripts/linux /etc/rc.d/init.d/postgres chmod 755 /etc/rc.d/init.d/postgres chkconfig --add postgres vi /etc/rc.d/init.d/postgres PGDATA="/var/pgsql/data"
データ領域の作成
groupadd -g 70 postgres useradd -u 70 -g postgres -d /var/pgsql postgres mkdir /var/pgsql chown postgres /var/pgsql su - postgres mkdir /var/pgsql/data /usr/local/pgsql/bin/initdb -D /var/pgsql/data -E EUC_JP --no-locale
環境変数を設定
vi ~/.bash_profile export PATH="$PATH":/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=/var/pgsql/data export MANPATH="$MANPATH":$POSTGRES_HOME/man export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
設定を変更
vi /var/pgsql/data/postgresql.conf tcpip_socket = true silent_mode = true
_ PHP 4.3.4 install
画像処理のライブラリ
rpm -ivh libpng-devel-*.rpm rpm -ivh libjpeg-devel-*.rpm rpm -ivh freetype-devel-*.rpm
コンパイル・インストール
./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-pgsql=/usr/local/pgsql/ \ --with-mysql \ --enable-mbstring \ --enable-zend-multibyte \ --with-zlib \ --with-xml \ --with-gettext \ --enable-ftp \ --with-xmlrpc \ --with-gd \ --enable-gd-native-ttf \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-freetype-dir=/usr make make install
設定ファイルをコピー
cp php.ini-dist /usr/local/lib/php.ini
設定ファイルを変更
vi /usr/local/lib/php.ini mbstring.language = Japanese mbstring.internal_encoding = EUC-JP
_ RDTool
tDiary で RD スタイルを使うためにインストール
RACC
tar xvfz racc-1.4.4-all.tar.gz cd racc-1.4.4-all
ruby setup.rb config ruby setup.rb setup ruby setup.rb install
amstd
wget http://www.loveruby.net/archive/amstd/amstd-2.0.0.tar.gz tar xvfz amstd-2.0.0.tar.gz
ruby install.rb config ruby install.rb setup ruby install.rb install
RDTool
ruby rdtoolconf.rb make install
_ SAMBA
rpm -ivh samba-2.2.8a.ja-2.rh9.i686.rpm
_ ProFTPD 1.2.9
2003-11-16(Sun) [長年日記]
_ サーバセグメントに設置
IPアドレス・ゲートウェイ・DNSサーバ等を変更
vi /etc/sysconfig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network vi /etc/hosts vi /etc/resolf.conf
_ サーバリプレース
NATの宛先とLAN向けDNSを変更
旧サーバは「SOTEC WinBook Eagle/X 266CTX」
- CPU Celeron 266MHz
- MEM 96MB
- HDD 4.3GB
_ Subversion 0.33 install
コンパイル・インストール
./configure --with-apxs=/usr/local/apache2/bin/apxs make make install
_ CVS サーバを用意する
pserver
- CVS pserver 構築メモ
- http://ccvs.cvshome.org/fom/fom.cgi?_recurse=1&file=217
- http://www.sugoiconsulting.com/bits/index.php?bit_id=32
SSH の設定
/etc/sshd_config
PermitRootLogin no RSAAuthentication yes PasswordAuthentication no PermitEmptyPasswords no
ログインしたいユーザでキーを作る
ssh-keygen -t rsa1 cp ~/.ssh/identity.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
2003-11-17(Mon) [長年日記]
_ Google が月ごとの日記ページを拾いやすい
日別の日記ページを優先してほしい。そもそもの原因は上のリンクが月ごとのページだからなのでカレンダープラグインを入れるのが手っ取り早い。
_ カレンダープラグイン導入
calendar2.rb と calendar3.rb を入れてみた。文字が小さくてリンクが押しにくいので CSS 弄る必要ありそう。
2003-11-18(Tue) [長年日記]
_ PostgreSQL 7.4 released!!
ついにリリースされました。
移行前の確認
今回はメジャーバージョンアップなので通例だとデータベースのフォーマットの変更があり、プロトコルも変更されてる可能性がある。
データベースのバックアップ
pg_dump foo > foo.db
リストア
createdb foo psql -e foo < foo.db
プロトコルが変更されているとデータベースへ接続する各クライアント(PHP等)が使うライブラリもバージョンアップする必要があるが、プレスリリースを読む限りプロトコルの変更には触れられていない。
_ 使用している tDiary を 1.5.6 にバージョンアップ
tdiary/ に rd_style.rb を入れ忘れてエラー
_ SquirrelMail 1.4.2 install
config/config_default.php を config/config.php にコピー
config/config.php を書き換える
$default_charset = 'iso-2022-jp'; $squirrelmail_default_language = 'ja_JP'; $imapServerAddress = 'localhost';
アッサリ動いた。
2003-11-19(Wed) [長年日記]
_ Bフレッツ VDSL の引き込み工事
30分程度で完了。
土曜日に申し込んだAsahiネットのIDが届かないので、急遽BB.exiteにオンライン登録。その場でIDを発行してもらえた。
付属のLANケーブルが短いから部屋までのものを買って来なきゃ。
で、ハーモネットの15mストレートケーブルを購入ついでに重役出勤した。
_ theme/themebench を試す
themebench.rhtml を使うためには eruby が必要。
eruby をインストール
configure.rb make make install
theme/themebench.rhtml の設定
#!/usr/local/bin/eruby theme_uri = './' theme_path = '/var/www/www.mylab.jp/htdocs/diary/theme'
theme/.htaccess で rhtml を CGI として動作させるように設定
AddHandler cgi-script .rhtml
<Files "*.rhtml">
allow from all
</Files>
本当は index.rb/update.rb と同じところに置くのかも。あと公開する必要も無いから制限かけてもいい。
_ ASAHI ネット
帰宅したら ID・パスワード発行のお知らせが来てた。早速試してみるがつながらない。
「料金プランの確認・変更」ページで確認すると「今月のプラン 開通待ち」、「申込中のプラン・来月のプラン BフレッツマンションコースMプラン」となってる。
ヲイヲイ、来月にならないと使えないの?しかもまだ開通待ちの状態らしいから固定IPのオプションも申し込めないし、ていうか入会のときにチェックさせることはできなかったのかと。
ということを質問出してみたので連絡待ち。
今は10分で申し込み完了した BB.exite で繋いでます。
VDSLモデム--ルータ1---ルータ2---AP〜無線〜無線PC
|-鯖 |-有線PC
2003-11-20(Thu) [長年日記]
2003-11-21(Fri) [長年日記]
_ FormHandler.cgi をPHPに移植
元のコードが861行。それに加えていくつかのサブルーチンを読み込む。
サブルーチンは PHP では関数として実装されているものがほとんどなので移植後は単一のファイルで済む。
2003-11-26(Wed) [長年日記]
_ CVS を利用する
_ ident パケットを拒否(メールサーバ)
iptables -A INPUT -p tcp --dport auth -j REJECT --reject-with icmp-port-unreachable
破棄(DROP)すると TIMEOUT 待ちになったりしてまずいので拒否(REJECT)する
_ tDiary + Namazu
_ [Apache] htdocs を NFS で共有したい
Web サーバを複数台設置(冗長化)してもデータを一括管理できる
ロックについて
- ファイルシステムに書き込む CGI をデータベースに保存するものに置き換える
- CGI のロック機構を NFS 対応にする
- rpc.lockd を利用
将来的には
- カーネル2.6で実装される予定の NFSv4 に期待
- DAFS はまだ先?
- Webサーバは 1-CD Linux でもいい。
_ [tDiary]プラグイン tdiarytimes.rb
日記を書き込んだ時間を記録して、タイムラインに沿った縦棒を表示。
- ruby-gd をインストール
ruby extconf.rb --with-gd2_0 --with-jpeg --with-freetype --with-ttf make make install
- GD をインストール
./configure make make install #freetype, libpng, libjpeg は自動で検出された vi /etc/ld.so.conf -- /usr/local/lib # 追加 -- ldconfig
- 空のPNGファイルを作成(tdiarytimes.png)
- ヘッダに追加
<%=tdiarytimes%>
2003-11-27(Thu) [長年日記]
_ Hiki 運用開始
日記だと埋もれていったりするので、ドキュメント書きのために Wiki を置いてみた。
TODO:
- ページ名.html で閲覧してもらう
- Namazu で検索
- フォーマットを RD に変更
- CVS で履歴管理
_ Apache の error_log が肥大化
[Sat Nov 15 04:02:04 2003] [notice] SIGHUP received. Attempting to restart [Sat Nov 15 04:02:07 2003] [notice] Apache configured -- resuming normal operations [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache shared memory removed (pid 2118) [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache semaphores removed (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Acquiring cache : uid 80 gid 80 perms 666 (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] PHPA 1.3.3r2 on linux_i686_glibc2.1.3 (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Initialised 8MB cache at 0 x405d5000 with 512 process entries (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Lock thresholds 10/10 (pid 2118) [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache shared memory removed (pid 2118) [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache semaphores removed (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Acquiring cache : uid 80 gid 80 perms 666 (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] PHPA 1.3.3r2 on linux_i686_glibc2.1.3 (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Initialised 8MB cache at 0x405d5000 with 512 process entries (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Lock thresholds 10/10 (pid 2118) [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache shared memory removed (pid 2118) [Sat Nov 15 04:02:05 2003] [notice-phpa] Cache semaphores removed (pid 2118) [Sat Nov 15 04:02:07 2003] [notice-phpa] Acquiring cache : uid 80 gid 80 perms 666 (pid 2118)
以下同じ内容で数十万件/日
しかもログ時刻は一緒。
PHPA Support Forum でも同じエラー出てる人たちがいるけどまだ解決していない模様
_ error_log を分割するスクリプト
#!/usr/local/bin/perl
# divlog.pl
# : apache の error_log を分割する
$filename = shift(@ARGV);
open(FILE, "<$filename") or die("file not found");
while(<FILE>) {
$line = $_;
if($line =~ /^\[\w{3} (\w{3}) (\d{2}) [^]]+(\d{4})\]/) {
open(OUT, ">>$filename.$3$1$2");
print OUT $line;
}
}
実行結果
$ sudo ./divlog.pl error_log $ ls error_log error_log.2003Nov04.gz error_log.2003Nov05.gz error_log.2003Nov06.gz error_log.2003Nov07.gz error_log.2003Nov08.gz error_log.2003Nov09.gz error_log.2003Nov10.gz error_log.2003Nov11.gz
2003-11-28(Fri) [長年日記]
_ スケジュール管理ソフトウェア
卓上カレンダーがよく行方不明になるのでカレンダーソフトが欲しい。
どうせなら予定が入力できるほうがいいということでスケジュール管理のソフトを探す
希望
- 軽量
- データ形式が汎用的
- palm と同期できるといい
- できればオープンソース
単独アプリケーション
どっかで見たなーと思ったらCSN1ムービーチャンネルのMY番組表で利用されてるソフトだ。面白そうだし綺麗。
デスクトップに常駐
なぜかDelphiで作られたものが多いように感じた
- デスクトップカレンダー
- 壁カレ
- TCalendar
プラグイン等
_ [PHP]Turck MMCache
コンパイル・インストール
export PHP_PREFIX="/usr/local" $PHP_PREFIX/bin/phpize ./configure --enable-mmcache=shared --with-php-config=$PHP_PREFIX/bin/php-config make make install
vi php.ini
zend_extension="/usr/lib/php4/mmcache.so" mmcache.shm_size="16" mmcache.cache_dir="/tmp/mmcache" mmcache.enable="1" mmcache.optimizer="1" mmcache.check_mtime="1" mmcache.debug="0" mmcache.filter="" mmcache.shm_max="0" mmcache.shm_ttl="0" mmcache.shm_prune_period="0" mmcache.shm_only="0" mmcache.compress="1"
キャッシュディレクトリを作成
mkdir /tmp/mmcache chmod 0777 /tmp/mmcache
2003-11-30(Sun) [長年日記]
_ I/O error
SAMBA からマウントしているファイルが見えなくなった。REBOOT コマンドを打つと「I/O error」。端末の画面には sector なんたらというエラー。
一瞬焦ったが電源 OFF/ON で回復。
もう一度 RAID 、あるいは USB メモリにデータを保存することを考える。



ツッコミを含む