12月 30

ApacheBenchでこのブログのパフォーマンスを計測したら、

Requests per second:    9.94[#/sec]

という、思っていたより残念な結果でした。うーん、思っていたより低いなぁ。。。

で、とりあえずmysql_connectをmysql_pconnectに変えてみたのですが。

Requests per second:    10.01 [#/sec]

と、大して変わらず。。。

めんどくさいけど、ApacheとMySQLの設定から見直そう。PHPをDSOで使ってるのも影響してるのかなぁ。。。

Tagged with:
12月 20

CentOSをネットワークインストールというエントリーでネットワークインストールする方法を書いておいたのですが、これは32bit版のやりかた。

といってもほとんど変わりません。FTPで見に行く先が変わるだけです。今回はCentOS5.4の64bit版をCore2Duoのマシンにインストールしました。

ディレクトリが「/Linux/centos/5.4/os/x86_64」に変わるだけでした。あとは32bit版とまったくおんなじ。

初の64bit環境ですが、ちといろいろと試して遊んでみたいと思います。

Tagged with:
10月 09

25番ポート(smtp)で送信することができないプロバイダが増えてきて、メールサーバもそれに対応できるように設定してやらないといけないわけです。

/etc/rc.d/init.d/qmailを修正します。

# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` ¥
-x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp ¥
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|¥
splogger smtp &

#submission
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` ¥
-x /home/vpopmail/etc/tcp.smtp.cdb 0 submission ¥
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|¥
splogger smtp &

通常は#SMTPだけだと思いますが、ハセテツは併記して587番からの可能なようにしておきました。ちなみに上記例はバーチャルホストに対応した書き方です。

iptablesでポート転送という手段もあったのですが、iptablesでの設定って後から気がつけなくなる可能性がある(設定資料残しておけよっていう話ではありますが)ので、メール関連の設定はQmailにまとめました。

Tagged with:
10月 03

rootじゃ接続できないようにしてあるし、鍵方式での接続しか許可していないので不正ログインされる危険性はとても低いと思っているのですが、それでもせっせとログインしようとしてくる怪しげなプログラム君たちがいます。

ログがひたすら増えるだけでも若干気分が悪いので、SSHで接続できるホストをごりっと制限してしまいました。e-mobile等で外からメンテナンスすることができなくなってしまうので不便ではありますが、まぁレアケースだし、そもそもe-mobile持ってないので気にしないことにしましょう。

/etc/hosts.allow

に接続できるホストのIPアドレスを記載します。ここはホスト名でもいいみたいなんですが、IPにしておきました。

sshd:xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx

複数ある場合は半角スペースで区切るようです。これで、上記IPアドレスからの接続は許可されます。次は禁止ホストの設定です。

/etc/hosts.deny

sshd: ALL

と記述します。

「hosts.allow」→「hosts.deny」の順で解釈するそうです。「hosts.allow」に当該IPアドレスがあればそのまま接続を許可。「hosts.allow」にないIPは次に「hosts.deny」を参照し、そっちにあったら禁止。どっちにもなければ許可になります。

SCP使えばFTPもいらないし、MySQL等もローカル接続のみを許可にして、外部からつなぎたい場合はSSHでポートフォワードすればOK。無駄なポートは空けないことが重要かと。

Tagged with:
10月 03

社内にあるCentOSはntpで時刻同期ができません。「そんなntpdサーバいねーよ」と怒られてしまいます。うーん、自宅では見えてるサーバなんだけどなぁ。。。ポート閉じられてて外に出れないのかなぁ。(←確認してない)

ということで、地道に手動で設定。なんというアナログ。

date mmddhhmmyyyy

めんどくさくなったら調べよう。それまで放置しよう。

月2桁、日2桁、24時で2桁、分2桁、年4桁、ですね。

Tagged with:
9月 03

メールサーバは構築したけど、メールアカウントごとにUNIXアカウントを作りたくない、一台のサーバで複数のドメインを管理したい、そういうニーズは多いはず。

というわけでがんばってみました。

PostfixとDovecotはyumでインストール。

yum -y install postfix
yum -y install dovecot

こんなのは簡単。それぞれの設定や起動等はきちんと丁寧に説明してくれている方々が多くいらっしゃるので割愛。あ、この段階ではドメインはひとつだけ(例としてhoge.comとしておきましょう)、という設定でいいです。アカウントを作る必要もなし。iptables等でFWを構築している場合はSMTPやPOPのポートを開いておくことを忘れずに。

 VirtualMailBoxを利用するには、Postfixのmain.cfに

virtual_mailbox_domains = $myhostname,foo.com
virtual_mailbox_base = /var/spool/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

を追記。「mydestination」は空白にしておくことを忘れずに。例として追加したドメインはfoo.comです。

/etc/postfix/vmailbox

にアカウントを追加していく。

hoge@hoge.com hoge.com/hoge/
foo@foo.com foo.com/foo/

という感じで、「メールアドレス ドメイン/アカウント/」という記述になる。これは、先ほど指定した「virtual_mailbox_base 」が保存先ディレクトリになっていて、そこから「ドメイン/アカウント/」というパスでVirtualMailBoxが作成されるということです。

で、必要なメールアドレスを記述したら

postmap /etc/postfix/vmailbox

でデータベースの更新をしておきましょう。これをしておかないとvmailboxへの変更が反映されません。vmailbox.dbの更新日時が変わっていることを確認しておきましょう。また、メールボックスは自動では作られないので、自分で作成しておきましょう。/var/spool/mail/vhosts/ドメイン/アカウント/以下に「cur」「new」「tmp」が必要です。所有者は5000にしておきましょう。

Postfix側の設定はコレで終わりです。ただ、SMTP認証やPopBeforeSmtp等の認証機能は追加しておきましょう。SPAMの踏み台にされるのも不愉快なものです。

ハセテツはSMTP認証を利用しているため、

saslpasswd2 -u ドメイン名 -c ユーザ名

も必要になります。SMTP認証用のユーザとメールアカウントは別々にしてあります。

Dovecotに関しては

/etc/dovecot-passwd

にアカウントとパスワードを記載します。

hoge@hoge.com:パスワード
foo@foo.com:パスワード

という感じで書きます。パスワードはopenssl passwdで出力作成されたものを記載しましょう。

書き終わったらサービスをリスタートして完成。実際に送受信して試してみましょう。

実際の自分の設定ファイルを読みながら記憶をたどりながら書いているのでもしかしたら抜けがあるかもしれません。おかしな箇所があったら指摘していただけるとうれしく思います。

Tagged with:
7月 21

まぁたいしたことではないのですが、

「トラブル時にはログをみる」

これが如何に大事かというのを痛感しました。設定ファイルを見直す前に、ログを見直す。tailコマンド大活躍!

当然のこと過ぎて、ついつい忘れてしまう今日この頃です。油断大敵。

Tagged with:
6月 30

ln -s リンク先パス リンク名

/home/www/hogeへ/home/www/hoge2という名前でシンボリックリンクを張るには、

ln -s /home/www/hoge /home/www/hoge2

となる。これを知っているのと知らないのとので、運用負荷が大きく違う、と思っている。

Tagged with:
6月 17

cvs -d:pserver:ユーザ名@CVSサーバの場所:/var/cvs checkout モジュール名

クライアントで開発、CVSにコミット。で、そのソースコードをサーバ上にチェックアウトするときに使う。

いちいちクライアントからFTPやSCPでアップするのもよいが、さすがにめんどくさいのでこれ一発。で、あとは随時アップデートを行えば修正箇所の本番への反映もコマンド一発。

cvs -d:pserver:ユーザ名@CVSサーバの場所:/var/cvs update -d モジュール名

環境設定ファイルなんかは更新対象外としたいが、そのやり方はまた後日調べておこう。

Tagged with:
4月 01

手を抜いてyumでperlをインストールしたらどこにインストールされたのかわからんようになってしまいました。ちゃんとソースコード落としてきてmakeしろっていうことなんですよね。

whereis perl

これでperlの実行ファイルへのパスが表示されます。

いやいや、いい加減学習しないとね。(←MySQLで前科アリ)

Tagged with:
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
preload preload preload