General questions about install order and variants (Apache2, PHP5, PostgreSQL, mySQL)

Jordan K. Hubbard jkh at brierdr.com
Fri May 18 18:09:32 PDT 2007


[ Ah, I love nothing better than a lengthy rant!   Here's a lengthy  
reply to go with it... ]

On May 18, 2007, at 10:57 AM, Bill Hernandez wrote:

> Over time I've installed so many different versions software  
> (mostly Apache, php, pgsql, and a myriad of dependencies) in the  
> form of binaries & source installs on my workstation, and on the  
> servers that after a while I began to feel that I had no clue  
> what's what, or what was where, a big unruly mix and match...

That's kind of a "doctor, it hurts when I bend my elbow backwards!"  
complaint, but I will say that if there was proper package management  
on the platform and a clear notion of "software overlays" somehow  
embedded into the whole process of adding/updating/removing packages,  
your elbow probably wouldn't hurt nearly so much.  However, given  
that such a system is really nothing more than a gleam in various  
people's eyes right now and would take a lot of engineering and time  
to get really right, even if we were to start on it tomorrow, you'll  
probably have to learn how to simply manage that pain for the  
forseeable future if bending your elbow that way is something you're  
bound and determined to do.

> Some people put a great deal of effort into creating these  
> binaries, and for the most part grateful as you were that someone  
> took the time, they never quite solved the problem.

That problem being... ?   There's a difference between having a  
specific, demonstrable need for version X of package Y (because it  
contains, at a minimum, necessary new feature Z) and wanting the  
latest shiny object because, well, it's shiny and you take it as holy  
writ that if version X is good then version X+1 must CLEARLY be  
better.   The former case is defensible, the 2nd just makes one look  
like a software magpie.

> Sometimes when you get involved in what you feel is going to be a  
> 30 minute deal, and three days later at 3:15 am you've installed a  
> boat-load of dependent software, you're on the last leg and the  
> last one just refuses to compile with some cryptic message. You  
> begin to feel like you're inside a huge snowball rolling down the  
> mountain totally out of control, and there's a big giant Sequoia at  
> the bottom, and you just know it's got you name on it.

Yeah, that can certainly be frustrating, but I don't think anybody  
ever promised that compiling and installing your own bits from source  
was ever going to exactly be EASY either!

Let me offer an analogy specifically tailored to someone with your  
stated background:   Consider all those folks who buy experimental  
aircraft kits - you know the kind, advertised in the back of just  
about every aviation magazine being published today.   What notion  
could be more appealing to one's imagination than zooming around in a  
self-built 200+hp high-performance experimental aircraft, built for  
pennies in comparison to the cost of a new Cessna and certainly  
sexier than the more pedestrian offerings down at the local flying  
school?    I'm sure a lot of guys have fallen head-over-heels in love  
with the notion and rushed right out to buy the plans and perhaps  
even the first batch of parts, only to have reality set in with all  
the rude shock of a cold, dead fish right across the face just as  
soon as they started reading those plans and realized that they were  
looking at easily 3000 hours worth of fabrication work and a serious  
long-term commitment to seeing the project to completion, during  
which time they'd need to completely take over the garage and learn  
all sorts of new skills, like working with exotic composites, wiring  
control systems, using specialized tools, etc.   To make it even more  
disheartening, even after all THAT was done they'd still have to  
learn how to fly the thing, experimental aircraft not being  
particularly well-known for being forgiving of mistakes made in the  
air (just ask John Denver).

Most of those kits sadly sit in various garages, partially or  
completely unfinished and my hat is well and truly off to those who  
actually do build the complete aircraft, get an air-worthiness  
certificate for it and end up actually flying it for any length of  
time (without, of course, dying in the process).  Your situation is  
not that different, unfortunately.  If you really want to go down the  
route of building your own packaged software then you're also going  
to have to learn how to get over the hurdles with the cryptic  
messages and the frequent need to modify software until it "ports"  
over.   If you don't have that kind of patience and resolve then it's  
probably better to simply save yourself the agony of even starting  
lest you just end up with a mess (not in your garage, at least, but  
certainly on your system) and a lot of hours wasted being frustrated.

