A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

LAMPの設定

LAMPとは、Linux+Apache+Mysql+PHPというWebアプリケーションの実行環境の通称ですね。PをPerlやPythonと読む場合もありますが、元々の言葉の由来はPHPなんじゃないでしょうか。

で、個人的に、MySQL+PHP環境を好んで使うことが無かったので、あまり設定方法をしりません。しかし、いろいろ検証する度に設定方法を調べるのもアレなので、メモを残しておきます。

なお、環境としてはCentOSやFedoraなどの、yum、chkconfig、serviceコマンドが使える環境を想定しています。

Linux+Apache

あまりここでは書くことは無いでしょうが、検証環境を作る時はだいたいWebのDocument Rootを使わないので、その設定の書き方です。httpd.confに追記します。

Webアプリケーションのパスを「/path/to/web_apps」とし、Webからのアクセスを「http://example.com/web_apps/」としたい場合の書き方。

Alias /web_apps /path/to/web_apps <Directory /path/to/web_apps> Order allow,deny Allow from all #AllowOverride All </Directory>

.htaccessなどを有効にしたい場合は、「AllowOverride All」のコメントを外します。

最近、apacheやphpをyumなどでインストールすると、phpが既に有効になっていますので、その辺は省略します。

PHP

yumでの一般的なインストール方法の例です。

yum install php php-mbstring php-gd php-mysql

関係モジュールも含めてインストールします。

php php本体です。 php-mbstring マルチバイトを扱うモジュール。日本語環境を利用する場合によく要求されます。 php-gd 画像加工用のモジュールですね。WebでPhotoAlbumを使うときに要求されることが多いかな。 php-mysql PHPからMySQLへアクセスする為のモジュール。

PHPが正しく動作しているかは、アクセス先のディレクトリに、拡張子がphp(index.phpとか)のファイルを作成し、以下のような内容にします。

<?php phpinfo();?>

ブラウザからこのファイルへアクセスして、PHPのパラメータが出てくれば動作確認OKです。

ちなみに、確認後は速やかにファイルを消しましょう。

MySQL

まず、yumからのインストール&デーモンの起動方法。

yum install mysql-server chkconfig mysqld on service mysqld […]

サーバリプレース完了

新しいサーバ用のモニタは37インチの亀山モデルですw あ、これは単にサーバ専用のディスクが無いので、代わりにテレビにつなげているだけです。サーバにHDMI端子が付いてるので、すんなりつながります。大画面でLinuxもいいですねw さて、サーバのリプレースを完了しました。以前、M/Bが壊れてから仮サーバで動かしていたんですが、それから完全に修復した感じです。 で、今回はサーバをKVM(Kernel-based Virtual Machine)で仮想化しています。 Web・Mail・DNSなどの公開用OSと、ファイルサーバ用家庭内OSとで分けました。おかげでセキュリティ設定がシンプルになりました。シンプルなのは強固なことにもつながるのでいいですね。 ところで、今回のリプレースはいくつか失敗をしました。 ディスクをRAID1(ミラー)では無く、RAID0(ストライピング)で組んで公開してしまった。 どこでどう間違えたか全然記憶が無いんだけど、一端データをすべて別のディスクに移してRAIDを再構築しました。RAID0だと、スピードはx2だけど、障害発生率もx2なので、速攻で直しました。 M/BがLGA775なのにDDR3 これはわかる人にしかわかんない話だけど、だいぶ珍しいM/Bです。おかげで既存のメモリが使えなくて余計な出費になりました・・・ ってことで、今回の構成は以下の通りです。 CPU:Core2Duo E6400 ちょっと古いけど、2coreで且つ電気を食わないのでお気に入り。 MEM:DDR3-1333 DualChannel 4GByte でもM/Bが1066までしか対応してない。 M/B:Gigabyte GA-EG41MFT-US2H LGA775&DDRの珍しいM/B。MicroATX。グラボ、サウンド、Nic内蔵。HDMI出力端子付き。 Gigabyteは、Linuxとの親和性が高くていいですね。 HDD OCZSSD2-1VTX30G(SSD 30G) OS領域はSSD(ディスクでは無くメモリ)を使ってます。可動部分が無いので、省電力・低障害性が狙いです。書き換えがほとんど発生しないOS領域のみなので、軽くバックアップだけをとって障害に備えます。 SEAGATE ST31000528AS(1TB)x2 こっちはデータ領域。1TBx2本でミラーを組んでいます。 一応、基本機能は提供できる状態になっていますが、内部的な処理がまだ未完成です。バックアップもSDカードを挿してそこに取ろうかなと思ってます。

