2008.02.29 Fri

qmail でキューからメールが消えない状態に・・・

qmail を使って送受信したにもかかわらず、キューからメールが消えない状態になってしまいました。とりあえず、qmail のキューについて調べた覚書。

キューに存在させる期間の指定

デフォルトは、604800 秒らしいので、短めに設定

# vi /var/qmail/control/queuelifetime
300

参考サイト

2008.02.28 Thu

PHP 月末の日付を取得する方法

PHPを使っていると日付の処理で月末を求めることがあります。
月末の取得方法の覚書。

前提として$year $month には今年と今月を設定

今月末

$day = date("d", mktime(0, 0, 0, $month + 1, 0, $year));

先月末

$day = date("d", mktime(0, 0, 0, $month , 0, $year));

来月末

$day = date("d", mktime(0, 0, 0, $month - 1 , 0, $year));

2008.02.28 Thu

memcachedについて調べたサイト

2008.02.28 Thu

htaccess を使わないでベーシック認証

htaccess を使わないでベーシック認証

ベーシック認証を設定するときは決まってhtaccessを使って制限をかけていたのですが、apacheでもできるのでは?とうことでapacheの設定ファイルに記述してベーシック認証を行います。

# vi /usr/local/apache/conf/httpd.conf

<Directory "/home/htdocs/public_html/admin">
AuthUserFile /home/htdocs/public_html/admin/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Your Password"
AuthType Basic
Require valid-user
</Directory>

htpasswd は
http://www.chama.ne.jp/access/index.htm
を使用してパスワード文字列を作成し記述しました。

2008.02.28 Thu

PHPでタイムアウトの設定

負荷の高い処理を制限するために、PHPでタイムアウトの設定(php.ini)を行ったときの覚書。

# vi /etc/php.ini
max_execution_time = 30
max_input_time = 60
※デフォルト値


max_execution_time

スクリプトが強制終了されるまでの最大時間を秒単位で指定します。
無限ループなど、時間のかかるスクリプトを制限し、負荷を上げること防止することができます。

max_input_time

スクリプトがデータを送信する場合の最大時間を秒単位で指定します。
ファイルのアップロード、GET、POSTなどを行った場合に、時間のかかる処理を行った場合に有効です。



あえて重たい処理をさせる場合は、このタイムアウト時間の設定を長くしましょう。
また、負荷を考慮する場合は、タイムアウトの時間を短くしましょう。

2008.02.26 Tue

URLの最後にスラッシュをつけないでもページを表示させる

ディレクトリは存在するのにURLの最後にスラッシュを付けなければアクセスエラーになってしまう時の対応。

スラッシュを付けなくてもディレクトリ内の index.html index.htm などにアクセスできるようにするには

apacheの設定ファイル

UseCanonicalName On

UseCanonicalName Off

にしapacheを再起動してください。

これで http://example.com/aaa でも http://example.com/aaa/ でも同じページが表示されるようになります。

参考サイト

2008.02.24 Sun

久々にガンプラ MS-06S ZAKUU シャア専用ザク

久々にガンプラ MS-06S ZAKUU シャア専用ザク

久々に作ってみたのでアップ。

「MSの性能の違いが戦力の決定的差ではないということを・・・教えてやる!」

いや〜かっこいい!

2008.02.22 Fri

最近みつけた おぉっと思ったサイト

2008.02.22 Fri

今流行のインド式?

18782(嫌な奴)+18782(嫌な奴)=37564(皆殺し)

なんだこれ うまいことゴロがあうなぁ・・・

2008.02.22 Fri

バレンタインのチョコレートにこれをもらったら・・・

バレンタインのチョコレートにこれをもらったら・・・

ふと面白いチョコレートがないかと探していたらこんなのでてきました。ここまで似ているとさすがに食べたくない。

2008.02.22 Fri

Linux で知ってたら便利だなコマンド

現在のサービスの状態を表示

# service --status-all
rdisc is stopped
rpc.idmapd is stopped
saslauthd is stopped
sendmail is stopped
smartd is stopped
snmpd (pid 5942) is running...
snmptrapd is stopped

カレントディレクトリにある一番大きいファイルを見つける方法

# du -S | sort -n
8976 ./test/public_html/img/3
9244 ./test/phpmyadmin/lang
12964 ./test/public_html/img/4
16244 ./test/public_html/img/2
17044 ./test/public_html/img/13
31272 ./test/public_html/img/1

カレントディレクトリのファイル数を表示

# ls | wc -l

AWKで特定の行だけを処理する

参考サイト

2008.02.21 Thu

Linux ユーザーディレクトリの使用量が多いのは誰?

ユーザースペースを提供しているようなサーバーではどのユーザーがどの程度使用しているのか気になるところです。