In summary, it's not a question of intelligence, it's a question of  
resolve.  I'm sure a lot of those abandoned aircraft kits are owned  
by some pretty intelligent guys, some even with solid backgrounds in  
aviation, but 3000 hours is still 3000 hours and a lot of folks have  
other things to do with their lives (raise families, try not to get  
divorced by spending all their time in the garage, etc).

And yeah, to answer your other point, you'd think that in the year  
2007 things would be a lot better.  You'd also think that people  
wouldn't still be flying on Lycoming engines designed back in the  
1950's and offering horsepower-to-displacement ratios that most  
automobile manufacturers would barf up a kidney at if asked to use in  
an automotive role.   Some technologies move a hell of a lot more  
slowly than you'd expect them to, for reasons too lengthy and  
complicated to go into here.  Both aviation and software fall into  
those categories.   We were supposed to be already at Jupiter talking  
to HAL-9000 by now too, but hey.  As the saying goes:  The future  
isn't what it used to be.

> Even when I installed what should have been a simple install of  
> "rpl" which does a simple unix replace string, I had to go back and  
> forth with the author overcoming some error messages until I  
> finally got it to install correctly. One of the huge problems is  
> that unless you have the discipline to write excellent notes, and  
> file them appropriately, so that the next time you need to do this  
> again on a new machine a year down the road, you're going to be in  
> for the same problem all over again...

Which is why macports exists.  It's essentially nothing more than a  
collection of "recipes" that people accumulate by going through that  
whole process, the biggest advantage over careful note-taking being  
that those recipes can also be followed in an automated fashion for  
those who follow in the original porter's footsteps.  It's not  
perfect, but it's a lot better than starting from scratch.  To re- 
visit our aviation analogy, it's like buying an experimental aircraft  
kit which is simply a completed aircraft delivered in 4 or 5 sections  
and a heck of a lot easier to stick together than building one from  
scratch plans.   It's still not a patch on going down to the Cessna  
dealer and picking out a new 172SP with leather upholstery and Garmin  
G1000 glass cockpit installed, just quivering and ready to go once  
you add gas and oil, but it still beats mixing the fiberglass  
yourself by a mile.

> [ ... ] So I tend to think that I am not the average user, and I  
> still run into huge problems

Heh, my father is a retired Pan American pilot with god-only-knows  
how many tens of thousands of hours in the air, including a long  
stint as an Air Force test pilot at Edwards where he dealt with more  
exotic varieties of equipment most of us can imagine, but he still  
hands his computer to me when it really gets fubar'd and says  
"Goddamn it, I don't know what's wrong with this thing!  Please fix  
it!"   Experience is not necessarily commutative and it's just silly  
to imagine that it should be.   I can run rings around him on the  
computer and I can even fly his piper Aztec, but I'm not even gonna  
touch the controls of a 747 whereas he'd be totally comfortable with  
the idea of just hopping into one and flying it 7100 miles from LA to  
Hong Kong with hardly a moment's notice (and that happens more often  
than you'd think or be comfortable with as someone in the back).    
Some things take more than book learning, they take hours and hours  
of experience and a willingness to beat your head against various  
challenges until they stop being challenges and start being things  
you solve almost reflexively.

> I used to think I was reasonably safe behind the routers/firewalls,  
> and behind the OSX Server Firewalls until I began reading all the  
> daily vulnerability reports. [ ... ]

I used to think I was safe at home, too, until I looked at the fact  
that I have all these friggin' windows right next to my locked  
doors.   I think it's important to consider just what you have to  
lose in addition to looking at potential vulnerabilities.   Sure,  
some spammer might want to take over your machine and use it as a  
'bot host, and that's actually fairly easy to monitor and check for  
(those thousands of outgoing emails tend to be something of a clue).   
Otherwise, who really wants into your machine?   One assumes you're  
not foolish enough to write down all your credit card numbers and  
leave them in an unencrypted file named "my-credit-card-numbers.txt",  
and if you're worried about identity theft then it's actually a lot  
easier to get your SSN and other information from sources EXTERNAL to  
your machine, so again, I don't know how much sleep I'd lose over this.

I'm not saying to be complacent, I'm simply saying that any degree of  
caution can be taken to extremes if you choose to hyper-focus on any  
given threat.   I know folks who stockpile weapons for the day when  
society breaks down and the hungry, unwashed hoards storm their  
compound in order to get at their valuable cache of canned goods,  
too, but I don't know if I necessarily want to live my life that way.

