postfix

送信メールサーバ(MTAと呼ぶのか)はsendmailではなくpostfixを使った。

しばらく前にインストールしたのだがクライアント(Windows7のLiveメール)から送信ができなかった。

smtp      inet  n       -       n       -       -       smtpd
submission inet n       -       n       -       -       smtpd
-o smtpd_tls_security_level=may
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
-o milter_macro_daemon_name=ORIGINATING


さっきできるようになったのだが、直したところは /etc/postfix/master.cf の、



  • o smtpd_tls_security_level=encrypt を mayにしてpoxtfix reloadしただけだ。

ここがencryptになっていると暗号化を強制するのかな?

encryptにしてあると、クライアントからサーバにアクセスしたとたんに切断され、

STARTTLSが必要とかなんとかいうエラーになる。

クライアント側でTLSを使うようにしてもよいのだろうがよくわからない。

あと、submission... という行があるが、これがあるとサブミッションポートというものが有効になる。

サブミッションポートというのは「587番でも待つ」という仕組みらしい。単に、SMTPのポート番号を変える、というものではないようなのだが何が違うのかよくわからない。

クライアント側の設定は、送信メールサーバのポート番号を587にし、「送信メールサーバで認証が必要」の設定にする。




つづいて、pythonを最新にする。

今までのは2.6.6だったが、2.7.3にする。

ソースを持ってきてコンパイルする。

$ sudo yum install zlib zlib-devel tk-devel tcl-devel sqlite-devel ncurses-devel gdbm-devel readline-devel bzip2-devel db4-devel


$ wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz
$ tar zxvf Python-2.7.3.tgz


$ cd Python-2.7.3
$ ./configure --with-threads --enable-shared
$ make
$ sudo make install


enabled-sharedオプションは、mod_wsgiを使用する場合に必要だとのこと。

mod_wsgiはapacheで動かすときに必要とのことなのでつけておく。

[hoge]# python --version
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory


となるが、シンボリックリンクを張ればOK.

[hoge]# ln -s /usr/local/lib/libpython2.7.so.1.0 /lib64/
[hoge]# python --version
Python 2.7.3


つづいて、sphinxのインストール

wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py


easy_install sphinx


とやると、ダウンロードしてインストールしてくれる。

MySQL

yum --enablerepo=remi install mysql mysql-server mysql-devel mysql-libs


remiを指定しないとエラーになった。