メモメモ2

メモメモ1  メモメモ2  メモメモ3



HDDの増設
160GB/SATAのHDDが搭載されているSC430に、250GB/SATAのHDDを増設し、/home以下をここに移動させました。
増設したHDDはこれ。
SC430には、ちょうど都合の良いことに、HDD用のベイがひとつ空きがあります。電源ケーブルは予備がありますがSATAケーブルはありませんので50cm程度の長さのものでL型のコネクタのものを購入しておきます。ここにウニウニとはめ込んで準備完了。SATAケーブルはマザーボードの1番に差し込みました。この番号はSC430のパネルの内側に書いてあります。この1番のHDDを認識する様に初期設定を施しておきます。
CentOSの場合は、hda、hdbではなくsda、sdbになります。ここは注意が必要。
fdiskでHDDの領域確保をします。今回は全部/homeとして使うのでひとつだけフルに作成します。

fdisk /dev/sdb
コマンド:n
コマンドアクション:p
領域番号:1
最初シリンダ:空エンター
終点シリンダ:空エンター
コマンド:pで確認
コマンド:w(書き込み)

次にフォーマット。
mkfs.ext3 /dev/sdb1
勝手に進んでフォーマットが完了します。

とりあえず/mnt/homeにマウント。
mount /dev/sdb1 /mnt/home

/homeのデータをコピー。
cp -a /home/* /mnt/home

/home内のファイルを全部削除。
cd /home
rm -rf *

自動マウントする様に1行追加。
vi /etc/fstab
/dev/sdb1   /home ext3 defaults 1 1

HDDをアンマウントしリブート。
umount /mnt/home
ここで問題発生。アンマウントできない。原因はコマンドを「unmount」と入力していたのでした。疲れがドド〜〜〜。
/sbin/shutdown -r now

リブートしたらdfコマンドで確認。無事/homeが新しいHDDになりました。



cronの設定
Showzieのお勧め専用サーバー


実サーバーで使っているRedhat Enterprise Linux 4ES でWebminからcronを設定しようとしたのですが、時刻、日付け、曜日などがウマくセットできず、何回やっても1時間ごとの設定になってしまいました。以前はできていたので、恐らくWebminがバージョンUPした際に、cron周りがヘンになったんだろうと思ってます。そのうち対応してくれるでしょう。というワケで、SSHでログインして直接設定ファイルを操作しました。
今回はユーザーのcronを設定しました。
ユーザーのcron設定ファイルは/var/spool/cron/以下にあります。それをviで編集します。
左から分、時、日、月、曜日、動作させるスクリプトの順です。曜日は日曜日が0で月曜日が1、順番に土曜日が6です。* を指定すると、毎時、毎分といった具合いになります。
PHPスクリプトを動作させますので、コマンドの部分に /usr/bin/php -q を追加して、スクリプトはフルパスで指定します。

毎日朝4時00分に動作させる例
0 4 * * * /usr/bin/php -q /home/user/test.php

日曜日の朝8時30分に動作させる例
30 8 * * 0 /usr/bin/php -q /home/user/test.php

7時から20時まで、10分ごとに動作させる例
0,10,20,30,40,50 7-20 * * * /usr/bin/php -q /home/user/test.php

設定後、Webminで確認すると正しくセットされていました。

CentOS徹底入門

Apacheのカスタムログ設定
『カスタムログ』で検索するとたくさん出て来ますので、ここでメモする必要もないかと思ったのですが、その通りにやるとApacheが起動できなくてドタバタしてしまいましたので記述しておきます。
アクセスが多くなって来るとApacheのログが巨大になって来ます。Showzieが管理しているサーバーは数GBというとんでもないサイズになります。LogWatchのメールがlogrotate後は早い時刻なのですが、段々と遅い時刻に来るのです。巨大なデータを処理してるんでしょうね。なので、画像ファイルとCSSファイルへのアクセスはログに記述しない様に変更しました。
httpd.conf を以下に変更してApacheを再起動。

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)$" nolog
#CustomLog logs/access.log combined
CustomLog logs/access.log combined env=!nolog

ここでトラブル発生。「モジュールを読み込み済み」みたいなエラーが出てApacheが再起動できません。困った。とりあえず元に戻して再起動してから、どこに原因があるかをチェック。すると。。。

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)$" nolog
#CustomLog logs/access_log combined
CustomLog logs/access_log combined env=!nolog

Redhat Enterprise Linux 4ES のログファイル名は「access.log」ではなくて「access_log」なのでした。なんだ。記述しなおして再起動。ログを確認してみると正常に動作していました。明日のLogWatchのメールが届く時刻が楽しみです。

<<追加>>
バーチャル設定してあるドメインのログを別のファイルに保存する設定を行いました。同時に、ログに記載しないファイルとしてjs、swf、icoを追加しました。
まず、/var/log/httpdの中にひとつディレクトリを作ります。
次に、Apacheの設定ファイルをviで開き、バーチャル部分に以下を追記します。

ErrorLog /var/log/httpd/新しいディレクトリ/error_log
LogLevel emerg
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(js)|(swf)|(ico)|(css)$" nolog
CustomLog /var/log/httpd/新しいディレクトリ/access_log combined env=!nolog

ログを見てみるときれいにhtml、php、cgiなどが並んでいました。

yum update でエラーが出た時の対処方法
ブログにも書いたのですが、忘れない様にメモメモ。
ローカルサーバーのCentOS 4.4 にyumを設定してからしばらくの間順調に動作していましたが、久しぶりにupdateしてみると以下のエラーが出ました。
rpmdb: PANIC: fatal region error detected;〜〜〜
よくわからないのでgoogleで調べてみたら、どうもDBが壊れていて、リビルドしないと正常に動作してくれない様です。。
rpm --rebuilddb
これで一度確認したのですが、やはりエラーで蹴られます。そこで、、/var/lib/rpm下にある__db.001、__db.002、__db.003の3つのファイルをとりあえずtmpに退避させておいて、もう一度
rpm --rebuilddb
しばらく時間がかかるので待っているとエラーは出ずプロンプトに戻りました。
念のため yum check-update で確認後、yum update で最新に更新することができました。


月額10,290円の専用サーバー ・・・ root権限も付いてます
【Smart-VC】 ・・・ ASP型ウェブテレビ会議システム


債務整理キャッシング