qmail でキューからメールが消えない状態に・・・
qmail を使って送受信したにもかかわらず、キューからメールが消えない状態になってしまいました。とりあえず、qmail のキューについて調べた覚書。
キューに存在させる期間の指定
デフォルトは、604800 秒らしいので、短めに設定
# vi /var/qmail/control/queuelifetime
300
qmail を使って送受信したにもかかわらず、キューからメールが消えない状態になってしまいました。とりあえず、qmail のキューについて調べた覚書。
デフォルトは、604800 秒らしいので、短めに設定
# vi /var/qmail/control/queuelifetime
300
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));
ベーシック認証を設定するときは決まって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
を使用してパスワード文字列を作成し記述しました。
負荷の高い処理を制限するために、PHPでタイムアウトの設定(php.ini)を行ったときの覚書。
# vi /etc/php.ini
max_execution_time = 30
max_input_time = 60
※デフォルト値
max_execution_time
スクリプトが強制終了されるまでの最大時間を秒単位で指定します。
無限ループなど、時間のかかるスクリプトを制限し、負荷を上げること防止することができます。
max_input_time
スクリプトがデータを送信する場合の最大時間を秒単位で指定します。
ファイルのアップロード、GET、POSTなどを行った場合に、時間のかかる処理を行った場合に有効です。
あえて重たい処理をさせる場合は、このタイムアウト時間の設定を長くしましょう。
また、負荷を考慮する場合は、タイムアウトの時間を短くしましょう。
ディレクトリは存在するのにURLの最後にスラッシュを付けなければアクセスエラーになってしまう時の対応。
スラッシュを付けなくてもディレクトリ内の index.html index.htm などにアクセスできるようにするには
apacheの設定ファイル
UseCanonicalName On
↓
UseCanonicalName Off
にしapacheを再起動してください。
これで http://example.com/aaa でも http://example.com/aaa/ でも同じページが表示されるようになります。
18782(嫌な奴)+18782(嫌な奴)=37564(皆殺し)
なんだこれ うまいことゴロがあうなぁ・・・![]()
現在のサービスの状態を表示
# 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で特定の行だけを処理する
ユーザースペースを提供しているようなサーバーではどのユーザーがどの程度使用しているのか気になるところです。
# 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
などで出力することで、他のシステムからでも簡単に情報を使えるのではないでしょうか?
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にダウンロードしています。
詳細はドキュメントを参照
phpMyAdminを設定しているとパーミッションの設定しだいで以下のメッセージが出ることがあります。
"Wrong permissions on configuration file, should not be world writable!"
config.inc.phpのPermissionを変更することで正常に動作できます
# chmod 644 /phpmyadmin/config.inc.php
Zend Optimizerとは、無償で使えるPHPアプリケーションの実行速度を高速化させるソフトウェアです。
※ダウンロードするにはユーザー登録が必要になります。(無料)
# 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
ネットワークカードを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
ゲートウェイをローカル、グローバルのインターフェースに割り当てたことにより、外を見に行くはずが中を見に行くといった状態になっている事が原因のようです。
ローカルのゲートウェイの記述を削除して、ネットワークを再起動させると問題なく外部と通信できるようになりました。
Windows Update で2月13日から強制的にアップデート対象になってしまいました。現象まだ不具合が多いような感じなので、入れたくない人も多いと思います。私もその一人で対応策を探してみたので、参考サイトを紹介。
QRコードをPHPで簡単に作成する方法を探していたところクラス化されたPHPのプログラムを見つけたので紹介
このクラスを使えば、以下のサイトのような感じで使うことができます。
シェルスクリプトでプロセスが生きているのか確認し、確認できないときは自動で起動させるというスクリプト
このスクリプトを定期的に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
php.ini のテンプレートファイルは2種類用意されており、
php.ini-dist(開発用)
php.ini-recommended(運用用)
の設定になっています。
詳細は参考サイトを確認してみてください。
Windows版MySQLは、デフォルトではテーブル名を自動的に小文字に変換してしまいます。
MySQLの設定を変更することで大文字のままテーブルを作成することが可能になります。
my.cnfの[mysqld]項目に
lower_case_table_names=0
を記述し、MySQLを再起動してください。
Dell 純正Raidを外し、定評のある3ware 9650SEを設定してみました。
その設定手順の覚書。
3ware 9650SE の上側のコネクタがslot0(master)になります。
起動ディスクの作成
フロッピーを選択し、Sを押して導入します。
正常に組み込めたらエンターを押してセットアップを続けます。
ドライバを適用させないとOSからハードディスクを認識できません。
WindowsXPの問題でServicePack?(SP)を適用済みOSディスクを使用していれば起きないらしいです。(未確認)

※ディストリビューションごとにドライバは違います。
http://www.3ware.com/kb/article.aspx?id=14546
上記サイトよりディストリビューションにあったドライバをダウンロードし、フロッピーにコピーしてください。
今回はこのドライバを使いました。
http://www.3ware.com/KB/article.aspx?id=15145

インストール時にドライバを組み込むのでセットアップ画面で
linux dd
を入力してエンターを押します。
ディスクをセットしドライバを設定してください。
あとは通常通りのインストールです。
ソフトバンクより倖田來未モデルの携帯電話を2月中旬以降に発売されます。
オンラインショップでは2月1日より予約受付が開始されています。
オリジナルデザインの携帯ポーチも付いてるそうです。
最近では様々な情報をグラフ化して視覚的にみれるようになっています。PHPでグラフを作成しているサイトも多く、どうやって作成しているのだろうということでサイトを調べてみました。
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()を使用したほうが高速に取得することが可能です。
PC の不要なファイルを削除、圧縮してくれるMicrosoftのクリーンアップサービス。処理速度を遅くする不要なファイルを検索し、削除することができます。
SSIを有効にしてみる ( 05.20 )
qmail のエラー対応 ( 05.19 )
mysqlhotcopy でのエラー対応 ( 05.11 )
htaccessでphp_valueの設定をするとエラーになったときの対応 ( 05.02 )
ホームページのデバックを行わないようにするには ( 05.02 )
LogWatchメールのProFTPD TimeOut Logを通知しないようにする ( 05.01 )
Zend Frameworkをインストール PHP ( 03.24 )
OSの再インストールに伴うNortonの再インストール方法 ( 03.23 )
クリックボート管理ソフト CLCL ( 03.19 )
日付の整合性チェック checkdate PHP ( 03.19 )
APC製 UPS ( 4 )
CSS ・ HTML ・ Javascript ( 3 )
ソフト・ツール ( 18 )
PHP関連 ( 22 )
面白動画(YouTube) ( 1 )
MySQL関連 ( 12 )
Apacheについて ( 19 )
サーバー設定 ( 29 )
日々の出来事 ( 24 )