# du -b -s /home/* |sort -nr
1053724 /home/user01
925928 /home/user02
722748 /home/user03
429456 /home/user04
309808 /home/user05

でデータ量の多いユーザーごと(byte単位)に表示させることができます。

# du -b -s /home/* |sort -nr > user_df.txt

などで出力することで、他のシステムからでも簡単に情報を使えるのではないでしょうか?

参考サイト

2008.02.21 Thu

Windows で Rsync と同じ処理ができる cwRsync

Windowsでもrsyncが使えないかということで調べた結果 cwRsyncを使えば簡単にrsyncと同様の機能が使えるようになります。

インストール後にコマンドプロンプトを立ち上げます。

インストールディレクトリに移動
C:\> cd C:\Program Files\cwRsync\bin
rsyncコマンドを実行
rsync -e ssh -pva root@192.168.0.150:/home .

コマンドの例として リモートサーバーの/home ディレクトリをC:\Program Files\cwRsync\binにダウンロードしています。

詳細はドキュメントを参照

参考サイト

2008.02.20 Wed

phpMyAdmin の設定ファイルパーミッションエラー

phpMyAdminを設定しているとパーミッションの設定しだいで以下のメッセージが出ることがあります。

"Wrong permissions on configuration file, should not be world writable!"

config.inc.phpのPermissionを変更することで正常に動作できます

# chmod 644 /phpmyadmin/config.inc.php

2008.02.20 Wed

ZendOptimizer 3.3 インストール

ZendOptimizer 3.3 インストール

Zend Optimizerとは、無償で使えるPHPアプリケーションの実行速度を高速化させるソフトウェアです。

※ダウンロードするにはユーザー登録が必要になります。(無料)

ZendOptimizer 3.3 インストール

# tar zvfx ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.3.0a-linux-glibc21-i386
# ./install
後はOKを押し続ける

設定ファイルの確認

# vi /etc/php.ini

以下の記述がphp.iniに追加されていることを確認

