VM running CentOS, can ping but can't access web server
Solution 1
More than likely is a virtualhost configuration inside apache. There is a section in there that will say "allow from [something]". Make sure it says "allow from all".
Here is what mine looks like;
<Directory /var/www/>
Options FollowSymLinks
AllowOverride AuthConfig FileInfo Limit
Order allow,deny
allow from all
</Directory>
My personal opinion is to not use xampp at all. You are actually making things more difficult. Just use the native packages in CentOS. Here is a good tutorial (from a quick google search)
Or, you can install Ubuntu Server and there is an option during the install phase that you can check to install LAMP. It will download and install all of the packages for you.
Good luck.
Solution 2
I also had this issue. From your description I was running the same set up as you. It turned out I had firewalld
installed and was running and so had to use the commands:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
This then enabled me to access the apache
server running on my virtual machine from outside of the vm.
Solution 3
Run the following commands:
iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
To make the changes persist, go to /etc/sysconfig/ and add to the following line to iptables:
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
Then, restart the webserver:
service httpd restart
And now you can access out of VirtualBox.
Related videos on Youtube
Cas Cornelissen
Updated on September 18, 2022Comments
-
Cas Cornelissen over 1 year
I've been trying to set up a CentOS server for the first time (ever setting up a Linux server). The installation went fine, I installed LAMPP (and the required dependencies for x86), used the lampp security tool, and went to
http://192.168.0.112:8888/
using elinks.So far so good... But then I wanted to access the server from the other computers in my network (including the host of the VM). But I can't get it to work and keep getting 404's...
Note that I have another webserver running on this network (on port 80), so I changed
Listen 80
toListen 8888
in httpd.conf and forwarded 8888 in my router to the IP from the CentOS installation (static:192.168.0.112
, according to ifconfig).Ping
192.168.0.112
returns: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
Server details:
- CentOS 6.5 minimal, installed from .iso
- LAMPP 1.8.1 (via wget from apachefriends.org)
Host details:
- Windows 8.1 x64
- VirtualBox is using a Bridged Network Adapter (translated from Dutch: Netwerk bridge adapter)
Any ideas on how to fix this issue? I'm relatively new to networking and server as I'm a front-end developer myself, but I really want to get into back-end stuff.
It's getting really late now, so I'm off to bed. Hopefully I get some good insights in how networking/CentOS works in the morning!
Thanks in advance.
-
VL-80 over 10 yearsI am little bit confused by what are you trying to achieve. If your web server is listening to port 8888, have you specified this in elinks while trying to connect? (
http://192.168.0.112:8888
) -
Cas Cornelissen over 10 yearsI made a few mistakes in my original question, yes. I was trying to connect at
http://192.168.0.112:8888
.
-
VL-80 over 10 yearsHe said he is getting
404 Not found
as oppose to403 Forbidden
. -
Linuxx over 10 yearsWow, you right, my bad.
-
VL-80 over 10 yearsYou can edit your answer to fix this... Before crowd will start to downvote.
-
Cas Cornelissen over 10 yearsThanks for the answer! So, as long as it's on my local network I should be ok with two webservers running both on port 80, since the local ip is different? But when connecting from outside of my network it won't work since all computers have the same IP at that point, right?
-
Cas Cornelissen over 10 yearsAlthough I wasn't getting a 403 error, the solution of not using LAMPP appeals to me. I've always been using XAMPP on Windows so I decided to find an alternative for unix, but using the native packages sounds way better and I will learn more from it! I have one question though, how secure will this be? I want my webserver to be open tot the internet so I can develop wherever I am.
-
ndt over 10 yearsQuite right. Once the traffic goes through your router, everything outside the router only knows the IP of the router. Your internal network is condensed into a single IP from an observer's standpoint.
-
VL-80 over 10 years@CasCornelissen, it could be secure. Although security is absolutely separate subject at this point and I will not touch it in this question. You have few options here. You can use FTPS to upload content and code (PHP? or whatever) to the server. You can use SSHfs as well, but later is Linux specific tool while FTPS can be implemented on platform/OS independent basis.
-
Osvaldo Mercado over 7 yearsThanks! this answered why my Centos 7 VB with Apache 2.4 in a Windows 7 host couldn't work together superuser.com/questions/1120134/…
-
felipeek over 5 yearsThanks, thanks, thanks. Four hours debugging and it was this firewall. For me what worked was just stopping the service:
systemctl stop firewalld
. Maybe because my http server was on port != 80. Thank you again