タグ : Apache

[Apache][Windows7] No listening sockets available エラーで起動できないときの解決方法

Windows7 に Apache をインストールして、起動してみると”No listening sockets available”というエラーで起動できないときの解決方法をご紹介します。

イベントビューアーでシステムイベントログを確認してみると下記のようなメッセージが出ていました。

The Apache service named reported the following error:
>>> (OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80

Apacheが、” No listening sockets available”というエラーをはいて起動しない場合。 Apacheが使う80番ポートをほかのサービスが使用していることが原因でした。

Windows上での解消手順は続きの通りです。

使用ポートの調べ方

コマンドプロンプトで

netstat -oan

として、80番ポートを使用しているサービスの、プロセスIDを調べる
同じくコマンドプロンプトで

tasklist /svc

として、サービスとプロセスIDとの対応を調べる
対応するサービスを終了、または設定変更して80番ポート以外を使うようにする

とりあえずこれでOKです。

次に、Skypeの使用ポート変更します。

今回80番ポートを使っていたのはSkypeでした。

Skypeが使えないのも困るので、Skypeが使用するポートを変更します。

メニューの「ツール」→「詳細」→「接続」
上から2番目の「上記のポートに代わり、ポート80を使用」のチェックを外す
Skypeを再起動する

C:\Users\bakorer>netstat -oan
 
アクティブな接続
 
  プロトコル  ローカル アドレス          外部アドレス        状態           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       3956
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       804
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       3956
・
・
・
C:\Users\bakorer>tasklist /svc
 
イメージ名                     PID サービス
========================= ======== ============================================
System Idle Process              0 N/A
System                           4 N/A
・
・
・
Skype.exe                     3956 N/A

参考情報

Apacheが起動しない場合 – Hextomino

[Apache] Forbidden You don’t have permission to access xxx on this server の解決方法

Apache で下記のようなアクセス権限が無いというエラーが出たときの対処方法をメモ。

エラーメッセージ

1
2
Forbidden
You don't have permission to access xxx on this server

ディレクトリのパーミッション設定を確認する

chmod o+x /home/myapp.com

httpd.conf の設定を確認する

httpd.conf に書いている Order deny,allow や、Allow from all とかの設定を間違って書くとアクセスできなくなる。

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

参考情報

ホーム・ディレクトリ以下のpublic_htmlディレクトリをWebで公開してのに,アクセスできない:ITpro

apache – Forbidden You don't have permission to access / on this server – Stack Overflow

[Apache] SSL (HTTPS) で起動しない時の対処方法

Apache を apachectl restart で再起動したら、http は繋がるけど、https は繋がらない問題が発生しました。

原因は、Apache のバージョンが 2.0.x 系で、apachectl startssl か -DSSL オプションを付けて起動するかしないと、SSLサポートが有効にならないみたいでした。

apachectl -v
Server version: Apache/2.0.59

apachectl のオプションであった startssl は無くなりました。 SSL サポートを有効にするには httpd.conf を 編集して関連する mod_ssl ディレクティブを 入れるようにし、それから apachectl start で サーバをスタートしてください。 mod_ssl を有効にする設定ファイルの例が conf/extra/httpd-ssl.conf にあります。

[引用元]:2.0 から 2.2 へのアップグレード – Apache HTTP サーバ

知らないと再起動した後に、https 繋がらなくてサービス停止状態になっちゃうので、下記の記事を参考に apachectl を編集するといいかも。

apachectl 3分ハッキング – C#とか。 – Grim Saga Project 別館:れびんの勉強部屋

あとは、そもそも古いバージョンの Apache を使ってないで、さっさとバージョン上げれば良いのですがね。


参考情報

シリコンバレー 24時: Apacheを 2.0 から 2.2 へアップデートすると SSLが無効になるトラブル

[仕事] Apache2.0.x→2.2.xのSSL対応について|TEAM RISE x すかの日記

[Apache] Invalid command ‘SSLCertificateFile’, perhaps misspelled or defined by a module not included in the server configuration

Apache に SSL の設定をして httpd configtest を実行したら、エラーがでました。

エラー内容

Invalid command 'SSLCertificateFile', perhaps misspelled or defined by a module not included in the server configuration

Apache が mod_ssl に対応してなかったので、mod_ssl を追加することでエラーが消えました。

mod_ssl の追加方法は、ソースからコンパイルしてインストールしている場合と、yum などでインストールしている場合とで違ってきます。

ソースからインストールしている場合

・参考:apxsでapacheにモジュールを追加する

yum でインストールしている場合

mod_sslインストール

# yum -y install mod_ssl

opensslインストール

# yum -y install openssl

以上です。


参考情報

apache+mod_sslでSSL — server-memo.net

かぴぶろぐ

[Windows] Apache をアンインストール(uninstall)する方法

Windows7 にインストールしている Apache をアンインストールする手順をご紹介します。

Windows7 から Apache をアンインストールする手順

1. Windowsのデスクトップ画面の下側に表示されるタスクバーにあるApacheのアイコンを右クリックして、表示されるメニューから「Exit」を選択する

2. Windowsのスタートメニューから、「コントロールパネル」>「プログラムの追加と削除」の順に選択する Windows 7の場合は、スタートメニューから「コントロールパネル」>「プログラムの機能」の順に選択します。

3.「Apache HTTP Server 2.2.x」を選択し、削除 をクリックする

Windows 7の場合は、「Apache HTTP Server 2.2.x」を選択し、[アンインストール] をクリックする

4. 「はい」をクリックする

以上です。


参考情報

Apacheをアンインストールする|サイボウズ Office 9 マニュアル