12-04-2007, 11:16 PM | #1 (permalink) |
Crazy
|
New Linux installation
Hello,
I hope everyone is well. I have successfully used Linux (Fedora Core) for several years now as a replacement for a windows server - filtering the net, using it as a home directory for those logging in, etc. I now have tried to set up a LAMP (essentially just a linux machine that will serve our web sites) using CentOS 5. However, I cannot get the machine to be accessible through the network. IE: If I am on the machine and visit 127.0.0.1 or the IP of the machine itself, I will get the Welcome to CentOS Apache page. Also I can get webmin working and I can ssh. However, if I am on another machine on the same network, I can ping the linux machine, but putting in its IP gives me nothing - it just times out. Thoughts? I have disabled SELinux as I thought that might be it but it made no difference. All help is greatly appreciated. Thank you. |
12-05-2007, 08:49 AM | #2 (permalink) |
Junkie
Location: San Antonio, TX
|
You might also check the status of the firewall (run the program 'system-config-firewall'). Try disabling it for testing, and with the firewall enabled, you probably want the http ports accessible.
Other than that, there are lots of configuration options for apache. Check /var/log/httpd/access_log to see if your attempts to connect from the outside are even reaching apache. |
12-05-2007, 09:07 AM | #3 (permalink) |
AHH! Custom Title!!
Location: The twisted warpings of my brain.
|
Have you updated the Apache server config file to accept external connections? By default inbound connections are disabled on a new install as a security feature.
__________________
Halfway to hell and picking up speed. |
12-05-2007, 08:05 PM | #4 (permalink) |
Crazy
|
Hello,
Thank you for the two replies. In regards to the firewall, I ran the firewall configuration program and first tried to allow the firewall but specify that I wanted www and ssh to be allowed through, and that SELinux would be disabled. That did not work. I then tried to disable both SELinux and the firewall and now I CAN ssh into the machine no problem from another computer on the network via the machine's IP All the logs under log/httpd/ show no indication of anything external to the server itself -- I.E. the only entries are for 127.0.0.1 -- nothing else is showing. This leads to the second point, that perhaps the Apache server is not set up correctly. I do not know how to specify that inbound connections are enabled. The server is a text-based one and all the tools to modify it (webmin, http configuration tool) are all GUI. Can I just edit the file by hand? Thank you |
12-05-2007, 09:11 PM | #5 (permalink) | |
Junkie
Location: San Antonio, TX
|
Quote:
When you connect to the system locally, you probably get the standard 'welcome, congratulations, you've set up your webserver' page. Try replacing that by adding a simple index.html in /var/www/html - in my setup (Fedora 7), the 'welcome' page is handled by the file /etc/httpd/conf.d/welcome.conf. Basically, it's configured so that if no document is found, it serves the welcome one instead. So if you have an actual index.html, that will be bypassed, and you'll serve that instead. However, if you're not seeing anything from the external system in the access log, it seems more likely that the request isn't reaching apache at all. Do you have DNS setup at all on your network, or are you just connecting via IP address? |
|
12-05-2007, 09:57 PM | #6 (permalink) |
Crazy
|
I am glad I was not too far off base -- I had put into /var/www/html a file called index.html to replace the standard "Welcome!" message that Apache defaults to. If I use either the loopback IP or the explicit network IP on the machine itself, I can see the index.html file. If I try to access it from another machine on the same network, the browser times out.
I am connecting to the server (192.168.0.195) from another machine on the same network (192.168.0.199) directly by typing the IP, in order to simply things. |
12-06-2007, 06:38 AM | #7 (permalink) |
AHH! Custom Title!!
Location: The twisted warpings of my brain.
|
If you attempt a simple telnet connection to port 80 (telnet 192.168.0.195 80) does the port connect or does the connection time out?
If the connection times out you're not reaching the apache server on the target workstation. Another thing that would be helpful to know is whether or not the server can ping/communicate with the foreign host. Can you go from .195 to .199?
__________________
Halfway to hell and picking up speed. |
12-07-2007, 05:50 AM | #8 (permalink) |
Crazy
|
Here are the results:
1) I can successfully ping both from .199 to .195 and from .195 to .199 2) telnet connection to port 80 does something weird. When I first tried it, the command prompt console goes blank and just sits there. I thought it had timed out, so I pressed the key 'a' and hit enter. Then I get the following: PHP Code:
And that's the end of it. You can see the letter 'a' appearing halfway in the code. It ends up no matter what I type in the console when it goes blank, that text will show up in this output. Weird. Thanks to a Google search, it seems a 501 error is when the http server can't communicate with the device because it is not a browser (which is true in thise case as it's a telnet session). This therefore SHOULD mean that the http requests on port 80 are getting through but when I type 192.168.0.195 into the browser it just sits there for 15+ minutes waiting to connect. Any thoughts? Thank you. |
12-11-2007, 11:43 PM | #9 (permalink) |
AHH! Custom Title!!
Location: The twisted warpings of my brain.
|
You're successfully connection to both the IP address and the Apache server, and the server is responding to queries, which is good
This means that you can focus on the Apache configuration as the source of the problem, for whatever reason (though most likely either file location or security permissions) it's not publishing the default website. On the server you can try running "tcpdump port 80" while you're attempting to load the page in the browser and see if you can glean additional information from that, or install Wireshark so that you can see the packet loadout and perhaps figure out where the system stops communicating. Another option is to simply tail the apache access logs/error logs. If you run "which apachectl" it should give you the folder that apache is installed to, there will be a "logs" subfolder with an error_log and an access_log that was additional output data about the status of the request being made to the server and the response that the server generated.
__________________
Halfway to hell and picking up speed. |
Tags |
installation, linux |
|
|