Archive for July, 2007

Updating to Apache2 for Mac OS X Tiger (Apache 1.3)

Monday, July 23rd, 2007

This past weekend, I wanted to update the built-in Apache 1.3 (Darwin) build with a more recent Apache 2.2.4, all while preserving the Mac OS X’s Personal Web Sharing capabilities transparently. Here are the simple steps:

  • Download the latest apache src from http://www.apache.org. In my case it was version 2.2.4
  • Extract the src to a directory where you keep all your src files, cd to that directory

./configure –prefix=/usr/local/apache2 –enable-so –enable-mods-shared=most
make
make install

  • Replace /usr/local/apache2 with the directory you’d like apache to be installed in. I named mine apache2. The above command will build apache2.

cd /usr/sbin
sudo mv httpd httpd.apache1.back
sudo ln –s /usr/local/apache/bin/httpd httpd
sudo mv apxs apxs.apache1.back
sudo ln –s /usr/local/apache/bin/apxs apxs
sudo mv apachectl apachectl.apache1.back
sudo ln –s /usr/local/apache/bin/apachectl apachectl

  • httpd (the binary for apache) version 1.3 is installed in /usr/sbin/. You can see the version by typing “httpd -v” in the command line. Replace this (after backing it up) with a symlink to our new apache2 httpd binary. This should also be done for apachectl and apxs.
  • At this point. apache2 is already running on your system, but the conf files are not quite ready. Add the following to your httpd.conf (found under /usr/local/apache2/conf). The PidFile is where the Personal Web Sharing manager looks to see if an apache instance is running.

PidFile "/private/var/run/httpd.pid"

  • You should also add the following to enable user directories.

<IfModule mod_userdir.c>
UserDir Sites
</IfModule>
Include /private/etc/httpd/users/*.conf

  • At this point, you are all set. Try toggling the Personal Web Sharing on and off. The next steps you might want to take (optionally) is to add MultiView support and change your DocumentRoot. These can all be done in the httpd.conf file. You might also want to uncomment the line that includes support for http://localhost/manual/
  • You can also find the previous 1.3 conf file at /private/etc/httpd. Notice how much more verbose this conf file is compared to the apache2 conf file. This is because most of the additional conf settings can be includes via conf/extra directory.

Being a Father

Sunday, July 15th, 2007

Luke Wang was born on July 4th, 2007 at 1:44pm, a warm, cheery summer day. Despite the fact that it was Independence Day, it was quite a non-descript summer day, full of sun and a slight breeze. Of course, having been confined to the labor & delivery department of Kaiser, neither mom nor I were able to take advantage of that fact. I was anxious, nervous, and all-in-all quite queasy, and the dimly-lit room didn’t help. While mom was going through contractions, I felt myself fighting through my own nervousness. The birth itself went smoothly, Lulu having only been in real labor for no longer than 11 hours or so, and the delivery taking no longer than 30 minutes. Luke came out kicking and screaming, seemingly ready to take on the world and all its caveats.

I think it’s impossible to describe what it is like to suddenly come to full realization of becoming a father. Purposely, I’ve let all the emotions simmer down before making an entry here, as I knew only words of retrospect could do justice to the jumble of feelings that were suddenly thrust upon me. On that note, I’ve realized that there had been one overriding contemplation that I’ve had over the last week or so.

To bring life into this world is both a joy and an overwhelming responsibility, but it was also the onset of an epiphany. A baby is born into this world with no baggage, no past, no enemies, and no debt. When you think of all the new things to learn and experience for a newborn, it dulls the trivial things in our life we take as important - our everyday grind, our everyday matters, our everyday worries. It puts into perspective the everyday things in our life that we’ve become consumed in wrongfully, and frees us from the chains of mediocrity we’ve come to bind ourselves. At once, it is a new beginning for both the baby and the father.

What can we provide for our newborns? Of course, I mean more than just food, clothes, and shelter - I mean our knowledge, our sense of compassion, our sense of morality. Spare them our burdens, our hardships, and our immaturity. Spare them our love of bickering, our sense of greed, and our penchant for prejudice. Give them love, hope, and peace. Give them a better world in which to live, a better environment in which to grow. Give them truth. Give them honesty.

The one thing I can take away from this, as I step back and reflect on this little miracle of my own is that this is an opportunity for me to become a better person, and then to take that energy and posit it in a way that has lasting effects in this world. My contribution to humankind will be my willingness to give the next generation a better future, as should be the contribution of every father.

In the end, our society is built on the strength of our ability to not just create, but to share creation. That includes raising, and loving, our children.