[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0
zend_optimizer.version=3.3.0a
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

2008.02.15 Fri

destination host unreachable の原因について

ネットワークカードを2枚さして外部に接続しようとpingを打ったときに発生したエラー。

# ping www.yahoo.co.jp
PING www.yahoo.co.jp (124.83.139.191) 56(84) bytes of data.
From 192.168.0.102 icmp_seq=2 Destination Host Unreachable
From 192.168.0.102 icmp_seq=3 Destination Host Unreachable
From 192.168.0.102 icmp_seq=4 Destination Host Unreachable

原因

ゲートウェイをローカル、グローバルのインターフェースに割り当てたことにより、外を見に行くはずが中を見に行くといった状態になっている事が原因のようです。

対応

ローカルのゲートウェイの記述を削除して、ネットワークを再起動させると問題なく外部と通信できるようになりました。

参考サイト

2008.02.14 Thu

Internet Explorer 7 をインストールしない方法

Windows Update で2月13日から強制的にアップデート対象になってしまいました。現象まだ不具合が多いような感じなので、入れたくない人も多いと思います。私もその一人で対応策を探してみたので、参考サイトを紹介。

2008.02.14 Thu

QRコードをPHPで簡単に作成する方法

QRコードをPHPで簡単に作成する方法

QRコードをPHPで簡単に作成する方法を探していたところクラス化されたPHPのプログラムを見つけたので紹介

このクラスを使えば、以下のサイトのような感じで使うことができます。

2008.02.12 Tue

apcupsdを常に起動させておくために

シェルスクリプトでプロセスが生きているのか確認し、確認できないときは自動で起動させるというスクリプト

このスクリプトを定期的にcronで実行させることで常にapcupsdが起動されることになります。

#!/bin/sh
isAlive=`ps -ef | grep apcupsd | grep -v grep | wc -l`
if [ $isAlive = 0 ]; then
/etc/rc.d/init.d/apcupsd start
fi

2008.02.12 Tue

この技術は偉大だということで 大人のお人形

この技術は偉大だということで 大人のお人形
2008.02.12 Tue

アスタリスク(****)で隠されたパスワードを表示するツール

アスタリスク(****)で隠されたパスワードを表示するツール

Asterisk Logger はアプリケーションのパスワード入力欄のアスタリスク(****)で隠されたパスワードを表示するツールです。

2008.02.12 Tue

PHP.iniの2種類のテンプレートの違い

php.ini のテンプレートファイルは2種類用意されており、

php.ini-dist(開発用)
php.ini-recommended(運用用)

の設定になっています。

詳細は参考サイトを確認してみてください。

参考サイト

2008.02.12 Tue

Windows版MySQLのテーブル名が小文字になる

Windows版MySQLは、デフォルトではテーブル名を自動的に小文字に変換してしまいます。

MySQLの設定を変更することで大文字のままテーブルを作成することが可能になります。

my.cnfの[mysqld]項目に

lower_case_table_names=0

を記述し、MySQLを再起動してください。

2008.02.07 Thu

Dell 3ware 9650SE でミラーを構成する

Dell 3ware 9650SE でミラーを構成する

Dell 純正Raidを外し、定評のある3ware 9650SEを設定してみました。
その設定手順の覚書。

ハードウェア

  • 3ware 9650SEをサーバー・PCに設置してください。
  • シリアルケーブルでハードディスクを接続。

3ware 9650SE の上側のコネクタがslot0(master)になります。

3ware 9650SE BIOSの設定 Mirror 構成

  1. 起動画面で、RAIDの情報が表示されたら ALT + 3 を押します。
  2. ディスク情報の画面が表示されるので、使用するディスクをスペースで選択し、Create Unit を選択します。
  3. ここでRaid Configuration が Mirrorとなっていることを確認して、OKボタンを押してください。

Windowsのインストール準備 ドライバディスクの作成

起動ディスクの作成

  • Raidに付属しているディスクの中にWindows用のドライバがあるので、それをFDにコピーします。

Windows 2003 Serverへインストール (動作確認済み)

  • セットアップ画面でF6を押してインストール時にドライバを適用させます。

フロッピーを選択し、Sを押して導入します。
正常に組み込めたらエンターを押してセットアップを続けます。

  • あとは通常通りインストールを行うことが出来きました。


Windows XPへインストール (失敗ブルーバックになりまました)

  • セットアップ画面でF6を押してインストール時にドライバを適用させます。

ドライバを適用させないとOSからハードディスクを認識できません。

  • Windows XP の場合 pci.sys エラーでブルーバック画面が表示されたまま作業を進めれませんでした。

WindowsXPの問題でServicePack?(SP)を適用済みOSディスクを使用していれば起きないらしいです。(未確認)

CentOS 5のインストール準備 ドライバディスクの作成

※ディストリビューションごとにドライバは違います。

http://www.3ware.com/kb/article.aspx?id=14546

上記サイトよりディストリビューションにあったドライバをダウンロードし、フロッピーにコピーしてください。

今回はこのドライバを使いました。
http://www.3ware.com/KB/article.aspx?id=15145

CentOS 5 のインストール (動作確認済み)

インストール時にドライバを組み込むのでセットアップ画面で

linux dd

を入力してエンターを押します。

ディスクをセットしドライバを設定してください。
あとは通常通りのインストールです。

参考サイト

2008.02.06 Wed

ソフトバンクより倖田來未モデル 815T 発売

ソフトバンクより倖田來未モデル 815T 発売

ソフトバンクより倖田來未モデルの携帯電話を2月中旬以降に発売されます。
オンラインショップでは2月1日より予約受付が開始されています。

オリジナルデザインの携帯ポーチも付いてるそうです。

2008.02.05 Tue

PHP でグラフを作成するには

最近では様々な情報をグラフ化して視覚的にみれるようになっています。PHPでグラフを作成しているサイトも多く、どうやって作成しているのだろうということでサイトを調べてみました。

配布サイト

参考サイト

2008.02.05 Tue

FFmpegで作る動画共有サイト 2008/1/29発売

FFmpegで作る動画共有サイト 2008/1/29発売

動画変換系の本については珍しいなと思ったので紹介しておきます。

2008.02.02 Sat

MySQL Limit制限をつけない場合の検索該当件数取得

MySQLでLimit を使って取得する情報に制限をつける場合、Limitを指定しない場合は何件取得できるのかという情報がほしいときがあります。

SQL_CALC_FOUND_ROWSをクエリ文につけることで、全件数の取得が可能になります。

LIMITを使用したクエリ

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM テーブル LIMIT 0,10;

直前のSQL_CALC_FOUND_ROWSを指定したクエリの全件数を取得

mysql> SELECT FOUND_ROWS();
 +--------------+
 | FOUND_ROWS() |
 +--------------+
 | 12345 |
 +--------------+

mysql> SELECT COUNT(*) FROM テーブル;

上記クエリー分で全件数を取得するよりはFOUND_ROWS()を使用したほうが高速に取得することが可能です。

参考サイト

2008.02.01 Fri

クリーンアップ センター - Windows Live OneCare PC セーフティ

クリーンアップ センター - Windows Live OneCare PC セーフティ

PC の不要なファイルを削除、圧縮してくれるMicrosoftのクリーンアップサービス。処理速度を遅くする不要なファイルを検索し、削除することができます。

システム構築に関する覚書トップページへ