Centos PAMはhttpd.serviceを起動できません。

Centos PAMはhttpd.serviceを起動できません。

オペレーティングシステムがありますCentOS Linuxバージョン7.6.1810(コア)。ほぼ純粋なhttpd.serviceを起動しようとしています。次のコマンドを実行します。

systemctl start httpd.service

私は私のユーザーと- 違いなし。私のエラーログで次の文字列を見つけました。

pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"

私はエラーがここにあると思いました。修正しようとした後、ファイルを交換してみました。/etc/pam.d/password-auth-acそして/etc/pam.d/system-auth前の文字列:

auth requisite pam_succeed_if.so uid >= 1000 quiet_success

新しい文字列を使用してください。

auth requisite pam_succeed_if.so quiet_success

このエラー文字列は次のように変換されます。

pam_succeed_if(sshd:auth): no condition detected; module succeeded

httpdを再インストールしてみましたが、うまくいきませんでした。これでエラーログインイメージを完成させましょう。私はちょうど私のhttpdを起動したいと思います。

ここに画像の説明を入力してください。

答え1

問題はSELinuxにあります。これが私たちの場合であるか、ルートで実行されていないことを確認するには、次の手順を実行します。

setenforce 0

それから

sudo systemctl restart httpd.service

問題が解決すれば、おそらくこれが私たちの場合でしょう。さらに確認するには、デフォルトの.conf httpdファイルにロギングデバッグレベルを追加します。私として /etc/httpd/conf/httpd.confこのファイルに以下を追加しました。

LogLevel debug

その後、setenforceを再び1に設定し、httpdを再起動します。エラーログに次の内容が表示されることがあります。

(13)権限が拒否されました:AH00091:httpd:エラーログファイル/var/www/example.com/logs/error.logを開くことができません。 これを見ると、これが私たちの状況です。その後、次のものが必要です。

  1. setenforceを0に設定します。
  2. 出力ログファイルの種類を変更するには、このコマンドを使用します。

    chcon -t httpd_sys_rw_content_t error.log

  3. setenforceを1に設定します。

  4. httpd.serviceの再起動

手順を完了すると、すべてがうまく機能します。

PS Firewall-cmdでポートを開くことを忘れないでください。

関連情報