Jan 022000

Apache port – php3/FrontPage/SSL

NOTE: This article is now out of date. Please don’t use it.

This is a great port.  It installs php, FrontPage 2000 server extensions, and SSL.

See also Front Page Extensions – security considerations

Note that this port contains the patch for the popen problem.  See the following for detail on that bug:


Remove the old apache first

If you have any previous installations of apache, I suggest you remove them first.  Do this by looking in /var/db/pkg for anything resembling apache and doing the following:
pkg_delete <package_name>

I would also recommend renaming the following directories, if they exist, to avoid any complications caused by the new install.


The install

Actually, this is not a port.  Yet.  It has been submitted as PR/15873 and we’re waiting.  But in the meantime, you can get the port from


And also here:

[sorry that file is no longer available]

Once you have it, I’d put it in /usr/ports/www and untar it.

cd /usr/ports/www
fetch ftp://ftp.csocs.com/pub/FreeBSD/ports/apache13-php3-fp-modssl.tar.gz
tar xvfz apache13-php3-fp-modssl.tar.gz

Then make it:

cd apache13-php3-fp-modssl
make install

During the make install, you will be asked several configuration questions.   Unfortunately, I didn’t record my answers.

If you have a problem, try another make install.  Or  do a make deinstall.  If you can’t do that, remove the directories as mentioned in the previous section, then try make install again.

The configuration

Here is the log from an install.  It might help you.  My comments are interpersed amongst the log.
install -c -o root -g wheel -m 444 
Docs reside in /usr/local/share/doc/apache
and in /usr/local/share/doc/php

Step 1. Setting Up Installation Environment

Setting umask 002
Logged in as root.


Revision: 1.1 
Date: 1998/12/02 21:58:21 

This script will step the user through upgrading existing and installing 
new servers and webs. As with any software installation, a backup should be
done before continuing. It is recommended that the FrontPage installation
directory, server configuration file directory, and all web content be 
backed up before continuing with this installation.

Are you satisfied with your backup of the system (y/n) [N]? Y

Directory /usr/local exists.
Root has necessary access to /usr/local.

Where would you like to install the FrontPage Extensions. If you
select a location other than /usr/local/frontpage/ then a symbolic
link will be created from /usr/local/frontpage/ to the location that
is chosen.

FrontPage Extensions directory [/usr/local/frontpage]: 
WARNING: Directory /usr/local/frontpage already exists.
Installation will overwrite existing files.

Continue the installation (y/n) [N]? Y

Step 2. Untarring the Extensions and Checking Protections

Version 4.0 FrontPage Server Extensions found.
Would you like to overwrite? (y/n) [Y]? 

Looking for tar file...
Platform is bsdi.
Uncompressing/Untarring file /usr/ports/distfiles/fp40.bsdi.tar.Z into 
echo Step 3. Upgrading/Installing the extensions

Checking for existing web servers to upgrade...
No existing web servers found to upgrade.

Note: If you have not installed the root web then you need to do it now.

Do you want to install a root web (y/n) [Y]? 

Installing the root web...

Server config filename: [/usr/local/etc/apache/httpd.conf]

Before you press return here, I would recommend opening another shell and modifying /usr/local/etc/apache/httpd.conf for your needs.  Of note are the following items.   I changed the bits in bold.

  • ServerName host.yourserver.com
  • DocumentRoot /www/
  • VirtualHost _default_:443>

    # General setup for the virtual host
    DocumentRoot "/usr/local/www/data"
    ServerName host.yourserver.com
    ServerAdmin webmaster@yourdomain.com
    ErrorLog /var/log/httpd-error.log
    TransferLog /var/log/httpd-access.log
  • User www
    Group www

You might also want to add in any virtual hosts.

FrontPage Administrator's user name: [fpadmin]

I would recommend some other name.  Note this is not a UNIX user id.

Unix user name of the owner of this new web:[www]

Note that we specifed www as the user and group in the httpd.conf changes.

Unix group of this new web:[www] 

1. ncsa
2. apache
3. apache-fp
4. netscape-fasttrack
5. netscape-enterprise
6. stronghold
What type of Server is this: [3] 3

Installing root web into port 80...

installing server / on port 80

Will chown web to nobody as part of install.
Will chgrp web to nogroup as part of install.

Starting install, port: 80, web: "root web"

Created: 26 Nov 1999 23:54:33 -0000
Original Version:
FrontPage server extensions already installed on port 80.
Reverting to upgrade.

Starting upgrade, port: 80, web: "root web"

Created: 26 Nov 1999 23:54:33 -0000
Original Version:
Chowning Content in service root web
Port 80: Upgrade completed.

Chowning /usr/local/frontpage/version4.0/apache-fp to root...

Chmoding /usr/local/frontpage/version4.0/apache-fp to 711...

Chowning /usr/local/frontpage/version4.0/apache-fp/_vti_bin to root...

Chmoding /usr/local/frontpage/version4.0/apache-fp/_vti_bin to 755...

Chowning /usr/local/frontpage/version4.0/apache-fp/_vti_bin/fpexe to root...
Setting /usr/local/frontpage/version4.0/apache-fp/_vti_bin/fpexe to SUID...

1. LATIN1 (ISO 8859-1)
2. LATIN2 (ISO 8859-2)
3. EUCJP (Japanese EUC)
4. EUCKR (Korean EUC)
Which local character encoding does your system support: [1] 

1. English
2. French
3. German
4. Italian
5. Japanese
6. Spanish
What should the default language be: [1] 

Setting /usr/local/frontpage/version4.0/frontpage.cnf to:


Moving /usr/local/frontpage/version4.0/frontpage.cnf to 

Creating and modifying new /usr/local/frontpage/version4.0/frontpage.cnf...

Install new sub/per-user webs now (y/n) [Y]? N

I would recommend NO.  Most Front Page websites do not contain sub webs.   Unless you know yours does, say no.  You can always add subwebs later.   It’s better to get this installed and finished rather than mess around with sub-webs where something might go wrong.

For details on how to upgrade servers manually, please see
the Server Extension Resource Kit (SERK), located in

Installing Virtual Webs..

Do you want to install Virtual Webs (y/n) [Y]? N

I would recommend NO.  I usually add virtual webs as I need them.    Manually.  Instructions are at Installing a new virtual web with FP2000 extensions and it’s pretty easy.  It’s better to get this installed and finished rather than mess around with sub-webs where something might go wrong.

Installation completed! Exiting...
===> Compressing manual pages for apache_fp+php+mod_ssl-1.3.9+3.0.12+2.4.8
===> Registering installation for apache_fp+php+mod_ssl-1.3.9+3.0.12+2.4.8
bash-2.03# exit

Sorry, that’s all

I’m sorry, but that’s all I have for you on this topic.  That should get you going.

To start httpd, here’s a useful script:

# /usr/local/sbin/apachectl 
usage: /usr/local/sbin/apachectl (start|stop|restart|fullstatus|status|graceful

start      - start httpd
startssl   - start httpd with SSL enabled
startfp    - start httpd with Frontpage enabled
startfpssl - start httpd with Frontpage and SSL enabled
stop       - stop httpd
restart    - restart httpd if running by sending a SIGHUP or start if 
             not running
fullstatus - dump a full status screen; requires lynx and mod_status enabled
status     - dump a short status screen; requires lynx and mod_status enabled
graceful   - do a graceful restart by sending a SIGUSR1 or start if not running
configtest - do a configuration syntax test
help       - this screen

Of special note are the graceful and configtest.  I use them a lot.