[…]

RAID操作

なんかいろいろやらかしてしまったので、コマンドを調べたついでに備忘録として残しておきます・・・ 操作を誤るとデータがすっ飛ぶのでご注意ください。 パーテーションの作成 「/dev/vda」ディスク上のパーテーションを切るときコマンド。 fdisk /dev/vda 使い方は省略。RAIDパーテーションを作る時は領域タイプをfd(Linux raid 自動検出)を使う。 RAID1(ミラー)の作成。 たとえば、/dev/vda1と/dev/vdb1でミラーを組んで、/dev/md0を作る方法。 mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/vda1 /dev/vdb1 あるいは mdadm –create /dev/md0 –l1 –n2 /dev/vda1 /dev/vdb1 ※オプションを省略形で書いているだけで、どちらも同じ意味 作成後、マウントする前にファイルシステムを作成して空っぽのディスクにする(ファイルシステムがext3の場合)。 mkfs.ext3 /dev/md0 なお、ミラーディスクを作るとまずそれぞれのディスクが同期を始めます。これが終わらない状態でサーバを落としたりすると起動しなくなったりするので注意です。同期状態の確認方法は以下のコマンド。 cat /proc/mdstat RAIDを解除する 当然、mountを解除してから実行します。/(root)や/varなどはmount解除がそう簡単にはできないので注意(やり方は割愛します)。 以下、/dev/vda1・/dev/vdb1でRAIDパーテーションの/dev/md0ができている想定。 mdadm –misc –stop /dev/md0 この後、「cat /proc/mdstat」で確認すると「/dev/md0」が見えなくなってます。 mdadm –misc –zero-superblock /dev/vda1 /dev/vdb1

[…]

DeltaMail

Becky!の場合 1,↓「ツール→メールボックスの設定」を選択。 2、「基本設定」タブから「POP3S」を選択。また、認証方式を「標準」にする。ちなみに、「POP3S」を選択時に、「ポート番号を云々・・・」と出てくるので「はい」を選択(「いいえ」でも大丈夫だが)。 3,「詳細」タブで、以下を設定する。 POP3が「995」になっていること。なっていなければ995を入力。 「SSL/TLS関連」のところで、「証明書を検証しない」にチェック。また、「クライアント証明書を使用」はチェックをOFFにする。 「SMTP認証」をチェック。図の赤枠内のチェックや欄は特にいじらない(なにもしなくても画像のようになってるはず)。 「POP before SMTPを使用」はOFF。 設定が終わったらOKでウインドウを閉じる。 Outlook Expressの場合 1,「ツール」→「アカウント」を選択。 2,プロパティを選択 3,「サーバ」タブを選択し、「このサーバーは認証が必要」にチェック。 また、「設定」ボタンを選択し、「受信メールサーバーと同じ設定を使用する」がチェックされていることを確認する。 4,「詳細設定」タブを開き、POP3側の「このサーバーはセキュリティ云々」をチェックする。チェックすると番号が「995」に変わるはず。 設定が終わったらOKでウインドウを閉じる。

munin備忘録

サーバのリソースをお手軽にグラフ化できるmuninですが、いろいろいじってるので備忘録として残しておきます。

munin

本体。HTMLデータを作ったりしてる。実体は/etc/cron.d/muninにあり、そこで定期的にデータを作ってる。 設定は、/etc/munin.conf。監視ノードを追加したい時には、以下のような行を追加すれば良い。

[Nickname] address 192.168.1.xxx use_node_name yes munin-node

所謂監視エージェント。こっちの実体はデーモンとして稼働している。 設定ファイルは/etc/munin-node.confで、通常は変更不要だが、munin本体が別サーバにある場合は、以下のように通信許可の設定をする必要がある。

allow ^192\.168\.1\.2$ munin-node-configure

いろいろ、プラグインの設定支援をしてくれる。 CentOS5の場合は実体は/usr/sbin/munin-node-configureだった。

munin-node-configure

プラグイン一覧と、利用状況が表示される。

munin-node-configure –suggest

プラグインが使えない原因などを教えてくれる。特にコメントが出ていなければたぶん使用可能。

munin-node-configure –shell

使用可能っぽいプラグインを追加する為のコマンド(lnコマンド)をリストしてくれる。「munin-node-configure –shell | sh」とすれば一発登録も可能。

