Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a Dell 500SC running Suse Linux 8.2. I am attempting to use this machine as a simple web server. The web server is Abyss X1. When I try to configure the web server to listen on Port 80 it comes back and says that this port is already in use.
I have tested the web server by using port 8080 and trying the web site IP with the port appended to the name (xx.xx.xx.xxx:8080) and this works fine. I can't use it this way though as I must allow other users to access the website using our domain name (also works with the :8080 at the end).
I have spent hours on the SuSe web site and on search engines trying to fix this problem. I know that this is a Linux issue as I just had the same web site operational using three other boxes (an old Mac using MacOS 8.5 and Mac fttp, an eMac using OS X and Apache and a windows XP box using Abyss). Our Internet service supplier does not block port 80.
I am about ready to throw in the towel on Linux and go back to Windows or the Mac OS. I try Linux every six months or so and find it continually frustrating, inaccessable and hard to get clear and direct support on. Can anyone help before I take the software and toss into the can?
I can't figure out how to do a port scan in Linux. I know the web server is running as I can enter an appended ip address (a port other than 80) and it works OK.
I have a Dell 500SC running Suse Linux 8.2. I am attempting to use this machine as a simple web server. The web server is Abyss X1. When I try to configure the web server to listen on Port 80 it comes back and says that this port is already in use.
I have tested the web server by using port 8080 and trying the web site IP with the port appended to the name (xx.xx.xx.xxx:8080) and this works fine. I can't use it this way though as I must allow other users to access the website using our domain name (also works with the :8080 at the end).
I have spent hours on the SuSe web site and on search engines trying to fix this problem. I know that this is a Linux issue as I just had the same web site operational using three other boxes (an old Mac using MacOS 8.5 and Mac fttp, an eMac using OS X and Apache and a windows XP box using Abyss). Our Internet service supplier does not block port 80.
I am about ready to throw in the towel on Linux and go back to Windows or the Mac OS. I try Linux every six months or so and find it continually frustrating, inaccessable and hard to get clear and direct support on. Can anyone help before I take the software and toss into the can?
Is it possible that there is something already listenting at port 80? I don't know about Suse installs, but it is possible that Apache is already running. Try netstat -nl and see if something shows up. You can also use netstat -l and it will show you the process name instead of the port numbers.
Actually, use "netstat -lp" to get it to list process names. You definately have something running on port 80 already if you're getting the port in use message.
Have you tried to access your machine's port 80 with your web browser to see if there is a web server already there and serving things out? Another way to find out what is using that port is to connect to it with telnet, using "telnet localhost 80". If it doesn't immediately give you a message, type "GET /foobar HTTP/1.0" and hit Enter twice. If there's a web server there, it should send back a bunch of HTTP headers, some of which will tell you what server it is.
When you find out what is running there and kill it off, let us know what it was, OK? Oh, and you'll have to make sure that SuSE doesn't just restart it again the next time you boot. Use YaST2 and look under the System Settings / Services menu (I forget the exact names of SuSE's menus, but it's something like that. Find the service that you killed off, and disable it for all run levels. You should also be able to use this service facility to get Abyss to start up on every boot, if they've provided a startup script to install in /etc/init.d.
You can see the Abyss web server at port 8080 (verified with netstat -lp). I tried "telnet localhost 80" and I immediately got back "connection refused".
I am sorry about the double posting. That was a mistake as I actually thought I was on another forum when I posted it (I have the same question on several different forms).
httpd.conf does not exist on my machine as I am not running Apache (it's not installed). I am using Abyss X1 as a web server. I took another person's advice and tried "telnet localhost 80". This connection was also refused. I have verified that Abyss works OK on port 8080 (or another I might select other then 80). Something within the OS is refusing to grant access to Port 80.
Yes, but we wouldn't see the "address already in use" error if it wasn't run as root, we'd get "permission denied" instead. This is looking like it's a web server configuration problem, a bug in Abyss X1 that reports the wrong error (masking the correct one), or a firewall rule blocks the port (though you probably wouldn't get the in use message for that).
Let's see if we can get some really simple program to use port 80. Here's a PERL script that just tries to listen on port 80, and tells you if it could do it or not. If it can't it tells you why.
#! /usr/bin/perl -w
use IO::Socket;
use IO::File;
$PORT = 80;
$socket = IO::Socket::INET->new(
Proto => "tcp", LocalPort => $PORT,
Listen => SOMAXCONN, Reuse => 1);
if (! defined($socket)) {
print STDERR "Cannot listen on port $PORT: $@\n";
exit(1);
}
print STDERR "Able to Listen on port $PORT\n";
Run this as root (if you're sure I didn't put a trojan in there ;-) ) and let us know what you get. If it can listen on port 80, try starting up Abyss right afterwards and see if it still fails. If the above program can listen to port 80 but Abyss can't, then there's something wrong with Abyss or its configuration.
To check the outside chance that this is a firewall problem, run "iptables -L" and "ipchains -L" to dump any firewall rules, and see if there are any REJECT rules. If there are, make sure they are not rejecting port 80 or there is an ACCEPT rule for port 80 before any general REJECT rule.
Oh, one more idea: if the PERL script cannot listen on port 80, try it on port 81.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.