[NBLUG/talk] New subscriber to the list!

ME dugan at passwall.com
Sat Jul 5 09:47:01 PDT 2003


Todd Cary said:
> On the sugestion of Mike, I have joined this list in hopes of having
> some Linux beginner's questions answered and in time, be able to help
> other beginners.

I (and others) often welcome new users to the list when we notice and can
remember. Sometimes it is hard to keep track of who is new, but in this
case, I know...

Welcome to NBLUG! :-)

> Briefly, I have been involved with computers since the 70's and in 1993
> decided to stop having two careers (dentisry and software developer) and
> do just consulting.  I am not a "systems guru"; just writer of DB
> oriented applications - mainly in the arena of class action lawsuit
> administration.  About three years ago, I installed Red Hat Linux on an
> old 90 MHz box just for fun.  It has been sitting in the corner of my
> office humming along *BUT* it has become VERY important for me.  My
> clients use it to FTP their apps and I use it for creating PHP apps.
>
> Now I have a newer computer with RH 9 but I need to re-compile Apache
> with PHP that has the Interbase extensions (my client uses Interbase).
> Though I understand the concepts, I am lost when it comes to the syntax
> to do this.  Any references to literature would be greatly appreciated.

One pre-notice to you on the content of this message:
Sometimes I tend to offer details to the answers of questions that the
person who asked to question presently know. This can sometimes sound like
I am treating them too much like a beginner. This is not the intention.
Here are some reasons for this approach:

1) Often, I do not know the skill level of the person who asked the
question, and it is better to be thorough.
2) There are others on this list who might want to know more about the
answer, but may know less that the person who asked the question.
3) These answers are archived, and can help not just our Linux users but
other users who use google to help them solve problems.

OK! Here we go!

First, you must decide if if you wish to go with apache 2.0.x or 1.3.x.

(My experience is with Apache 1.3.x but I have little or no experience
with 2.0.x. Others on this list have experience with both.)

I'm assuming 1.3.x as I know more about.

Second you must decide if you want to go with a pre-packaged apache (from
RPM, or DEB package) or build your own. With ssl support in 1.3.x, you
either need a package that has ssl support built-in, or you must build it
yourself. With most other modules (mod_php, mod_dav, etc.) if the apache
server was built with DSO support, it should have an application called
"apxs" which can be used by other module source to tell it how your
present server was configured and how modules should be built to use your
current server.

(It is entirely possible that you won't need to rebuild apache, but
instead, just build your own php.)

Here is a web based "How-To" for Apache with PHP and SSL:
http://www.ibiblio.org/pub/Linux/docs/HOWTO/mini/other-formats/html_single/Apache-mods.html
(It is a bit old. It covers install of php 3.x, but the information is
still pretty good and can mostly be applied to php 4.x  too.

If I were to use a pre-packaged apache, here is what I might try first:

Make sure the apache package is installed.

download the latest php-4.x into /usr/local/src/

cd to /usr/local/src

unpack
# tar -zxvf php-4.3.2.tar.gz
(some people like to build from source as a non-root user and then just
install as root. If you choose this route, you'll want to alter ownership
of file with chown, such that all the php files are owned by that user.
I'm assuming a root build and install.)

# cd php-4.3.2
Now, you can configure php to use the extensions you desire.
Find out what extensions and options you might want in your custom php
from the list of available:

# ./configure --help |less -i

look through the list. When you are done press "q".
You'll notice that you can enable interbase support with php with this:
--with-interbase[=DIR]

Often you can just include options like "--with-interbase" and configure
will "find" your interbase files for php to reference, but if you have
more than one copy of interbase *or* configure cannot find the interbase
files, you may need to include the path to them  by adding
"=/path/to/interbase/files" to "--with-interbase".

Here is a sample list of php options I often include when building php 4.x:
(This is one long line that is wrapped)
# ./configure --with-apxs=/usr/local/apache/bin/apxs --enable-mbstring
--enable-mbregex --enable-track-vars --with-gettext --with-ldap
--with-config-file-path=/usr/local/etc --enable-bcmath --with-bz2
--with-pear --enable-calendar --enable-ftp --with-gmp --with-mcrypt
--with-mhash --with-ncurses --with-mysql

You will almost certainly NOT need most of these.

The most important line is the one that offers the path to "apxs" as this
will tell php how to "work" with my apache web server. In this case, I
offer it an explicit path to the ppxs, because I have different apache
installs on this machine even though I only use one of them, and I want to
be sure that php is configured to use the same apache server that I built.
The path to a prepackaged apache install might be in /usr/bin/apxs or
/usr/local/sbin/apxs.

To find your "apxs" you can try several things like:
# locate apxs |less
# which apxs

Your list of options to enable for php will likely look different. You
will probably not need all of those options.

Again, look through the options available to php's ./configure and choose
what you want.

--
After you choose your options, you will then press enter to submit to
./configure the options you want it to use.

It will look for the files it needs throughout your system and if it
cannot find something it needs in order to enable an option, it will
complain.

Sometimes you may need to help configure find the files it needs, and
other times, you may need to install more packages, and other times you
may just decide you did not need the option after all, and then remove it
from the list of options you want php's ./configure to enable/disable in
your php.

--
After php's ./configure completes its job without error, you can then:
# make

and if that works without error:
# make install

There are several docs and file in the php folder that will tell you about
steps for install. I may be missing some. It is good to read them as this
is  just a walk-through of common steps.

These docs should offer you direction on how to edit your apache's config
file (often /etc/apache/httpd.conf or /etc/httpd/httpd.conf or some other
path to a file called "httpd.conf".)

You can then tell apache where it should be possible for php to "run" (by
directory of virtual path from a server) and what should be considered
"php code to be run by the server."

This is also where you would enable the modules for php (this may be done
for you-- I can't remember if the php install does this or if it must be
done by hand.)

--
If you decide to not go with an apache package and instead build apache by
hand, then that is a whole separate procedure and is a little more
complicated. (if you find the above does not work or you want to build
apache too, then say so.)

Anyway, the above is enough to get you started. If you get stuck or find
problems, or can offer suggestions to others on what things you did that
you found were helpful, or you find that it works, a response is often
good. People who find you question, any answers and the discussion can use
such feedback when they try to solve the same problem.

Again, welcome to NBLUG!
-ME





More information about the talk mailing list