[imp] PHP frustrations with IMP install

Robin Whittle rw@firstpr.com.au
Sat, 11 Aug 2001 15:20:00 +1000


"Oliver Schulze L." wrote:

> I just want to say that I recently installed:
> RedHat 7.1 i386
> imp-2.2.6 tar.gz
> horde-1.2.6 tar.gz
> and it was a breeze. I did not need to install anything else.

I am not suggesting that everyone has the trouble I had - or that they
should give up.  I state in various parts of my site that IMP is highly
respected, widely used and constantly being improved in areas such as
security - whilst this may not be the case for many other web-mail
systems.

I tried to install the 2.5 versions.  My experience is documented at the
end of:

 
http://www.firstpr.com.au/web-mail/RH71-Postfix-Courier-Maildrop-IMAP/  
> Have you tryied the rpm or tar.gz version of IMP ?

My difficulties were before actually really installing Horde and IMP -
the difficulties related to following the installation documentation and
getting the various PHP related preliminaries in place - and finding
that some combination of what I did stopped Apache from restarting.

> How about references in the FAQ system of IMP?

It was difficult to characterize the problem.  I suppose I could have
looked in the FAQ system for "Apache not restarting" but I had just
installed a number of things, according to my best interpretation of the
documentation, and after a while it became clear that something I had
done had upset Apache.   I had to muck around installing and
uninstalling things in various combinations to get an initial
understanding of what was causing the trouble - and by that point I
simply got sick of trying to install various things in my system which I
did not understand and which interacted in ways which were not at all
obvious or documented anywhere I could find, and having them stuff my
system up.  If I was to continue, my next step would have been to
install an earlier version of SSL to see if there were any dependencies
with the newly installed PHP things which had somehow upset Apache.  But
that is why I lost interest - endless recursion into stuffing around
with a working system in an effort to find something which an undefined
set of dependencies depended upon . . . . life is too short, and I want
to use the latest versions of SSL anyway, for security reasons.

I am not suggesting that people not install IMP!  I documented my
experience for the benefit of the IMP project and in the hope that other
people might find it useful - even if I didn't solve my problems in the
end.


Chuck Hagenbuch wrote:

> A few minor comments on all this:
> 
> (my page)> 1. Would it be clearer to include the "=" in these 
>               directives?  
> 
> they aren't needed; in fact, I don't think they're correct (refering 
> to magic_quotes_gpc Off, etc). At least with php4.

The trouble I (and I guess others) face is that I have no idea or
particular interest in the various flavours of PHP, the various phplib
things and other preliminaries which are (or were) needed for IMP.  I
just want clear guidance on what to install so we can get on with IMP. 
This poses a challenge for the IMP documentation, because the doco tries
to be general, tries to cope with many systems and potentially many
versions of PHP and its friends.  In doing so, the documentation can
become out of date and very hard to follow for someone (like me) who
doesn't already know their way around PHP.


> 2. There's an ongoing debate on how much below our level we should 
     document.  You come in on the document-everything side. There are 
     other points of view that leave the documentation in a state of 
     non-suck. Just be aware of that.

I find in general that computer programmers tend to minimal and terse
documentation, and sometimes beyond this - to really inadequate
documentation which pays no heed at all to what is *not* in the reader's
mind.

So the newbie is immediately confronted with instructions (or sets of
instructions which refer to each other in various ways) which are really
hard to understand.  The first challenge is to figure out how much of
the documentation is relevant to this particular situation.  Then the
task is to find what order to follow it in - this is a problem in the
IMP doco since one document points to another which points to another
which points back to part of the first etc.   Then it is necessary to
decide which parts of the doco are false, inadequate or out of date due
to changes in the external world since it was last updated.

This is an interactive process, and often involves forking off into
other web sites, man pages etc. trying to understand something which
seems to be important but which is not adequately explained in the
instructions you are trying to follow.

None of this may be apparent to people who have worked with IMP and/or
PHP for a long time, because they already have everything in their
heads.  I wrote my pages to help the IMP crew understand the
difficulties a newbie might face.


