オペレーティングシステムがあります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を開くことができません。 これを見ると、これが私たちの状況です。その後、次のものが必要です。
- setenforceを0に設定します。
出力ログファイルの種類を変更するには、このコマンドを使用します。
chcon -t httpd_sys_rw_content_t error.log
setenforceを1に設定します。
httpd.serviceの再起動
手順を完了すると、すべてがうまく機能します。
PS Firewall-cmdでポートを開くことを忘れないでください。