スタッフブログ

ローハイドのスタッフが、日常のこと、ネットで見つけた便利な情報、仕事に役立つとっておきのテクニックを紹介します。

Fight! the Rawhide

2007年4 月30日20:19

postfix + saslauthd による SMTP-AUTH

STAFF BLOG コメント (0)

よこはま

どもうです。横浜です。

今まで、うちのMailサーバはSMTP-AUTH使えていませんでした・・・と、いうことに気がつき慌ててセットアップ^^;以前設定しなかったかなぁ・・・

とりあえず、作業ログを残します。

postfixでsmtp authを行う場合ソースからコンパイルする必要があるので、ソースをダウンロードしてきます。 今回はこれを使いました。

postfix-2.3.9.tar.gz

cyrus-sasl-2.1.22-4(yumでインストール)

解凍して、コンパイルします。この時点でsaslを組み込む必要があります。


$ tar zxvf postfix-2.3.9.tar.gz
$ cd postfix-2.3.9
$make makefiles CCARGS=”-I/usr/include/sasl -DUSE_SASL_AUTH -DUSE_CYRUS_SASL” AUXLIBS=” -L/usr/lib -L/usr/local/lib -lsasl2 -lz -lm -ldb -lnsl”
$make install

で、/etc/postfix/main.cfに、以下の部分を追加します。


smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, \
regexp:/etc/postfix/recipient_checks.reg, \
check_sender_access hash:/etc/postfix/bad_sender, \
reject_rbl_client relays.ordb.org, \
reject_rbl_client spamcop.net, \
reject_rbl_client dynablock.wirehub.net, \
reject_rbl_client opm.blitzed.org, \
reject_non_fqdn_recipient, \
permit_auth_destination, \
permit_sasl_authenticated, \
reject_unauth_destination

で、次に認証ロジックの決定をしますが、とりあえずpostfixにsasldが組み込まれているかのテストをしたいので、UNIXパスワード認証を指定するように、/usr/lib/sasl2/smtpd.confを設定しました。

pwcheck_method: saslauthd

んで、最後に再起動です。


service saslauthd restart
postfix reload

今回はUNIXパスワードを使ったのでユーザーの作成などはやっていません。そのうち、急いでゆっくりやります。

■メーラーからの確認方法

各メーラー(僕の場合はthunderbirdで試しました)のSMTPサーバー=>送信の部分で、認証するにチェックを入れ、パスワードはUNIXパスワードを入力します。これで、外部to外部の転送が出来ればとりあえずはOKです。

徐々に、SSLやら対応していくつもりですが、とにかくバタバタです^^;

2007年4 月26日15:55

[MySQL5.1系]MySQL Cluster(NDB Cluster)の設定memo

STAFF BLOG コメント (0)

おーた

※.便宜上、クラスタリングに使用する2台のサーバを
「test1、test2」と記載しています。
これらのサーバ内で、既にmysql5.1系のインストールが
行われていることを前提とします。


1. データを入れておくディレクトリを作成します。(ここでは適当な場所につくってみます。)

***test1サーバ上にて***
shell# mkdir /home/hoge/ndb_mgmd-file
shell# mkdir /home/hoge/cluster-file

***test2サーバ上にて***
shell# mkdir /home/hoge2/cluster-file

2.mysqlルートに移動(test1,test2)

shell# cd /usr/local/mysql

3. my.cnfを設定します(test1,test2)

shell# cp support-files/my-large.cng /etc/my.cnf

shell# vi /etc/my.cnf

[mysqld]
ndbcluster
ndb-connectstring=hoge1

4. config.iniを設定します(test1)

shell# cp /support-files/ndb-config2-node.ini /support-files/config.ini

shell# vi /support-files/config.ini

[ndbd default]※変更箇所
NoOfReplicas= 2 → NoOfReplicas= 1
→レプリカ数です。1にすると冗長性を失いますが、
複数のサーバを1つのDBとして使えます。

DataDir → コメントアウト
→特に必要ないので・・

[ndb_mgmd_default]
DataDir → コメントアウト
HostName= hoge1
→マネージメントノードを起動するサーバのhost名

[ndb_mgmd]
id=1
DataDir= /home/hoge/ndb_mgmd-file
→マネージメントノードファイル置き場

HostName= hoge1
→マネージメントノードを動かすサーバのホスト名

[ndbd]
id=2
DataDir= /home/hoge/cluster-file
→データの置き場所のパス
HostName= hoge1
→データノードを動かすサーバのホスト名

[ndbd]※データノードの数分だけ[ndbd]を書きます。
id=3
DataDir= /home/hoge2/cluster-file
HostName= hoge2

[mysqld]※sqlノードの設定。デフォルトのままでOKです。
こいつもノードの数だけ書きます。

5. host名とIPアドレスを対応付けます。(test1,test2)

shell# vi /etc/hosts
192.168.0.x test1
192.168.0.y test2

6. マネージメントサーバ[ndb_mgmd]を起動します(test1)

shell# ./bin/ndb_mgmd –daemon –config-file ./support-files/config.ini
※引数でconfig.iniを指定しています。

7. 環境に応じてファイアウォールのポートを空けます。(test1,test2)

1)マネージメントノードを動かすサーバのポートを空けます。(1186.※test1のみ)

2)クラスタリングで使用するtcpのポートを空けます。(defaultだと63132、test1とtest2で設定)
→config.iniの[tcp_default]で変更可能

3)mysqlノードのポートを空けます。(defaultだと3306、test1とtest2で設定)

8.ndbdを起動します(test1,test2)

