さくらVPSのUbuntuを10.04LTSから12.04LTSにアップグレードして動かなくなったもの


先日、さくらVPSのUbuntuを10.04LTSから12.04LTSへアップグレードした。
10.04LTSのサポート期限は2015年4月とまだ先だが、いずれ避けて通れなくなるため……。

コマンドは以下。

# do-release-update

このときsshからコマンドを実行したところ初っ端に「sshでやんの? 本当に?」と聞かれて怖くなったのでさくらVPSのWebコンソールから再度コマンドを叩き直した。

この後は怒濤の質問攻めにあい、各種confファイルは新バージョンに合わせてアップグレードするか聞かれるが、基本的には「元のバージョンを残す」で対応した。
30分ほど作業して、最後に再起動がかかり完了。
Wordpressは大丈夫かな~と動作確認してみるも、何ら問題なく動いた!

しかしやはりというべきか、動かないものもちゃんと(?)あった。
・Postfix
・Dovecot
・Postfixadmin

Postfix

まず/etc/postfix/main.cfのパラメータ virtual_mailbox_limit_maps がWarningになっていたのでコメントアウト。(まぁWarningなのでほっといても良い)

あとopendkimのエラーに引きずられてpostfixデーモンが起動しなくなっていた(?) ※これが原因だったか定かではない。

postfix/smtpd[4291]: warning: connect to Milter service inet:127.0.0.1:8891: Connection refused

解決策として、/etc/opendkim.conf の最後に以下を追記。

Socket          inet:8891@localhost

これでpostfixは問題なく起動。

dovecot

以下のようなエラーが出ていた。

dovecot: auth-worker(default): mysql: Connect failed to localhost (postfix): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 - waiting for 1 seconds before retry
dovecot: auth-worker(default): mysql: Connect failed to localhost (postfix): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) - waiting for 1 seconds before retry

OSアップグレードの影響か、dovecot-mysqlが居なくなっていたため、インストール。

# apt-get install dovecot-mysql

さて、後は/etc/dovecot/conf.d/以下のconfを修正すれば良い。
注意点として、v1.x系とv2.x系ではconfの構成が異なる。
・v1.x系では、01-mail-stack-delivery.confのファイルが1つ。
・v2.x系では、設定ファイル多数。カテゴリ分けされた。(10-auth.conf, 10-master.conf, など)

一応、v1.x系のconfも読んでくれるのだが、編集しても結局dovecotがエラーを吐き続けてうまくいなかなった。
そこで01-mail-stack-delivery.confは削除し、各ファイルへパラメータを設定した。

また、MySQLをバックエンドで使用している場合のみ、以下ファイルをコピーしておく。

cp /usr/share/doc/dovecot-core/dovecot/example-config/conf.d/auth-sql.conf.ext /etc/dovecot/conf.d/

MySQLを使う場合は、あわせて10-auth.confを編集。以下をアンコメント。

!include auth-sql.conf.ext

残りの慎重に作業を実施し、dovecotを起動して何もエラーが出なければOK。。。
この手の作業はたいてい何かしらミスするものなので、気楽に。

Postfixadmin

エラー。

./apache2/error.log.1:[Thu Jul 24 23:34:22 2014] [error] [client 127.0.0.1] dovecotpw password encryption failed., referer: https://beautiful-moon.tokyo/postfixadmin/login.php
./apache2/error.log.1:[Thu Jul 24 23:34:22 2014] [error] [client 127.0.0.1] STDERR output: sh: 1: /usr/sbin/dovecotpw: not found\n, referer: https://beautiful-moon.tokyo/postfixadmin/login.php

パスワード生成コマンドが変更になったとのことなので、対策。
postfixadminのconfig.inc.phpを下記の通り編集する。

$CONF['dovecotpw'] = "/usr/bin/doveadm pw";

以上


コメントを残す

メールアドレスが公開されることはありません。

one × two =

%d人のブロガーが「いいね」をつけました。