web-dev-qa-db-ja.com

courier-authlib:s_connect()failed:そのようなファイルまたはディレクトリはありません

私は GitLab をインストールしています。作業中ですbuntu Server 16.04.1で利用可能です。すべて正常に動作しています。

ここで必要なのは、Eメールによる返信機能を設定することだけです。コンセプトに興味があるため、有効にしたいのです。

グッドニュースは、- GitLabウェブサイト にあります- 詳細なハウツー は、これを適切に配置する方法を示しています。基本的に、この機能はPostfixを使用し、Courier Mail Serverに基づいています(少なくとも私が理解できる限り)。 悪いニュースは、これについて how-to で、最終的なIMAPセットアップのテストに関する最後の部分を除いて、すべてうまくいきます(つまりTest最終セットアップセクション)、毎回失敗します。

そのため、 how-to で要求されているように、次のコマンドを使用してIMAPフォルダーのコンテンツを取得しようとすると、

telnet <my.server.here> 143

私はこの結果を得ます:

<my_name>@<my_Host>:~$ telnet <ip> 143
Trying <ip>...
Connected to <ip>.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc.  See COPYING for distribution information.
a login incoming <my_cool_pwd>
* BYE Temporary problem, please try again later
Connection closed by foreign Host.

いくつかのログファイルを探しましたが、4時間の調査の後、本当に失われました。

/var/log/mail.errの内容は次のとおりです。

Oct 18 17:37:23 <my_Host> imapd: authdaemon: s_connect() failed: No such file or directory
Oct 18 17:37:23 <my_Host> imapd: authentication error: No such file or directory

/var/log/mail.logの内容は次のとおりです。

Oct 18 17:37:10 <my_Host> imapd: Connection, ip=[::ffff:xxx.xxx.xxx.xxx]
Oct 18 17:37:23 <my_Host> imapd: authdaemon: s_connect() failed: No such file or directory
Oct 18 17:37:23 <my_Host> imapd: LOGIN FAILED, user=incoming, ip=[::ffff:xxx.xxx.xxx.xxx]
Oct 18 17:37:23 <my_Host> imapd: authentication error: No such file or directory

以下のコマンドを実行すると、同じように失敗します。つまり、 PAM Authentication ?に関連しているようです。

Sudo authtest incoming <my_cool_pwd>

上記のコマンドの出力は次のとおりです。

ERR: authdaemon: s_connect() failed: No such file or directory
Authentication FAILED: No such file or directory

まったく同じもの。問題は、どのファイル/ディレクトリが関係しているか本当にわからないということです!

どんな助けも本当に感謝します!

4
SiZiOUS

最後に、straceコマンドで遊んだ後、何が悪いのかを見つけました。

courier-authdaemonパッケージの一部であるサービスcourier-imapは、何らかの理由で起動時に自動的に起動しませんでした。

この問題を確実に修正するには、次を実行します。

  1. 起動時に実行するcourier-authdaemonサービスを定義します:Sudo systemctl enable courier-authdaemon
  2. courier-authdaemonで現在のセッションのSudo service courier-authdaemon startサービスを開始するか、必要に応じてSudo rebootでサーバーを再起動できます。

courier-authdaemonサービスを有効にした後、authtestコマンドを使用して、すべてが正常であることを確認できます:Sudo authtest <login> <pwd>

次のような出力が必要です。

    Authentication succeeded.

     Authenticated: <login>  (system username: <login>)
    Home Directory: /home/<login>
           Maildir: (none)
             Quota: (none)
Encrypted Password: <hidden>
Cleartext Password: <hidden>
           Options: (none)

私はこれらのリソースを使用して問題を解決しました。

そのため、これから GitLabチュートリアル を続けることができます。

9
SiZiOUS