web-dev-qa-db-ja.com

RoundcubeおよびPHP 5.6

サーバーを最新バージョンの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は正しく機能しています。

この問題を解決するにはどうすればよいですか?

1
kojow7

私はそれを理解しました。ユーザー名でドメインを指定していませんでした。 roundcubeconfig.inc.phpファイルを次の行で更新する必要がありました。

$config['username_domain'] = '%d';

これにより、[ユーザー名]ボックスにドメイン名を指定せずに、任意のドメイン(mail.domain1.com、mail.domain2.comなど)のroundcubeを使用できるようになりました。

1
kojow7