web-dev-qa-db-ja.com

ApacheWebサーバーとローカルマシンの外部の私のWebサイトへのアクセス

そこで、WindowsマシンにApacheWebサーバー/ MySQL/myPhpAdminをインストールしました。それは私のデスクトップにあります。 http:// localhost 、localhost/phpinfo.php、localhost/phpmyadmin.index.phpにアクセスすると、すべてが私のマシンに表示されます。

今、私は他のユーザーが私のウェブサイトにアクセスできるようにしたいです http://localhost/page1.php 私はすでにサーバーがホストされているマシンでポート転送を行い、ルーターがあるので、ローカルマシンのIPアドレス。

しかし、他の場所から、または私のホームネットワーク内の他のコンピューターからでもこのWebサイトにアクセスすることはできません。 godaddyやgoogleなどのサイトから実際にドメインを取得する必要がありますか?または、ローカルマシン(Apache Webサーバーがある)に接続して、自分のWebサイトをホストすることもできます。

Webサーバーをインストールし、Apacheルートディレクトリにページを作成した後、実際にどのように進めるかについて、私は本当に混乱しています。私はこの分野で実際の経験がないので、誰かがこれを設定する方法を教えてもらえますか?.

ありがとう!

2
Eric

Apachehttpdの設定ファイルのListenディレクティブを確認してください。

また、サーバーがリッスンしているアドレスを確認します。 netstat -naはそのために役立ちます。 0.0.0.0(または*)またはマシンのアドレスをリッスンする必要があります。 127.0.0.1ではありません。

1
MattBianco

したがって、発生する可能性のある問題は、「localhost」が常にローカルマシンである必要があるということです。 (そうでない場合は問題があります)。だからあなたのマシンでは、それはあなたのマシンです。私のマシンでは、それは私のマシンです。

ポート転送が正しく設定されていて、ISPがポート80へのトラフィックルーティングを許可しているとすると、他の人がポート80でルーターのパブリックIPアドレスにアクセスできる(そしてサーバーのポート80にアクセスできる)はずです。

また、Apacheの設定を確認することもできます。名前付き仮想ホスティングが設定されている場合、 http:// localhost / を介してローカルでサーバーにアクセスすると、ホストされているコンテンツのセットが1つ表示されますが、他の誰かが-を介してサーバーにアクセスすると、 http:// the-ip-address / 他のホストされたコンテンツを取得する可能性があります。

0
Charlie

同じネットワーク内の他のマシンがサーバーを認識できない理由を理解することから始める必要があります。彼らが試みるとどうなりますか?リモートマシンのブラウザでマシン名とIPアドレスの両方を使用してみましたか?それらは同じ結果をもたらしますか?

0
Jason

私の場合、ファイアウォールでhttpポートとhttpsポートを許可する必要がありました。 Ubuntuではファイアウォールはufwと呼ばれ、CentOS/RedHatではfirewall-cmd。変更を有効にするには、ファイアウォール構成を再ロードする必要もあります。

0
Cool Charac