私は初めてCentOSサーバーをセットアップしようとしました(Linuxサーバーをセットアップしたことはありません)。インストールはうまくいき、LAMPP(およびx86に必要な依存関係)をインストールし、lamppセキュリティツールを使用して、http://192.168.0.112:8888/
elinksを使用します。
これまでのところとても良いです...しかし、ネットワーク内の他のコンピューター(VMのホストを含む)からサーバーにアクセスしたいと思っていました。しかし、私はそれを動作させることができず、404を取得し続けることはできません...
このネットワーク(ポート80)で別のウェブサーバーを実行しているため、Listen 80
からListen 8888
httpd.confで、ルーターの8888をCentOSインストールからIPに転送しました(静的:192.168.0.112
、ifconfigによると)。
Ping 192.168.0.112
戻り値:
Ping statistics for 192.168.0.112:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
サーバーの詳細:
ホストの詳細:
この問題を修正する方法に関するアイデアはありますか?私は自分がフロントエンドの開発者なので、ネットワーキングとサーバーに比較的慣れていませんが、本当にバックエンドのことを知りたいです。
今は本当に遅くなってきたので寝ます。うまくいけば、午前中にネットワーキング/ CentOSがどのように機能するかについていくつかの良い洞察を得ることができます!
前もって感謝します。
おそらくApache内のvirtualhost構成です。そこには「[何かから]を許可する」というセクションがあります。 「すべて許可」と表示されていることを確認してください。
これは私のものです。
<Directory /var/www/>
Options FollowSymLinks
AllowOverride AuthConfig FileInfo Limit
Order allow,deny
allow from all
</Directory>
私の個人的な見解では、xamppをまったく使用しません。あなたは実際に物事をより困難にしています。 CentOSのネイティブパッケージを使用するだけです。これは良いチュートリアルです(グーグル検索から)
または、Ubuntu Serverをインストールできます。インストール段階で、LAMPをインストールするためにチェックできるオプションがあります。すべてのパッケージをダウンロードしてインストールします。
幸運を。
私もこの問題を抱えていました。あなたの説明から、私はあなたと同じセットアップを実行していました。 firewalld
をインストールして実行していたため、次のコマンドを使用する必要があることがわかりました。
Sudo firewall-cmd --permanent --zone=public --add-service=http
Sudo firewall-cmd --permanent --zone=public --add-service=https
Sudo firewall-cmd --reload
これにより、仮想マシンで実行されているApache
サーバーにvmの外部からアクセスできるようになりました。
次のコマンドを実行します。
iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
変更を永続化するには、/ etc/sysconfig /に移動し、次の行をiptablesに追加します。
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
次に、ウェブサーバーを再起動します。
service httpd restart
これで、VirtualBoxからアクセスできます。
本当に必要なときに192.168.0.112
にルーターのトラフィックを192.168.0.112:8888
に転送したようです。 CentOSマシンにpingを実行できるコンピューターとできないコンピューター、ルーターがポートを転送するように構成されている方法、/etc/httpd/conf/httpd.conf
の内容について知っておくと役に立ちます。
また、このWebサーバーにアクセスできるようにしたい別のネットワークにルーティングしていて、両方のWebサーバーの外部IPが同じでない限り、このネットワークに別のWebサーバーがあることは問題になりません。
この場合、「外部」IPは10.10.10.10
で、このルーターの内部IPは192.168.0.1
です。前述のとおり、CentOSウェブサーバーが192.168.0.112
にあり、他のサーバーが192.168.0.110
にあり、ポート80
でウェブサーバーをホストしているとします。
192.168.0.110
が10.10.10.*
上のデバイスにHTTPトラフィックを提供できるようにしたいため、10.10.10.10:80
を192.168.0.110
に転送しました。ただし、これは、8888
からポート192.168.0.112
でWebトラフィックを提供する必要があるという意味ではありません。 192.168.0.112
経由でルーティングする必要があるデバイスから192.168.0.1
にアクセスする場合にのみ、80
以外のポートが必要になります。したがって、この場合は、192.168.0.112
をポート80
で提供し、トラフィックを10.10.10.10:8888
から192.168.0.112:80
に転送します。
最後に、ブラウザで404
メッセージを受信しているという事実は、何らかのWebサーバーにアクセスしていることを意味します。
404またはNot Foundエラーメッセージは、クライアントがサーバーと通信できたがサーバーが要求されたものを見つけられなかったことを示すHTTP標準応答コードです。 (Wikipedia)