サーバーを最新バージョンのDebianにアップグレードしてから、roundcube(1.2.3)は機能しなくなりました。これは、新しいバージョンのPHP(5.6)が、それが有効な証明書であるかどうかを確認するためです。これをさらに調査すると、次のものを追加できることがわかりました。私のconfig.inc.phpファイルへの行:
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
次の設定もあります。
$config['default_Host'] = 'tls://localhost';
私はこのroundcubeインストールを複数のドメインに使用しているので、特定のドメインをここに配置したくありませんでした。また、証明書の支払いをしたくないので、verify_peerをfalseに設定したいと思いました。
サインインしようとすると、「ログインに失敗しました」と表示されます。 syslogは次のエラーを出します:
Feb 8 10:55:19 server1 dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<office>, method=PLAIN, rip=::1, lip=::1, TLS, session=<D+K0ugdIigAAAAAAAAAAAAAAAAAAAAAB>
このmethod = PLAINがTLSを使用していると想定されている場合、問題が発生するのではないかと思います。
Mysqlデータベースの仮想ユーザー/ドメイン/エイリアスを使用してバックエンドにdovecot/postfixを設定しました。これらのアドレスにメッセージを送信しようとしましたが、正しいエイリアスの電子メールアドレスにリダイレクトされます。したがって、私が知る限り、dovecotとpostfixは正しく機能しています。
この問題を解決するにはどうすればよいですか?
私はそれを理解しました。ユーザー名でドメインを指定していませんでした。 roundcubeconfig.inc.phpファイルを次の行で更新する必要がありました。
$config['username_domain'] = '%d';
これにより、[ユーザー名]ボックスにドメイン名を指定せずに、任意のドメイン(mail.domain1.com、mail.domain2.comなど)のroundcubeを使用できるようになりました。