> 3. A lot of your problems seem to do specifically with rpms. I gave up 
>    on rpms when they let me install a version of login that didn't 
>    work with everything else on my system. I find debian packages and 
>    compiling from source _much_ simpler. YMMV.

I followed the Horde/IMP instructions in what seemed to me to be the
most appropriate fashion, as I document on my web page.  This lead me to
install a number of Horde-customised or Horde-approved PHP RPMs from the
Horde site - which were earlier than packages already installed on my
fresh RH7.1 system and which involved adding additional packages as
well. That is where I got into trouble - but it took me a while to
realise it, since installing the packages did not stop Apache from
running.  It was some time later that I found that Apache would not
restart - then I had to backtrack figure out what I had installed and
try to uninstall bits of it (and maybe re-install later versions in
their place) to figure out whatever were the crucial things which upset
Apache.  The IMP doco was no assistance at all in this.


> 4. You are probably in the minority when you claim to be more 
>    comfortable with C++ than dealing with IMP.

That may be so.  Right now I didn't feel like learning another language.

 
> 5. We ditched phplib in the latest version. Boom, things get easier.

OK.  Perhaps the problems I have were erased by these changes.


> 6. This is an open source project. It'd be really nice if you 
     submitted patches to our documentation instead of posting rants in 
     24-pt red type about how frustrating it is. Heck, even doing both 
     would be better.

What you have in my page is a simplified account of a frustrated user
trying to install your software.  While you no-doubt get plenty of such
people on the mailing list, you probably don't get anyone doing what I
did - documenting in detail my difficulties negotiating the Horde/IMP
instructions.

I think that the last thing a multi-file interlinked set of
documentation files needs is patches from someone like me who doesn't
yet understand IMP or PHP!

What is needed is for one person who does understands PHP, IMP etc.
fully, to rewrite the documentation as a single file, or at least as a
more carefully linked set of files, with clear guidance which enables
someone know knows nothing about PHP, IMP etc. to choose whether to
follow an RPM approach or a source installation approach.  Having chosen
the best approach, the documentation should provide a clear path for how
to proceed.  This involves clear guidance on setting up PHP and its
friends - including a rough explanation of what all these things do, how
they relate and why they are needed.

Without this, people get stuck, spend time looking around the FAQ
system, write to the mailing list, or simply give up - and you may never
hear from them at all.

I gave up this time, but I documented my experiences in the hope that it
would help someone write a unified, clear, set of installation
documentation for IMP and all its prerequisites.  In order to do this,
the writer needs to be constantly aware of all the things the reader may
not know.  The documentation has to be more helpful than the super-terse
approach, and it needs to be more linear - not calling other files which
point to other files which involve decisions and potentially reference
back to earlier files.   Its a challenge to write documentation like
this, but until it is done, I think that many people will waste a lot
of  of time on installing IMP, get stuck or give up or bug you on the
mailing list.


My page documenting how I successfully installed IMP last year tells the
same story of difficulty negotiating the Horde/IMP documentation.   This
page has had 1984 accesses last month and 676 in the last 8 days.  It is
linked to from http://www.horde.org/imp/2.2/.  It is also linked to
from  a site concerning high-schools in Germany
http://www.gesamtschule-eiserfeld.de/gee/index2.html which, as far as I
can tell by Google's translation "Load NOT leases at Robin Whittle,
which struck itself for an understandable IMP documentation nights
around the ears ( . . . I hope this PAGE helps identifies where the
Horde/IMP project CAN improved, primarily in its documentation... ) You
did it..."  means that my rambling page was a necessary resource in them
getting IMP going.


My point is simple:  The documentation I tried to follow was inadequate
for me.  While I know nothing about PHP, I have been running Linux
systems for a few years and am adept at untangling complexities of all
kinds.

Its not for me to rewrite the IMP documentation - and I think patches
would be exactly the wrong approach.   There needs to be a detailed,
unified set of documentation which anticipates a wide range of needs and
which helps people who know nothing about PHP or IMP etc.  It needs to
be written by someone who fully understands the IMP project and all it
depends upon, but it needs to be written with a keen eye to how it will
be followed by someone who starts off knowing *nothing* except basic
systems administration.


   - Robin