dovecotとSquirrelMailをいじる

今までずっとpostfix+pop3(apop+pop before SMTP)環境で運用をしてきたけど、さすがに時代遅れ感が出てきた(コンパイルが通るツールが無くなってきた)ので、最新環境を検証してみることにした。 とりあえず方針を決める まず関係するツール。 SMTP:postfix(Maildir環境) これは今までと変更せず。S25Rによる不正メールの除外もそのまま。受信したメールはmboxよりも安全性の高いMaildirで実装。また、pop before SMTPに変わって、SMTP Auth(SMTP認証)を使う。 pop3:dovecot 今までのteapopから変更。 MUA:SquirrelMail 時々DNSの応答がおかしかったり、そもそも家でしかメールを見れない状態から脱したいのでWebメールを使う。 自分だけのメールサーバでは無いので、いろいろポリシーも決めておく。 ユーザはサーバのUNIXユーザ。 これは非常に悩んだけど、それほど大規模ユーザではないので、LDAPとかを採用するよりも汎用性が高く、シンプル。 サーバにメールを溜め込まない IMAPは使いたくない使わない 機能が限定的になるし、IMAP長期保管に向かない(と個人的に感じてる)。 メールデータの蓄積に責任を持ちたくない Webメールはあくまで一時利用目的。 一時的なリモート閲覧用 セキュリティは堅く 以前はまだ歴史が浅くて対応を見合わせてきたプロトコルがたくさんあったけど、いつの間にか一般的になってきてるんだなぁ…と実感。 POP3S OutlookとBecky!が対応していることを確認したので採用。 SMTP認証 これも最近では一般的になってきた。 SPAM対策 存在しないユーザへのメールはUser Unknownで返す(当たり前なことなんだけど、qmailはできなかったのでw)。 当たり前だけど第三者転送は許可しない。 S25R。 当たり前だが、ユーザは/sbin/nologin設定 Maildirでデータの保守性を維持 Webメールは、個別FQDN運用でhttps。BASIC認証も併用するかも。Digest認証は携帯からだとダメな場合が多いので悩む。 メールユーザの作成はWebからさせない。 postfixをSMTP authに対応させる。 基本的なpostfixの設定方法は省きます。S25Rとかもどこかで書いてたと思うので略。 /etc/postfix/main.cfあたりに以下の行を追加。 # SMTP auth 2010.07.19 add smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions […]

KVMでゲストOSを操る

LVMの操作

今回は、ディスクをLVM(Logical Volume Manager)に一任してるので、その操作が必要になりました。GUIからも操作ができるけど、とりあえずCUIでの操作もしたいのでコマンドを確認します。 物理ディスク情報を表示する

pvdisplay

論理ディスクの情報を見る

vgdisplay

VMから利用可能なボリュームを確認するのはこれが一番楽かも・・・

# ls -l /dev/mapper/ ゲストOSの作成

virt-managerを使うとGUIから簡単にゲストOSを作れるけど、ネットのブリッジ設定とか微妙にわからなかったり、CUIのvirt-installが思ったより簡単に使えたので、virt-installからのゲストOS作成方法。 注意するポイントは、今回CD-ROMインストールをしたんですが、CD-ROMを入れた瞬間にホストOSが自動認識してしっかり掴みに来ます。CD-ROMドライブは排他利用ができないようなので、そういう環境の場合はumountするなりしましょう。 ってことで作成方法ですが、私は以下のようなシェルを書いて作成しました。「-c /dev/cdrom」て書くことでCD-ROMを認識してくれます。 ディスク関連のオプションをコメントアウトしているのは、複数のディスクを認識させたいときにコメントアウトを外して、適時内容を書き換えています。 ちなみにこれだとvirt-viewerが起動してその中でインストールが始まります。コンソールオンリーでやりたい場合は、最後の2行のコメントアウトを外します。

#!/bin/bash name=testvm1 memsize=512 disk0=/dev/mapper/VolGroup00-xxxx # disk1=/dev/mapper/VolGroup01-xxxx # disk2=/dev/mapper/VolGroup02-xxxx # OS=CentOS 5.5 os_type=linux os_variant=rhel5.4 exec virt-install \ -n $name \ -r $memsize \ -c /dev/cdrom \ –vcpus=2 […]

KVMのインスコ

Amazon:4798121401

 

