CentOS 6でhttpdサーバーを起動しようとしています。次のエラーがスローされます。
[root@machine ~]# service httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:88
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:88
no listening sockets available, shutting down
Unable to open logs
[FAILED]
ポート88も確認しましたが、使用されていません。 semanage でチェックしましたが、助けにはなりませんでした。
任意の助けをいただければ幸いです。
「root」としてではなく、実行しているようです。 rootのみがこのポート(80)にバインドできます。 conf/httpd.confファイルの構成を確認し、Listen行を確認して、ポートをより高いポートに変更します。
SELinuxパーミッションがないが原因でこの問題に遭遇しました。デフォルトでは、SELinuxはApache/httpdが次のポートにバインドすることのみを許可しました。
80, 81, 443, 488, 8008, 8009, 8443, 9000
そのため、デフォルトのSELinux構成では、httpd.conf
- configured Listen 88
HTTPポートとconfig.d/ssl.conf
- configured Listen 8445
TLS/SSLポートへのバインドが失敗します。
問題を解決するには、システムのSELinux構成にポート88と8445を追加する必要がありました。
semanage
ツールをインストールします:Sudo yum -y install policycoreutils-python
Sudo semanage port -a -t http_port_t -p tcp 88
Sudo semanage port -a -t http_port_t -p tcp 8445
ターミナルで、root権限でこのコマンドを実行します。
Sudo /etc/init.d/Apache2 start
Webサーバーを起動するには、rootである必要があります。そうしないと、同様のエラーが発生します。
これは、このスレッドのどこかにあるAbdullによる回答への追加です。
ポートを追加する代わりに変更する必要がありました
semanage port -m -t http_port_t -p tcp 5000
ポートを追加するとこのエラーが発生するため
ValueError: Port tcp/5000 already defined
CentOS 6.7のインストールでは、httpdをルートで起動するだけでなく、xauthで問題が発生しました(/usr/bin/xauth: timeout in locking authority file /.Xauthority
の根底にある許可拒否エラーを取得)
# setenforce 0
両方の問題を修正しました。
私の場合、代わりに最初にポート88を使用しようとしましたが、それでもhttpdは起動しません。
私は以下のコマンドを使用しました、つまり、ユーザーのいずれかによって提案されたように、追加の代わりに変更し、httpdを実行することができました。
semanage port -a -t http_port_t -p tcp 88
SELinuxを無効にする
SELinuxを一時的に無効にします
Sudo setenforce 0
Httpdサービスを再起動します
service httpd restart
SELinuxを永続的に無効にします(再起動後)
vi /etc/selinux/config
行を追加して保存
SELINUX=disabled
RootユーザーまたはSudoで開始し、正常に動作します。サンプル出力を次に示します。
[ec2-user@ip-172-31-12-164 ~]$ service httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
**[FAILED]**
[ec2-user@ip-172-31-12-164 ~]$ Sudo service httpd start
Starting httpd: [ OK ]
[ec2-user@ip-172-31-12-164 ~]$ Sudo service httpd status
httpd (pid 3077) is running...