> When I started doing this, if you were a programmer you could make  
> really good money.

If you're a GOOD programmer you can still make really good money.   
Check out Apple's job site sometime.  Or google's.   Lots of folks  
are hiring and I think you're overstating the outsourcing problem  
just a wee bit there.  You wouldn't be the first.   Sure, there are a  
lot of mediocre programmers who've lost their jobs to equally  
mediocre (and cheaper) programmers overseas, but I'm not sure what  
we're exactly arguing in defense of here now.

> If I had any strength of character at all,  I would pitch the  
> computer out the window, and go fly my little airplane. Maybe take  
> a short flight to Okahome, and go eat some lunch at one of the  
> local airports, or fly down to the Bahamas...

With aviation gas at $4.80 a gallon, I suspect it's a lack of  
strength in your bank account more than a lack of strength of your  
character that keeps you from flinging the computer out the window  
and doing as you say.  :-)

If, on the other hand, you're stinking rich then what are you doing  
on this mailing list at all?  You should be sipping mai tais on your  
lanai in Hawaii and not wasting your time messing with this stuff! :-)

> In my lifetime I have seen free time vanish from human existence,  
> except in France.

Give the new administration there a chance, will ya?

> Anyway, great as the Mac has been, Apple has done a very poor job  
> in providing help to upgrade the ancient versions of software that  
> come with the OS.

You might try to come up with a justifiable business case for this.   
If you can, I'll forward it to the powers that be.   If not, then  
you've answered your own lament.

> So that even if they are not going to handle the upgrades from  
> Apache 1.3 on OSX, or Apache 2.0.52 on OSX Server, or openssl .96d,  
> or php 4.x to the current versions, they should have some really  
> good instructions on how to replace and upgrade the existing  
> outdated versions. Shamefully they don't do anything of the sort...

Maybe they don't WANT you to do that because to do so would have the  
potential to create a mish-mash of software that makes AppleCare  
rather unhappy when they try to diagnose some weird-ass problem  
you're now having because, surprise surprise, you installed one of  
those components with some completely unknown later version of the  
same component that was never qualified with the OS as a whole.

Of course, if you're the type who is never likely to need AppleCare  
then you're also the type who doesn't NEED instructions on how to do  
this because you understand exactly what's involved in swapping  
components in and out like this.  You can't have it both ways.   
Either you know what you're doing and can modify the heck out of your  
system without instructions or you don't know what you're doing and  
shouldn't be messing around under the cowling in the first place!    
There's a term for folks in the latter category in aviation too:  The  
Deceased.

> Perhaps if you are a home user with an iMac or a laptop you can get  
> by with Apache 1.3, (we're talking 4 or 5 years after Apache 2  
> became available) but certainly if you are shelling out a bunch of  
> money for OSX Server, Apple should be more forthcoming. Their  
> policy seems to be install it and forget. The user won't notice how  
> ancient this stuff is, and even if they do "We'll just tell them  
> that's not part of the 90 day support"...

Mac OS X Server comes with Apache 2.  Look in /opt.   It's in a  
different location to avoid conflict because server users also HATE  
when stuff is changed, they don't necessarily embrace it the way you  
do.   The OS qualification cycle for your average enterprise (and OS  
X Server) customer is about 3 years.  Change is not a good thing in  
that market space.

To be honest, I do appreciate the fact that you can rant coherently  
and are obviously willing to expend considerable time and energy  
towards making your points, but you're also coming off sounding like  
the aviation kit builder in my earlier analogy who also expects  
building an aircraft to be really easy, take no more than 3 hours  
with tools no more complicated than a hammer and a hacksaw, and  
considers it almost an FAA conspiracy (with blame also shared by the  
likes of Cessna and Piper) that learning to fly can't be done in an  
hour with all those complex radio and airspace procedures being clear  
evidence that aviation is being deliberately and gratuitously  
complicated to a downright SHAMEFUL degree merely to make his life  
difficult and detract from the enjoyment that so rightfully should be  
his.

I'm also fairly sure that's not the impression you were trying or  
wishing to leave us with, but it's something you definitely managed  
to accomplish.

- Jordan




More information about the macports-users mailing list