My Best Teaching Is One-on-One


Of course, I team teach and do special lessons, etc.


But my best work in the classroom is after the lesson is over --
going one-on-one,
helping individual students with their assignments.


It's kind of like with computer programs, walking the client through hands-on.
The job isn't really done until the customer is using the program.


Tuesday, April 7, 2009

drupal on apple

I was going to install drupal and play with it, see whether it would save me time and otherwise help on my personal website.

Yeah, right. Maybe on a current system, 10.4 or 10.5. I have reasons for trying to install drupal on an iBook running Mac OS 10.3, but, right now, rather than explain to the world why, I want to record what I did and where I ran out of time. (This is from memory, I'm probably forgetting something.)

Drupal can theoretically run on the stock apache+php on 10.3. PostGreSQL seems to run fine, so I should be able to run basic drupal functions.

But there were some critical security issues with both php and apache between the latest updates available from Apple for 10.3 and the latest versions of both php and apache.

Well, the notebook is not a production server, and is generally behind a firewall not configured to show it to the web, so I really don't need to be that concerned about security. (Oh, yeah?) But, I'm installing stuff anyway, and I've become used to the idea in the open source world that there are often less bumps if you go ahead and use the latest versions applicable.

So, I tried installing apache 1.3.41 over the system version. I thought about parallel installs, the way I do with perl, but I looked at all the tweaks I'd have to do to php, and balked.

So, after backing up /usr/libexec, I downloaded apache 1.3.41 from, unpacked it in a local build directory, read the READMEs and the INSTALLs,

cd ${my local build directory}
gnutar czvf libexec_httpd_old.tgz /usr/libexec/httpd
cd apache_1.3.41
./configure [bunch of arcane parameters that weren't what I wanted]
sudo make install

and mod_rewrite bit me. Could not get a valid copy of the re-compiled mod_rewrite to install to /usr/libexec/httpd. More reading, and I discovered that, for some modules, the make file seems to want you to say,

--enable-module=mod_xyz.c --enable-shared=xyz

That effectively doubles what was already a lot of typing arcane parameters anyway.

Deep sigh.

Next place I got hung up was mod_hfs_apple. It is compiled outside the apache source tree, so I had to figure out how. Late last night, with my mind buzzed by lack of sleep, I tried the obvious thing. (Well it was obvious last night, after re-discovering where Apple puts the source for Darwin, not so obvious yesterday afternoon.)

I downloaded the apache_mod_hfs_apple-5 tarball from Apple's darwinsource for Mac OS 10.4.11 archives, unpacked it in the local build directory and, after reading more and just trying configures and makes in various places, I downloaded apache from Apple's archives, as well. They have apache 1.3.41 in the archive directory for Mac OS 10.4.11, as well as in the latest directory for 10.5, and it is buried in a directory containing some (but not all) of their customization work. For some reason, I got the one from 10.5.6. (Late at night, you see.) I'm not sure whether that caused me the problems that have me stumped right now.

cd ${my local build directory}
gnutar xzvf ${my downloads for 10.5}/apache1-697.tar.gz
cd apache1-697

hmm. There is apache_1.3.41.tar.gz sitting there. Okay,

gnutar xzvf apache_1.3.41.tar.gz
cd apache_1.3.41

and I looked around for a few minutes.

./configure [tons of arcane parameters]
sudo make install

and, of course, it's not quite there.

cd ..
sudo make install

and now I see something that raises my eyebrows: apxs-1.3?

After nosing around the net, I decided to just go into /usr/sbin and

ln apxs apxs-1.3

No, this was not last night, it was this morning. My mind is not as clear. After more fussing around with make files and such,

cd ${my local build directory}/apache1-697/apache_1.3.41
./configure \
--with-perl=/usr/local/bin/perl \
--server-uid=70 --server-gid=70 --with-port=80
--disable-shared=vhost_alias --disable-shared=env \
--enable-module=log_config --enable-shared=log_config \
--enable-module=log_forensic --enable-shared=log_forensic \
--disable-shared=mime_magic \
--enable-module=mime --enable-shared=mime \
--enable-module=negotiation --enable-shared=negotiation \
--disable-shared=status --disable-shared=info \
--enable-module=include --enable-shared=include \
--enable-module=autoindex --enable-shared=autoindex \
--enable-module=dir --enable-shared=dir \
--enable-module=cgi --enable-shared=cgi \
--enable-module=asis --enable-shared=asis \
--enable-module=imap --enable-shared=imap \
--enable-module=actions --enable-shared=actions \
--disable-shared=speling \
--enable-module=userdir --enable-shared=userdir \
--enable-module=alias --enable-shared=alias \
--enable-module=rewrite --enable-shared=rewrite \
--enable-module=access --enable-shared=access \
--enable-module=auth --enable-shared=auth \
--disable-shared=auth_anon --disable-shared=auth_dbm \
--disable-shared=digest --disable-shared=proxy \
--disable-shared=cern_meta --disable-shared=expires \
--disable-shared=headers --disable-shared=usertrack \
--disable-shared=unique_id \
--enable-module=so \
--enable-shared=setenvif \
--add-module=/local/build/apache_mod_hfs_apple-5/mod_hfs_apple.c \
sudo make install
sudo /usr/sbin/apachectl start

And no go. Now it's hung up on mod_rendezvous_apple. So I go looking around for a more recent apache_mod_rendezous_apple on darwinsource. Nope. Download mod_bonjour_9 from the Mac OS 10.5 archives and try compiling. Lots and lots of errors.

Download apache_mod_rendezvous_apple-8 from the Mac OS 10.3 archives. Just a few link errors, and I might have a hope of actually finding a way to clear them. But I have other things I wanted to do today. I don't really need mod_rendezvous, I think. So I disable mod_rendezvous in httpd.conf and go back:

cd ${my local build directory}/apache1-697/apache_1.3.41
./configure [the list above]
sudo make install
sudo /usr/sbin/apachectl start

And apache tells me it started successfully. I suppose I could have used the apachectl test command. Anyway,

sudo /usr/sbin/apachectl stop
cd ..
sudo make install
sudo /usr/sbin/apachectl start
sudo /usr/sbin/apachectl stop

And that is how I got apache 1.3.41 on this iBook running Mac OS X 10.3.9. I think it will serve for my development work, but I'll tell you. This is one of the huge reasons I want to leave Mac OS behind and switch to Fedora full time.

The reasons I don't switch now?

I need some time to read up on loading the binary blob to the wireless card. --Bleaugh-- Stupid hardware companies that still believe in security through obscurity.

Trackpad. I need to figure out how to unset some "advanced" behavior for the trackpad and find all those notes that I can't find any more on setting up right-click emulation.

ClarisWorks/AppleWorks. I'm using draw documents with embedded spreadsheets (with randomized lists), and, last time I looked, iWork is not quite there yet.

MSOffice? Are you kidding? Microsoft has no idea how to do this stuff. They just don't know how to get out of the end-user's way any more.

One of these days, I hope to be able to figure out how to load java extensions to openoffice, and maybe then, but openoffice basically inherits the clumsy interface from MSOffice. (Quoth Bill Gates: "Let us help you do things the MS-OUR-WAY!")

I suppose, if teaching English paid enough to squeeze JPY 200,000 out of a year's wages, I'd go for a new Intel macbook and appropriate software, or even the macair or whatever that is. (A light-weight portable would ease some of the stress on my back quite a bit.) Maybe. I prefer AMD or other non-Intel on principle, if I have to put up with x86.

Or, I could spring $300 for a family pack of Mac OS X 10.4 original install CDs from some dubious internet company, and keep using AppleWorks. Or I could get new dictionary software and finish re-writing ranbunhyou to run on Mac OS X and get Mac OS X 10.5 on this iBook for a bit less. Or something.

I have something else in my queue now. Hopefully I'll get back to Drupal later.

No comments: