Newbie installing Apache+mod_ssl, PHP4 and MySQL 4.9 using ports

I saw and thought this would be relatively easy.

(1) I installed FreeBSD 4.9 from an ISO and got it up and running on the Internet
(2) I installed CVsup:
    cd /usr/ports/net/cvsup-without-gui
    make install
    make clean
(3) I copied ports-supfile into /root/ports-supfile and made the edit:
(4) I rebooted
(5) I ran CVsup:
    cvsup -g -L 2 /root/ports-supfile

All well and good.

(5) I attempted to install Perl5:
    cd /usr/ports/lang/perl5

I got the error: "There is no COMMENT variable defined for this port. Please rectify this." It transpires that it installed /usr/ports/lang/perl5/pkg-message, which is the old way of doing tings and didn't define a COMMENT variable, which is the new way of doing things.

I had a go at adding a COMMENT variable to the file and deleting pkg-message, but some other errors cropped up when I attempted to install mysql40-server (looking for libtooll13, when it only seemed to want to install libtooll15).

This made me think that I'm probably not going about this in the right way.

Should I expect to be able to install a stable version of FreeBSD with Apache, mod_ssl, PHP4 and MySQL by following a relatively mindless procedure... or is it the case that nobody in their right mind actually uses ports in FreeBSD?
LVL 17
Who is Participating?
hvdhelmConnect With a Mentor Commented:
As root:

Apache 1.3 + mod_ssl
cd /usr/ports/www/apache13-modssl
make install clean

PHP4 module for Apache
cd /usr/ports/www/mod_php4
make install clean

Mysql-server 4
cd /usr/ports/databases/mysql40-server
make install clean

for safety reboot.
rstaveleyAuthor Commented:
Revisions really do seem to be in a mess using ports.

With respect to versions of mysql*-server, I see that only mysql41-server uses libtooll15, but it is marked as a "beta". mysql40-server looks like the stable release, but it depends on libtooll13, which is deprecated:

PORTVERSION=    3.23.58
USE_LIBTOOL_VER=        13

PORTVERSION=    4.0.20
USE_LIBTOOL_VER=        13


USE_LIBTOOL_VER=        13

I want to install it in such a way that the procedure is standard and can easily be reproduced by another person at another site.

Am I making hard work for myself using ports to install MySQL?
There is no problem as such. Go to and read about CVSup update tools.
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

rstaveleyAuthor Commented:
I get "Error: Cannot find SSL binaries under /usr/local", when running make in /usr/ports/www/apache13-modssl.

Here's the output from make:
freebox# pwd
freebox# make install clean
===>  Vulnerability check disabled
You may use the following build options:

  WITH_APACHE_SUEXEC=yes        enable the suEXEC feature
                                [default is no]
  APACHE_SUEXEC_CALLER=user     set the suEXEC username of the allowed caller
                                [default is www]
  APACHE_SUEXEC_DOCROOT=dir     set the suEXEC root directory
                                [default is /usr/local/www/data]
  APACHE_SUEXEC_LOG=file        set the suEXEC logfile
                                [default is /var/log/httpd-suexec.log]
  APACHE_SUEXEC_USERDIR=dir     set the suEXEC user subdirectory
                                [default is public_html]
  APACHE_SUEXEC_UIDMIN=uid      set the suEXEC minimal allowed UID
                                [default is 1000]
  APACHE_SUEXEC_GIDMIN=gid      set the suEXEC minimal allowed GID
                                [default is 1000]
  APACHE_SUEXEC_SAFE_PATH=path  set the suEXEC safe PATH
                                [default is /bin:/usr/bin:/usr/local/bin]
  APACHE_SUEXEC_UMASK=umask     set the umask for the suEXEC'd script
                                [default is inherited from the Apache process]

  APACHE_HARD_SERVER_LIMIT=nr   Maximum number of Apache processes.
                                [default is 512]
  APACHE_FD_SETSIZE=nr          Maximum number of descriptors.
                                [default is 1024]

  APACHE_BUFFERED_LOGS=yes      Log entries are buffered before writing.
                                Writes may not be atomic, entries from multiple
                                children could become mixed together and your
                                web stats may be inaccurate.
                                [default is no]
  WITH_APACHE_PERF_TUNING=yes   CFLAGS optimization.
                                This setting may produce broken code and thus
                                is not recommended for production servers.
                                [default is no]

  WITH_APACHE_IPV6=yes          IPv6 support.
                                This setting turns IPv6 support on.
                                [default is no]

  WITH_APACHE_MODSNMP=yes       mod_snmp support.
                                This setting turns support for SNMP on.
                                [default is no]

  WITH_APACHE_MODACCEL=yes      mod_accel support.
                                This setting activates build of mod_accel.
                                [default is no]

  WITH_APACHE_MODDEFLATE=yes    mod_deflate support.
                                This setting activates build of mod_deflate.
                                [default is no]

  WITHOUT_APACHE_EXPAT=yes      don't compile in expat.
                                [default is no (expat is included)]

===>  Extracting for apache+mod_ssl-1.3.31+2.8.19
>> Checksum OK for apache_1.3.31.tar.gz.
>> Checksum OK for mod_ssl-2.8.19-1.3.31.tar.gz.
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/bin/perl5.6.1 - found
===>  Patching for apache+mod_ssl-1.3.31+2.8.19
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/lib/ - found
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/bin/perl5.6.1 - found
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/bin/perl5.6.1 - found
===>  Applying mod_ssl-2.8.19 extension
Configuring mod_ssl/2.8.19 for Apache/1.3.31
 + Apache location: ../apache_1.3.31 (Version 1.3.31)
 + Auxiliary patch tool: ./etc/patch/patch (local)    
 + Applying packages to Apache source tree:
   o Extended API (EAPI)
   o Distribution Documents
   o SSL Module Source
   o SSL Support
   o SSL Configuration Additions
   o SSL Module Documentation
   o Addons
Done: source extension and patches successfully applied.
===>  Applying FreeBSD patches for apache+mod_ssl-1.3.31+2.8.19
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/lib/ - found
===>   apache+mod_ssl-1.3.31+2.8.19 depends on file: /usr/local/bin/perl5.6.1 - found
===>   apache+mod_ssl-1.3.31+2.8.19 depends on shared library: mm.13 - found
===>   apache+mod_ssl-1.3.31+2.8.19 depends on shared library: expat.5 - found
===>  Configuring for apache+mod_ssl-1.3.31+2.8.19
Configuring for Apache, Version 1.3.31
 + using installation path layout: FreeBSD (config.layout)
Creating Makefile
Creating Configuration.apaci in src
 + enabling mod_so for DSO support
Creating Makefile in src
 + configured for FreeBSD 4.9 platform
 + setting C pre-processor to cc -E
 + using "tr [a-z] [A-Z]" to uppercase
 + checking for system header files
 + adding selected modules
    o rewrite_module uses ConfigStart/End
      enabling DBM support for mod_rewrite
    o db_auth_module uses ConfigStart/End
      using Berkeley-DB/1.x for mod_auth_db (-lc)
    o ssl_module uses ConfigStart/End
      + SSL interface: mod_ssl/2.8.19
      + SSL interface build type: DSO
      + SSL interface compatibility: enabled
      + SSL interface experimental code: disabled
      + SSL interface conservative code: disabled
      + SSL interface vendor extensions: disabled
      + SSL interface plugin: Vendor DBM (libc)
      + SSL library path: /usr/local/openssl
Error: Cannot find SSL binaries under /usr/local/openssl
===>  Building for apache+mod_ssl-1.3.31+2.8.19
===> src
make: don't know how to make all. Stop
*** Error code 2

Stop in /usr/ports/www/apache13-modssl/work/apache_1.3.31.
*** Error code 1

Stop in /usr/ports/www/apache13-modssl/work/apache_1.3.31.
*** Error code 1

Stop in /usr/ports/www/apache13-modssl.

Here's the Makefile version:
freebox# head Makefile
# New ports collection makefile for:    Apache + mod_ssl
# Date created:         Sat Aug 22 12:00:00 CDT 1998
# Whom:       
# $FreeBSD: ports/www/apache13-modssl/Makefile,v 1.157 2004/07/19 04:06:46 dinoex Exp $ #

PORTNAME=       apache+mod_ssl
CATEGORIES?=    www security

Was I wrong to have run CVsup?

I'll reinstall from the ISOs, if you reckon that was a wrong thing to have done.
rstaveleyAuthor Commented:

> There is no problem as such

What do you reckon is going wrong then?

hvdhelmConnect With a Mentor Commented:
Add OpenSSL

cd /usr/ports/security/openssl
make install clean
rstaveleyAuthor Commented:
> Add OpenSSL

No joy.

It still has: Error: Cannot find SSL binaries under /usr/local/ssl

My feeling is that CVSup is the culprit. I'm going to try another installation from the ISOs, but this time, I'll not bother with the CVSup....
gheistConnect With a Mentor Commented:
At some time they dropped ssl in base system (just after 4.9) so you need to install openssl from ports (cd /usr/ports/security/opensssl ; make install clean) before clean build of apche and ssl
rstaveleyAuthor Commented:
Sure enough it was CVSup that caused the problem.

Installing mod_ssl was fine once I got to grips with some FreeBSD conventions with respect to start-up scripts - specifically *-dist, which threw me.

Thanks everyone for your encouragement.
Read /usr/ports/UPDATING and match against your pkg_info , this will help you to avoid such poblem in future.
release tag must be RELENG_4_9 for system and . for ports, I hope you pinted this out yourself
if you go from RELENG_4_9 to RELENG_4 or RELENG_4_10, then you need to follow strict order - update all sources, build new kernel (this may break some ports) and reboot, make world in /usr/src and reboot (this may break some and bring some back), rebuild all ports or at least those affected. there is no strong need to upgrade system from 4_9 to 4_10, since RELENG_4_9 is patched against all security holes (look at uname -a, mine is FreeBSD 4.9-RELEASE-p11 , not 4.9-RELEASE anymore, installing packages with sysinstall does not work anymore but ports build fine)
rstaveleyAuthor Commented:
I can see /usr/src/UPDATING, which seems to be a revision history unrelated to ports, but no /usr/ports/UPDATING. Mine is simply FreeBSD 4.9-RELEASE.

I don't really want to put together a system which deviates too far from something shrink-wrapped, because it makes it tricky to reproduce. I'm putting together a box for local development, which will be as near as dammit replicated at an ISP. It's the business deal with the ISP that got me into FreeBSD in the first place. Having once been bitten by CVSup, I'm dubious about the value of upgrading the system for my purposes.
So I suggested to add only security patches and to upgrade to RELENG_4_9 from RELENG_4_9_RELEASE (same effect as fetching and installing eleven *.patch files from and rebuilding kernel and fwe components in base system)

this does not involve any incompatibilities to ports or whatever, just /stand/sysinstall refuses to fetch ready packages from without changing release to boxed version.

If you did not find it out upgrading is quite esy - either via portupgrade script for complex ports like kde, gnome or xfree or xorg, and simple make deinstall reinstall for simple ports like apache+ssl
rstaveleyAuthor Commented:
It is only fair to open another question for this, gheist, you are being very helpful. Here's the question: http:Q_21084480.html
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.