I want to install a www server on my machine. So I looked at Apache, which is highly regarded. And free.
I started about 10am.
Installing Apache
First I found out that Apache comes in many flavours. I wanted the one with the
MS FrontPage extensions already installed. That's because this website is written
using FrontPage. Through my friend, the mailing list archives, I found
a reference to the Apache Server
w/FrontPage Module. I just followed the steps listed on that page and installed
it.
But wait! There's more...
I had downloaded that file to /usr/local. Then did the untar via tar -xzf
apache-fp.131.tgz. Next was the make install. That's when I was told:
WARNING: MS FrontPage Extentions require the DES Library
WARNING: Install the DES Library, then build apach-fp
And yes, that is how they spell extensions.
So, off to install DES I went. But I didn't get very far.
8:30pm - What? DES is installed
I've concluded that DES is actually installed. I checked the Recognizing your crypt
mechanism section of the FreeBSD handbook.
From the details on that page, I conclude that DES is installed. Namely, the
following is what I find:
$ cd /usr/lib
$ ls -l /usr/lib/libcrypt*
lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a ->
libdescrypt.a
lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 ->
libdescrypt.so.2.0
lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a ->
libdescrypt_p.a
So off to the #FreeBSD on irc.ais.net, where the suggestion is made that I install the
ports instead. So, following the Compiling ports from
the Internet section from the FreeBSD
handbook, I started to install the ports version of Apache. For what it's worth,
I was just told that using ports was the lazy way to go. It seems easy enough.
When I've followed the instructions above, I've rarely had a port go wrong.
9:40pm - Apache is installed. How do I run it?
The install has completed. My first task is to find httpd. So I decide to
learn more about the find command. From the manual pages, I discover
that:
find / -name "httpd"
will find all examples of files named "httpd". I find what I want in /usr/local/sbin.
From there I execute the command:
./httpd
The response I get is:
httpd: cannot determine local host name.
Use ServerName to set it manually.
I locate the file /usr/local/etc/apache/httpd.conf and edit it. I
locate the line which contains ServerName. I amend to line to refer to
the FreeBSD box. I restart httpd using the command above.
WOO HOO!
The daemon starts and I get no nasty replies. A quick ps -auwd reveals
that the process is indeed running. I swap to my NT1 box and plug in the IP address
of my FreeBSD box. IT WORKS!
10:00pm - Apache is running. How do I provide access to the outside world?
Well, luckily, I've already tried this one. In my /etc/rc.firewall
file, I've disallowed access to port 80, which is the port for http. I enabled this,
restarted the firewall filters, and all went well.
The next step is to publish something
over there.
Well, that worked. WOO HOO! Apache is up and running!