自宅に Apache2.4 サーバーがあり、Windows 7 Home Edition で MySQL と PHPmyadmin を実行しています。
ネットワーク内ではすべて正常に動作しますが、「インターネット」の外部から Web サイトにアクセスしようとすると、非常に長い時間がかかり、最後に「このページは動作していません HTTP エラー 504」が表示されます。
今のところやったこと:
- パブリック静的 IP を持っています。
- ルーターでポート「8080」を開き、それをApacheサーバーのIPとポート「80」にマッピングします。
- サーバーのファイアウォールで同じポート「80」を開き、ファイアウォールをオフにすることも試みました。
- DNS サービスをパブリック IP に向け、ポートも向けました。「DNS サービスは godaddy からのネットワーク内にありません」
- ドメイン名と IP アドレスで Web サイトにアクセスしようとしましたが、機能しません。
- 外部からネットワークのポートを確認したところ、「8080」と「80」の両方が動作していました。
- サーバーをフォーマットして新しいセットアップを作成し、WAMP サーバーも同様に試しました。
- 私はインターネット プロバイダーに電話して、ウェブホスティング用にいくつかのポートがブロックされているかどうかを尋ねたところ、使用しているポートはすべて開いていることが確認されました。
2週間試していますが、インターネットで見つけたほぼすべてのことをやりました。
これをトラブルシューティングする方法をご存知ですか? または、これを動作させるために Apache サーバーで変更する必要がある他のオプションはありますか?
注: サーバーを再起動すると、インターネットから Web サイトにアクセスできる場合がありますが、数秒間だけテキストのみが表示されます。アクセス ログ ファイルを確認すると、外部からの IP が見つかりました。ただし、数秒間しか機能しません。その後、アクセスしようとすると何も表示されず、新しいログもそこにはありません。
答え1
Apache のエラー ログを有効にして、何が問題なのかを確認します。
数秒間、外部から Web サイトにアクセスでき、Apache はクライアントの IP がサーバーに正常に接続していることを示しているため、すべてのファイルをhtdocs
別の一時フォルダーに移動し、代わりにそこに空のファイルを配置してみてくださいindex.html
。
これが機能している場合は、PHP に関連するいくつかのモジュールが壊れています。エラー ログを参照して、修正する必要があるモジュールを確認してください。
error.log から:
PHP Warning: PHP Startup: Unable to load dynamic library 'php_curl.dll' (tried: C:\\php\\ext\\php_curl.dll (The specified module could not be found.), C:\\php\\ext\\php_php_curl.dll.dll (The specified module could not be found.)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_intl.dll' (tried: C:\\php\\ext\\php_intl.dll (The specified module could not be found.), C:\\php\\ext\\php_php_intl.dll.dll (The specified module could not be found.)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_mysql.dll' (tried: C:\\php\\ext\\php_mysql.dll (The specified module could not be found.), C:\\php\\ext\\php_php_mysql.dll.dll (The specified module could not be found.)) in Unknown on line 0
じゃあ後で:
script 'C:/Apache24/htdocs/viewtopic.php' not found or unable to stat
つまり、PHP はまったく動作していないようです。