
PHP+MySQLでの作業を行うためにローカルに開発環境を作りました。
最初は、apacheも起動しており、まったく問題なく作業ができておりました。
その後、他の開発環境をつくるために、ボーランドC++、VisualStudio6.0、VisualStudio.NETを入れました。
しかし・・・それからapacheが起動しなくなりました。
原因がまったくわかりません。
何が原因なのか、わかる方いらっしゃいましたら、ご教授下さいませ。
Please wait [Bitte warten] Can't start server: Bind on TCP/IP port: No error
とかいうメッセージが出ます。
No.11ベストアンサー
- 回答日時:
たびたびすみません。
手元の環境で試したところ、どうもIISは、
A.既定のWebサイトで使うIPアドレスを特定しても
全てのIPアドレスでListenしてしまう。
(ソケット プーリング機能のため)
→無効にするには、別途手順が必要
http://support.microsoft.com/kb/238131/JA/
B.SSLを使っていない(証明書をインストールしていない)場合、
全てのIPアドレスでPort443をListenしてしまう。
(IPアドレスを固定し、A.の対策を行ったとしても)
ということで、Apacheと共存させるもっとも簡単な方法は、
「Apache側のListenポート(httpd.confとssl.conf両方)を80,443から変えてしまう」
ということになるようです。
その際、IPアドレスは同じものにしても大丈夫だと思われます。
だいぶ遠回りというか、無駄足を踏ませてしまったかもしれません。
すみませんが、試してみていただけますか?
ありがとうございます。
Apacheの方の、httpd.conf内のListenに8080ポートを指定。
ssl.conf内のListen443が競合していたようなので、444に変更しました。
そうしたら、Apache起動しました。
http://localhost:8080/
で、無事アクセス確認できました。
どうも、この度は、ご親切にお付き合い下さり、またいろいろお調べ下さって助かりました!
私の方も、今回のことで、かなり勉強ができました。
どうも、ありがとうございました。
No.10
- 回答日時:
IISはsvchost.exeを介して起動しているので、
inetinfo.exeではないです・・・
それからNo.7の補足で、
make_sock: could not bind to address 0.0.0.0:443
となっているので、port443の競合も調べたほうがいいですね。
netstatのポート80と443をlistenしているPIDに対して、tasklistの結果と照らし合わせてください。
この回答への補足
svchost.exe部分を、探ってみました。
tasklist /svcの結果(svchost.exeのみ抜粋)
イメージ名 PID サービス
SVCHOST.EXE 924 Dnscache
SVCHOST.EXE 992 LmHosts, RemoteRegistry, SSDPSRV, WebClient
で、、PID:924,992の該当部分のみを抜粋すると、
netstat -oanの結果
Proto Local Address Foreign Address State PID
UDP 0.0.0.0:1026 *:* 924
UDP 0.0.0.0:1038 *:* 924
UDP 127.0.0.1:1900 *:* 992
UDP 192.168.0.1:1900 *:* 992
UDP 192.168.104.29:1900 *:* 992
となっていました。
ちなみに、netstatのポート80と443をlistenしているPIDに対して、
tasklistの結果と照らし合わせると、
イメージ名 PID サービス
netinfo.exe 2012 IISADMIN, SMTPSVC, W3SVC
が該当することになります。
ssl.conf内に、Listen 443と記述されているところがあったので、
Listen 444(適当)にして、Apacheを起動してみるとやはり起動はしませんでしたが、
出力メッセージが以下のように、IPアドレス部分が [DHCPで振られるアドレス]:80に変わりました。
----------------------------------
Please wait [Bitte warten] (OS 10048)通常、各ソケット アドレスに対してプロトコル
、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_s
ock: could not bind to address 192.168.104.29:80
no listening sockets available, shutting down
Unable to open logs
No.9
- 回答日時:
設定では、
ApacheはDHCPで取ったアドレスのPort80、
IISはループバックアドレスのPort80
なんですよね。
現在、どのプロセスがどのポートをListenしているか、調べてみましょうか。
netstat -oan
でLocal IP:PortとPID(プロセス番号)の対応を調べて、
tasklist /svc
でプログラムのイメージ名とPIDの対応が分かります。
TCP Port 80でListenしているプロセスを列挙してみてください。
参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/236po …
この回答への補足
ありがとうございます。
では、お言葉に甘えて、お願いできればと思います。
次の情報があれば、おわかりになりますでしょうか?
------------------------------------------------
inetinfo.exe が、IIS(IISサービスのプロセス)だと思うので以下に書き出した。
PIDが“2012”ということで、2012に対応している部分だけを列挙します。
(Apacheは起動できないので、リストアップされてないようです)
イメージ名 PID サービス
inetinfo.exe 2012 IISADMIN, SMTPSVC, W3SVC
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING 2012
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2012
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 2012
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 2012
UDP 0.0.0.0:3456 *:* 2012
設定としては、現在のところ、
ApacheはDHCPで振られるアドレスのPort80、
IISはループバックアドレスのPort80
にしており、
IISとApacheは、以下のように設定してあります。
<IIS>
IP192.168.0.1のポート80(ループバックアドレス)で設定。
<Apache>
httpd.conf内に、Listen [DHCPで振られるアドレス]:80 と記述。
(ちなみに、ssl.conf内に、Listen 443と記述されているところあり)
No.8
- 回答日時:
Apacheの設定変更がうまくいかないのであれば、IISのIPアドレスを変更してください。
No.3で回答したとおり、
IISに特定のIPアドレスを関連付けるには、管理ツール→インターネット サービス マネージャ→既定のWebサイトのIPアドレスで設定します。
で試してください。
この回答への補足
インターネットインフォメーションサービスを起動し、既存WebサイトのプロパティのWebサイトで、IPアドレスが“(未使用のIPアドレスすべて)”になっていたのを、作成したIPアドレス“192.168.0.1”に選択しました。
念のため、PC再起動し、Apacheを起動してみましたが、やはりだめでした。
もうしばらく、格闘してみたいとは思いますが・・
No.7
- 回答日時:
ループバックアダプターは本物のNICを必要としません。
あくまでバーチャルな、そのPCの中だけに見えるアダプターです。
追加してもスロットやポートは消費しません。
参考URL:http://support.microsoft.com/kb/839013/ja
この回答への補足
ループバックアダプターを追加し、IPアドレスを、192.168.0.1に設定しましたが、同じようなエラーとなります。
<エラー内容>
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、ま
たはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to addr
ess 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
...
ちなみに、httpd.conf の Listen の箇所を以下のように記述しました。
Listen 192.168.0.1:8000
どこがおかしいのでしょうか?
もし、おわかりになるようでしたら、ご教授下さいませ。
No.6
- 回答日時:
ダミーのネットワークインタフェースカードを追加して、そこにダミーのIPアドレスを追加する方法も、試してもいいかもしれません。
そうすると、NICが2枚あって、片方はDHCP、もう片方はダミーのネットワークになります。
ダミーのNICをループバックアダプターと呼びます。追加方法は参考URLのとおりです。
ループバックアダプターはそのコンピュータからしかアクセスできないので、ほかのコンピュータからアクセスされないWebサーバ(IIS or Apache)をループバックアドレスで設定すればよいでしょう。
参考URL:http://support.microsoft.com/kb/839013/ja
そうですね、現在使用中のLANポートはオンボードなので、NICが追加できれば設定できそうですが、スリム型PCのためカード追加は不可能かもしれません・・
それと、NICが社内にあるかどうかは、ちょっと不明です。
ただ、自宅PCで同じ環境を作る際の参考になります。
ありがとうございました。
No.5
- 回答日時:
IISを変更するとあとあと面倒そうなので、apacheを変更するほうがいいです。
apache.confの
Listen 80
の行を
Listen 8000
に変更します。
これで、apacheが起動できます。
次に、ブラウザでこれまで
http://localhost/
でアクセスしていたところを
http://localhost:8000/
でアクセスしてみてください。apacheに接続できるはずです。
IISが必要なくなれば、IISをアンインストールしても、
8000は別に問題ないですので、そのまま動かしてもいいでしょう。ただし、href要素や、src要素で http:// から書いてあるところは正しく修正してください。(localhostでやってる開発環境でそんなことはないと思いますけど、念のため)
この回答への補足
ご回答、ありがとうございます。
apache.confは探してみましたがありませんでした。
httpd.confファイルでいいんですよね?
Listen 80
の行を
Listen 8000
に変更してみましたが、やはり同じく、apacheは起動できませんでした。
ポート8000番は、特にWindows環境で何か設定しておく必要とかはないものなのでしょうか?
No.4
- 回答日時:
もしPCを業務用のネットワークに接続していて、IPアドレスを追加したい場合、ネットワーク管理者に依頼して、静的なIPアドレスを2つ取得し、DHCPを無効にした後、2つとも設定してください。
ダミーのIPを使う場合も、管理者に必ず許可を得てください。
管理者が静的なアドレスをくれない場合は、業務用のネットワークから切り離した開発用ネットワークを作れば、その中であなたの好きなようにアドレスを割り当て可能です。
または、先のコメントでも少し触れましたが、IPアドレスは1つでも、TCPポートを変えることでも対応可能です。アドレスの取得も無理、開発用ネットワーク構築も無理、ということであればこちらを試してみてください。
この回答への補足
NW管理者に聞いてみたところ、静的に割り当てるのは管理上避けたいので、ポートでやって欲しいとのことでした。
ポート追加する場合、具体的に、どのようにすればよろしいでしょうか?
ご面倒なことですいませんが、ご教授いただければ助かります。
No.3
- 回答日時:
apacheとIISがTCP port 80で競合していませんか?
もしそうなら、簡単な解決策としては、PCにIPアドレスを2つ設定し、片方をapacheに、残りをIISに割り当てる方法があるそうです。
参考:http://www.experts-exchange.com/Web/Web_Servers/ …
PCにIPアドレスを2つ設定する方法は、ネットワーク接続(ローカルエリア接続など)のプロパティで、
インターネットプロトコル(TCP/IP)のプロパティ→詳細構成→IPアドレス 追加
でできます。
IISに特定のIPアドレスを関連付けるには、管理ツール→インターネット サービス マネージャ→既定のWebサイトのIPアドレスで設定します。
さらにIIS6の場合はこちらが参考になるでしょう。
http://support.microsoft.com/kb/813368/ja
Apacheの場合は、こちらが参考になるでしょう。
http://httpd.apache.org/docs-2.0/bind.html
http://httpd.apache.org/docs-2.0/mod/mpm_common. …
それか、1つのIPアドレスで、別々のポートを使うようにIISとApacheを設定する方法もあります。やりかたは上記とほとんど同じで、IPアドレスを設定するところの近くにTCPポートを設定する項目があるので、そちらを変更します。
この回答への補足
ご回答、ありがとうございました。
IISをアンインストしようかとも思いましたが、開発環境としてIISが必要となるかどうかちょっとまだわからないので、お教えいただいた方法で試してみたいと思っています。
すいません、ご教授いただけると助かります。
ちなみに、TCP/IPプロパティ→詳細設定では、IPアドレスは“DHCP有効”となっていて会社内のLANにつながっています。
追加する場合、IPアドレスは適当(ダミー?)を用いればいいのでしょうか?
その場合、IPアドレスはいくつにすれば良いでしょうか?
No.2
- 回答日時:
あ、エンター押しすぎ…
#1の回答をやり直しです。
IISがインストールされていないか確認して下さい。
VisualStudio6に付属しているVisual InterDevをインストールしたら、IISがインストールされたと思います。
Visual InterDevが必要ないならアンインストールして、IISもアンインストールしてください。その場合、必要ないMSDEも一緒にアンインストールしてくださいね。
ご回答、ありがとうございました。
原因がわかっただけでも安心しました。
わからなければOSからセットアップするところでした。
OSはWindowsXPですが、VS.NETを入れる際に見事にIISをインストールしてしまいました。
VS6はその後から入れましたが、Visual InterDevとMSDEは入れてないと思います。
開発環境としてIISが必要となるかどうかちょっとまだわからないので、ANo.3の方の方法をちょっと試してみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- アプリ swiftでスマホアプリを開発した時の動作確認 1 2023/02/14 11:37
- その他(ブラウザ) このページは動作していません HTTP ERROR 401 2 2022/11/28 12:11
- 不安障害・適応障害・パニック障害 パニック障害は環境や状況などに関係なく起きる予期しない発作と聞きましたが、私は発作が起きる場所は授業 5 2022/09/01 00:41
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
macでxamppをインストールロー...
-
*.php、*.php3、*.phtmlの違い
-
php.iniって。。
-
同じような処理を一つにまとめたい
-
大量チェックボックスの実装方...
-
フォントの色を変えるには?
-
ファイル一覧表(LAN内の別PC)
-
PDOとmysql_real_escape_str
-
携帯サイトでフォームタグとラ...
-
HTMLページにPHPで処理した結果...
-
テルネットしコマンドを自動実行
-
php + postgre で接続できない
-
PHPでHTMLソースの<img src="★"...
-
FTPコマンドでディレクトリごと...
-
外部ファイルを読み込んだhtml...
-
さくらインターネットでメール...
-
クーロン設定について
-
モバイルのアドレスはPCとお...
-
requireやinclude時の階層の書き方
-
mb_send_mail関数が利用出来ない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Apacheでhttp://localhost/が表...
-
XAMPPでApacheが起動しなくなり...
-
「localhostの応答を待っていま...
-
レジストリにあるアプリケーシ...
-
apacheの挙動がおかしいです・...
-
apacheの動作確認ができません。
-
apacheが使用できない
-
WindowsサーバにおけるApache起動
-
Apache+PHPで動かない・・・
-
他の開発環境をインストしたらa...
-
XAMMP の phpMyAdmin の名前を...
-
macでxamppをインストールロー...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
onedrive にexcelファイルをア...
-
「クラウドにアップロード」」...
-
トランザクションが原因?DBに...
おすすめ情報