KVMの本が出たので早速買ったんですが、CentOSのことが書いてない・・・。Fedoraは書いてあるけど、若干違う? とりあえず、環境構築の検証で何度もインストールをしてるんですが、さすがにメモをとらないとヤバいので、メモついでにブログっておきます。

OSのセットアップ

x86_64のCentOS5.5ベースでいってます。 32ビット版Linuxを入れてもメモリが4GBに制限されるし、ホストOSが64ビットなら、ゲストOSは32ビット・64ビットどちらも選択できるので幅が広がります。 ★選択するソフトウェア ホストOSは最小構成にします。 セットアップ中のソフトウェアの構成では、GUIを使いたいのでGnomeを選択します。あとなんだっけ?アプリ関連はすべてOFF。サーバはデフォで印刷が選択されてるのでそれもOFF。 確かベースシステム関連と、GnomeくらいしかONにしてなかったかも。 仮想化関係は後で入れるのでOFF。 ★ディスクパーテーション ディスクパーテーションでは、LVMを選択ですが、以下のような感じにしました。

LVM名 割り当て マウント先 LV00_root 4G /(ルートパーテーション) LV01_swap 4G swap LV02_web 4G Webサーバ用 LV03_fs 4G ファイルサーバ用サーバ用 LV04_vm 4G その他検証サーバ用1 LV05_vm 4G その他検証サーバ用2 LV06_vm 残り(8Gくらい) その他検証サーバ用3

VM関連はマウントさせる必要が無いんですが、セットアップに怒られるので渋々設定。後でマウントを外します。 あ、ちなみに32GのSSDを使ってます。 OS部分をここにつっこんで、データ部分はディスクでミラーを組むつもり。 CentOSはフルインストしなければ、4GBでだいたい50%前後を消費します。 ★ネットワーク 固定IPを振ります。サーバがDHCPなんてあり得ないので(後で変更してもいいけど) ★その他 NTPを有効にします。仮想化環境はホストOSの時計さえ合わせればOKなので。 あと、SELinuxはよくわからんのでOFF。 […]

LUMIX DMC-TZ10

Amazon:B00361F6Q8 デジカメを買いました。 親にあげた二世代前に買ったデジカメ(Nikonのcoolpix S10)が壊れたので、今まで使ってたPanasonicのDMC-TZ3をあげて、代わりにDMC-TZ10を購入。 なんだかんだで、TZ3は2年半も使ってたのか。 型名の通りTZ3→TZ5→TZ7→TZ10という流れの直系の後継機ですね。 ざっと見た感じ、TZ3に比べてハデな変化が無く、地味に進化してる感じです。 GPS機能が付いている(地名とか出せるらしい)。 光学12倍ズーム(TZ3は10倍)。 広角25mm(TZ3は28mm)。 1210万画素(TZ3は720万画素)。 動画がAVCHD Lite(ハイブジョン画質)。HDMIミニ端子付き(ケーブルは別売)。 SDHCメモリカード対応。 ハデな機能向上よりも、こういう地味な機能向上は好感が持てます。ほかにも撮影深度の調整とか一眼レフカメラみたいな設定ができるみたい。カメラ素人の私にはその辺はよくわかりません。全自動で撮っちゃいます。 手ぶれ補正とかはさほど変化なし。やっぱり暗いとブレます。 その他、TZ3からの変化。 本体が一回り小さくなった。感覚的には薄くなった。 再生がダイヤルじゃなくて別のスライドボタン。 動画撮影ボタンもシャッターとは別。 連写が画質優先だと3枚。 TZ3が何でもかんでもダイヤル選択だったのに対し、撮影設定関連はダイヤル。表示、撮影モードは別のボタンに出したと、機能とUIを完全に分けてますね。特に良い・悪いとも言えないけど、ダイヤルを回す頻度が確実に減ると思う。 あと、これだけ機能が増えて一回り小さく、若干軽量化されているところもすばらしいですね。感覚的にはTZ3より薄くなった感じ。どこにレンズが収まってるのか不思議な感じです。 バッテリも一回り薄くなってるので、電池の消耗時間も気になるところです。 あと、デジタルズームが今までただの拡大機能(画質が劣化)だったので一切使ってませんでしたが、この機種はそれを抑制する機能が付いているそうです。その機能がどの程度いいのかが今後試してみたいところかな。 たまに動体撮影をするので、連写枚数が減ったのが残念。前と同じ画質ならたくさんとれるんだけどね。せっかくだから高解像度で撮りたいし。