Front page
Silflay Hraka?

Bigwig is a systems administrator at a public university
Hrairoo is the proprietor of a quality used bookstore
Kehaar is.
Woundwort is a professor of counseling at a private university

The Hraka RSS feed

bigwig AT

Friends of Hraka
Daily Pundit
cut on the bias
Meryl Yourish
This Blog Is Full Of Crap
Winds of Change
A Small Victory
Silent Running
Dr. Weevil
Little Green Footballs
Fragments from Floyd
The Feces Flinging Monkey
Dean's World
Little Tiny Lies
The Redsugar Muse
Natalie Solent
From the Mrs.
The Anti-Idiotarian Rottweiler
On the Third Hand
Public Nuisance
Not a Fish
Electric Venom
Skippy, The Bush Kangaroo
Common Sense and Wonder
Neither Here Nor There
The Greatest Jeneration
Ipse Dixit
Blog On the Run
Redwood Dragon
Greeblie Blog
Have A Cuppa Tea
A Dog's Life
Iberian Notes
Midwest Conservative Journal
A Voyage to Arcturus
Trojan Horseshoes
In Context
The People's Republic of Seabrook
Country Store
Blog Critics
Chicago Boyz
Hippy Hill News
Kyle Still Free Press
The Devil's Excrement
The Fat Guy
War Liberal
Assume the Position
Balloon Juice
Iron Pen In A Velvet Glove
Freedom Lives
Where Worlds Collide
Knot by Numbers
How Appealing
South Knox Bubba
Heretical Ideas
The Kitchen Cabinet
Bo Cowgill
Raving Atheist
The Short Strange Trip
Shark Blog
Ron Bailey's Weblog
Cornfield Commentary
Northwest Notes
The Blog from the Core
The Talking Dog
WTF Is It Now??
Blue Streak
Smarter Harper's Index
nikita demosthenes
Bloviating Inanities
Sneakeasy's Joint
Ravenwood's Universe
The Eleven Day Empire
World Wide Rant
All American
The Rant
The Johnny Bacardi Show
The Head Heeb
Viking Pundit
Oscar Jr. Was Here
Just Some Poor Schmuck
Katy & Bruce Loebrich
But How's The Coffee?
Roscoe Ellis
Sasha Castel
Susskins Central Dispatch
Josh Heit
Aaron's Rantblog
As I was saying...
Blog O' Dob
Dr. Frank's Blogs Of War
Betsy's Page
A Knob for Brightness
Fresh Bilge
The Politburo Diktat
Drumwaster's rants
Curt's Page
The Razor
An Unsealed Room
The Legal Bean
Helloooo chapter two!
As I Was Saying...
SkeptiLog AGOG!
Tong family blog
Vox Beth
I was thinking
Judicious Asininity
This Woman's Work
Fragrant Lotus
Single Southern Guy
Jay Solo's Verbosity
Snooze Button Dreams
You Big Mouth, You!
From the Inside looking Out
Night of the Lepus
No Watermelons Allowed
From The Inside Looking Out
Lies, Damn Lies, and Statistics
Suburban Blight
The SmarterCop
Dog of Flanders
From Behind the Wall of Sleep
Beaker's Corner
Bad State of Gruntledness
Who Tends The Fires
Granny Rant
Elegance Against Ignorance
Say What?
Blown Fuse
Wait 'til Next Year
The Pryhills
The Whomping Willow
The National Debate
The Skeptician
Zach Everson
Geekward Ho
Life in New Orleans
Rotten Miracles
The Biomes Blog
See What You Share
Blog d’Elisson
Your Philosophy Sucks
Watauga Rambler
Socialized Medicine
Verging on Pertinence
Read My Lips
The Flannel Avenger
Butch Howard's WebLog
Castle Argghhh!
Andrew Hofer
Moron Abroad
White Pebble
Darn Floor
Pajama Pundits
Goddess Training 101
A & W
Medical Madhouse
Slowly Going Sane
The Oubliette
American Future
Right Side Redux
See The Donkey
Newbie Trucker
The Right Scale
Running Scared
Ramblings Journal
Focus On Reality
Wyatt's Torch

June 09, 2003

Socket To Me

Spent most of the day struggling through the process of cramming a square Apache 1.3 configuration file from one of our aging Solaris servers into a round Apache 2 hole on one of the new Linux boxes. I learned a lot, which meant that my office mates spent most of the day listening to me curse before I finally got the web server to start.

I'm still not done. Just because something is running doesn't mean that it's running correctly. You could probably get a Trans-Am to run on french fry oil, but that doesn't mean it'll run very long. In fact, odds are that the new Apache is running badly, especially as the only way I managed to get the old config file parsed correctly was to cut and paste large chunks of Apache 2 configuration code that we don't really understand into it. I'll have to start pruning tomorrow, cutting out code and restarting the process to see which bits are critical and which are useless window dressing.

Yes, I could have read the documentation, but that would have taken just as long, and leave me knowing less than I do now. It's been my experience that after the first 15 minutes of looking at documentation my brain shuts down out of sheer boredom and stops learning anyway. Documentation is almost always written from the viewpoint that the reader knows as much as the writer, a assumption that is demonstrably wrong, else the reader wouldn't be there in the first place, so it's also confusing.

This is the error dogged me most of today.

"no listening sockets available, shutting down
Unable to open logs."

Think of a socket as one of the little holes an early telephone operator plugged a line into. Most programs connect to specific ones, identified for convenience's sake by numbers, usually called ports. One can tell Apache to connect to any port one wishes, but it defaults to port 80. What the error is saying is that for some reason port 80 is unavailable. But, since it can't open the log file, it iss unable to tell me why. Most of my job is spent looking at log files; so not having one is like making Batman fight crime without his utility belt.

Or in my case, arms or legs.

Normally the "no sockets available" message would mean one thing---that I'm a dumbass who already has Apache or some other web server running, thus closing the port off from new connections. Turn off the offending process, and my problems are solved. Google the error and that will be the solution to almost all of the links brought up.

In this case, that wasn't it. There's a command, "netstat -a," that will let me see which ports are in use at any particular time, and when I ran it "80" was nowhere to be found.

So instead of the error meaning that I was a dumbass, it meant that someone up there hated me. There's nothing more frustrating than a error with no explanation and no clues, except perhaps looking at the documentation in the mistaken belief that it might help.

The first thing I did was to start removing parts of the old configuration, reasoning that by cutting out code I could eventually isolate the problem. Our standard Apache config is over 2000 lines long, so it took a while. This only works if the bug is being caused by something in the code, not if the bug is due to something missing from the code, so Apache still refused to start even after I reduced the file down to about 10 lines.

That's when I started throwing extra code in. I think I've identified the code snippet responsible for ending my sisyphean task;

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the
# directive.
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (

Listen 80

The above is part of the global configuration part of the Apache 2 configuration, something that isn't specified in the same manner our 1.3 files. Tomorrow I'll take it out and hope everything breaks. If not, then I'll curse and start again.

Posted by Bigwig at June 9, 2003 05:04 PM | TrackBack
First time visitor to House Hraka? Wondering if everything we produce could possibly be as brilliant/stupid/evil/pedantic/insipid/inspired as the post you just read? Check out the Hraka Essentials, the (mostly) reader-selected guide to Hraka's best posts, and decide for yourself.
Post a comment Note: Comments with more than two dashes per line will be blocked as spam.

Remember personal info?