***test1で実行***
shell# ./bin/ndbd –initial(初回のみ–initialをつけます。)

***test2で実行***
shell# ./bin/ndbd –ndb-connectstring=test1 –initial

9.mysqldをSQLノードとして起動します(test1, test2)

shell# ./bin/mysqld_safe &
(my.cnfの設定が行われていれば
自動的にsqlノードとして認識されます。)


10.ndb_mgmを起動して状態を確認します(test1)

shell# ./bin/ndb_mgm
ndb_mgm> show
※クラスタリングの停止はshutdownコマンドで。すべてのノードが停止します。

成功例)
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
———————
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.x  (Version: 5.1.17, Nodegroup: 0, Master)
id=3    @192.168.0.x  (Version: 5.1.16, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.x  (Version: 5.1.17)

[mysqld(API)]   4 node(s)
id=4    @192.168.0.x  (Version: 5.1.17)
id=5 (not connected, accepting connect from any host)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)

このように、5.1系であればバージョンが異なっても
動作自体はします。
(実運用上はバグフィックス等々ある為
バージョンをあわせたほうが良さそう)

11.早速クラスタリングしてみましょう!!

shell# ./bin/mysql -uxx -p
mysql> CREATE DATABASE hoge_development default char set=utf8
mysql> CREATE TABLE hoges (
id INT(10) NOT NULL AUTO_INCREMENT
, name VARCHAR(255)
, PRIMARY KEY (id)
)ENGINE=NDB;
※クラスタリングを行っているとcreate table,
create database等のddlは遅くなります

mysql> show table status where Name = “hoges” and Engine=”NDBCLUSTER”;
※レコードが取得されればNDBClusterの設定は完了です。

それでは良いクラスタリングライフを。

o.t.a

1:40

東大講演

STAFF BLOG コメント (0)

よこはま

近々東大で、また講演をすることが決まりました。

と、いっても今回は、ゲスト出演ですが^^
まぁ、なんであろうが熱く語るつもりです!

『子どもとインターネット』

『親子で安心インターネット!』

と、いうテーマに興味がある人は是非参加をしてください。現状みなさんがあたりまえに使っているインターネットですが、それを子ども達はどのような視点でとらえているのかを、あくまでも子ども達の立場に立ち、自社コンテンツの『トイスタ』の超貴重なデータを基に、その形態を赤裸々にお話し、かくなる上はそこに潜む問題点、危険性や、はたまた可能性などを重点的にフォーカスし、更には今後われわれ大人たちはどのような振舞をしていくべきなのかをテーマに、熱く意見交換できればと思っております。

このような、素晴らしい場をご提供していただけました今さん、心より感謝いたします。

『今ゼミ@東大』

2007年4 月25日4:34

★トイスタリニューアルに向けて★

STAFF BLOG コメント (0)

よこはま

以前、ちらっともらしたトイスタリニューアルのお話ですが、いいものができあがりそうな予感!?

ちょっとだけですが、公開です♪

とーっても、かわいいイラストを書いてくれたKさん、本当に感謝です -^^)★

toyst_kassy11.jpg

Powerd by RAWHIDE.CO.LTD

2007年4 月24日19:28

puttyによるポートフォワーディング@coLinux

STAFF BLOG コメント (0)

げん

coLinux上でWEBrickを起動した場合、Windowsから http://localhost:3000/ で参照する場合。

fedora5-start.bat へ設定を行うこともできますが、putty にてポートフォワーディングを行って実現することもできます。

puttyの設定にて [接続] - [SSH] - [トンネル] にて

源ポート : 3000
送り先 : localhost:3000

と設定して [追加] ボタン

忘れず設定を保存しておきましょう。

puttyで接続中のみ有効です。

19:12

日付の不具合 @coLinux

STAFF BLOG コメント (0)

げん

# cd /etc
# rm localtime
# ln -s /usr/share/zoneinfo/Japan localtime

http://supernova.astron.s.u-tokyo.ac.jp/~tanaka/Memo/clock.html

19:09

Fedora core 5 -> 6 アップグレード @coLinux

STAFF BLOG コメント (0)

げん

# rpm -Uvh http://ftp.riken.go.jp/Linux/fedora/core/6/i386/os/Fedora/RPMS/fedora-release-6-4.noarch.rpm http://ftp.riken.go.jp/Linux/fedora/core/6/i386/os/Fedora/RPMS/fedora-release-notes-6-3.noarch.rpm

/etc/yum.repos.d/fedora-core.repo の [core] を編集
baseurl
mirrorlist
の行をコメントアウトして
baseurl=http://ftp.riken.go.jp/Linux/fedora/core/$releasever/$basearch/os/
を追加

同じく /etc/yum.repos.d/fedora-updates.repo の [core] を編集
baseurl
mirrorlist
の行をコメントアウトして
baseurl=http://ftp.riken.go.jp/Linux/fedora/core/updates/$releasever/$basearch/
を追加

同じく /etc/yum.repos.d/fedora-extras.repo の [core] を編集
baseurl
mirrorlist
の行をコメントアウトして
baseurl=http://ftp.riken.go.jp/Linux/fedora/extras/$releasever/$basearch/
を追加

# yum upgrade
# yum update

yumはOSの再起動後かもしれない

19:03

passwd コマンドがうまく動作しないとき @coLinux

STAFF BLOG コメント (0)

げん

$ passwd username

を行ったときに以下のエラー

/usr/share/cracklib/pw_dict: error reading header

が発生する場合は

# yum install cracklib-dicts

で解決

http://silver-arrow.g.hatena.ne.jp/silver_arrow/20060828/1156757218

Newer Posts »