This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: More Apache/PHP installation puzzles


Hello Igor,

Further to your request I pressed on a bit - sort of funbling in the dimpsey 
light really!!

I found that perl was not installed (needed for axps) and that installing perl 
installed the correct version of Openssl and this, in turn, installed the 
cygcrypto.dll.  A little progress!

I then manually re-installed the mod-php4 stuff and editted postinstall/apache-
php.sh.  I removed the call the rebase and the call to remove the temporary 
(/new/libphp4.dll) file.  Running ./apache-php.sh then ran without errors.  The 
libphp4.dll was also in the right place.

I then ran $ rebaseall -v > /tmp/op.  Examining /tmp/op it seemed as though all 
the files mentioned in the postinstall script had been successfully rebased 
(along with a rake of other files).

I checked the file permissions of everything I could think of relating to 
Apache and PHP - all looked OK to me.

I started the apache server and accessed http://localhost/ and got the expected 
Apache splash page.  I then wrote a test PHP script and put it in tester.php.  
Accesing localhost/tester.php simply printed out the text - i.e. PHP still not 
working. (I even formatted the test script properly this time!)

I can't think what else to try and so I'll leave it to the experts now.  
Anything else I try would be akin to charging around in the complete darkness 
now!

Thanks for your help - I expect that Stipe will crack it sometime.

Regards,

Dave.


Quoting Igor Pechtchanski <pechtcha@cs.nyu.edu>:

> On Tue, 16 Sep 2003 dave_d@boltblue.com wrote:
> 
> > Hello Igor,
> >
> > Apologies to the maintainer then - I'm new to these mailing list
> thingees!
> >
> > Thanks for the info about mount points - it didn't cross my mind that
> /usr/lib
> > might be a separate mount.  $ df would have answered that, eh?
> 
> Yep.  So would "mount".
> 
> > The rest remains, I think.  The cygcrypto.dll is loaded with the
>  openSSL0.9.6 but the default install gives a later version with no
> > cygcrypto.dll.
> 
> This is a bug in the "requires:" field for the "mod_php4" package (it
> should require "openssl096", not "openssl").  Stipe, please take note!
> 
> > I've got rebase installed and I'm sure the call is wrong in the post
> > install script.
> 
> IMO, it would help the maintainer greatly if you could figure out the
> correct way to call "rebase" and post a patch (the output of "diff -up
> oldfile newfile") to this list.
> 
> > Also, if a Windoze loading mechanism is used then /usr/lib/... can't
> be
> > seen without first mounting the 'volume' I think.
> 
> FWIW, I doubt apache uses the Windows mechanism, since it uses mostly
> stock Unix sources.  I suspect your problem is the fact that the library
> is indeed simply not in the right place.
> 
> > If the apxs call went wrong I can find no error log - but then I'm
> probably
> > looking in the wrong place.  In any case the libphp4.dll is not
> copied.
> 
> I'm not sure if apxs even outputs anything.  I suggest manually running
> the apxs call that's in the postinstall script and seeing if the DLL is
> copied (and if there's any output or return code).  The intended result
> of
> the postinstall script is fairly obvious: there should be a (globally)
> rebased /usr/lib/apache/libphp4.dll present on your system.  Playing
> with
> the postinstall script components to achieve this result, and then
> figuring out and documenting the minimal correct procedure would be a
> useful thing to do.
> 	Igor
> 
> > So there we have it - it's past my competence point, I fear!
> >
> > Regards,
> > Dave
> >
> > > Dave,
> > >
> > > First off, there is no need to Cc: the apache maintainer, as I know
> for
> > > sure that he reads this list (unless this is specifically requested
> in
> > > the
> > > README, in which case I apologize).
> > >
> > > More replies inline below.
> > >
> > > On Tue, 16 Sep 2003 dave_d@boltblue.com wrote:
> > >
> > > > This all started when I had trouble installing Apache/PHP (see
> earlier
> > > posts
> > > > Re: Apache/PHP installation puzzle).  As this problem is a bit
> more
> > > general I
> > > > thought I would start a new thread.
> > > > In a nutshell, the PHP part of the installation fails without any
> > > obvious
> > > > errors.  In order to find out what's going on I decided to remove
> > > every vestige
> > > > of Cygwin from the W2K box and re-install the minimum required to
> > > ivestigate
> > > > this problem.
> > > >
> > > > This is the story .....
> > > >
> > > > 1. Install Cygwin with nano, apache, and mod-php4.  NOTE.  Install
> > > > Cygwin 1.5.3-1 because there are issues with 1.5.4-1 that prevent
> > > > processes being stopped properly.
> > > > 2. Start the apache server ....
> > > >
> > > > $ /usr/sbin/apachectl start
> > > > [Tue Sep 16 14:54:56 2003] [alert] httpd: Could not determine the
> > > server's fully
> > > >   qualified domain name, using 192.168.40.12 for ServerName
> > > > /usr/sbin/apachectl start: httpd started
> > > >
> > > > 3.  Using the Windoze browser, visit http://localhost/.  See the
> > > expected
> > > > default Apache installation page - so far, so good.
> > > > 4.  Using the favourite nano editor, create the xyzzy.php script
> and
> > > put
> > > > it in /var/www/htdocs.  The script contains the simple PHP
> function
> > > call
> > > > <?phpinfo()?> and nothing else.
> > > > 5.  Visit http://localhost/xyzzy.php and the script is simply
> > > presented
> > > > on the page - a clear indication that the PHP is not being
> translated.
> > > > 6.  Check out /etc/apache/httpd.conf and there is no mention of
> php in
> > > here.
> > > > What's needed are lines of the form:
> > > >
> > > > LoadModule php4_module lib/apache/libphp4.dll
> > > > AddModule  mod_php4.c
> > > >
> > > > Add these and try again ....
> > > > $ /usr/sbin/apachectrl start
> > > > Syntax error on line 236 of /etc/apache/httpd.conf:
> > > > Cannot load /usr/lib/apache/libphp4.dll into server: dlopen: Win32
> > > error 126
> > > > /usr/sbin/apachectrl start: httpd could not be started
> > > >
> > > > 7. As error 126 is basically 'file not found', we'll check for the
> > > > existance of the libphp4.dll.
> > >
> > > Note that some other required DLL may be missing as well.
> > >
> > > > First:
> > > > $ updatedb
> > > > Then:
> > > > $ locate libphp4
> > > >
> > > > .... no trace of the DLL to be found!!!
> > > >
> > > > 8.  Now this is interesting!
> > > >
> > > > $ cd /usr
> > > > $ ls
> > > > doc  etc  include  info  local  man  sbin  share  src  ssl  tmp 
> var
> > > >
> > > > Note the lack of a lib directory.  However...
> > > >
> > > > $ cd lib
> > > >
> > > > Administrator@zebedee /usr/lib
> > > > $
> > > >
> > > > ...?Que!!?  How can one cd to a directory that doesn't exist. Not
> only
> > > > that, but
> > >
> > > "man mount".  If it makes you feel better, you can "cd /usr && cmd
> /c
> > > 'md lib' && cmd /c 'md bin'" to see the directories in the listing
> (and
> > > get Tab-completion).
> > >
> > > > $ ls
> > > > apache          libc.a          libhistory.a            libxm12.a
> > > >
> > > > ...
> > > > ...
> > > >
> > > > libbz2.dll.a    libgmon.a
> > > >
> > > > And so /usr/lib exists but is partially invisible.  Interestingly,
> > > > Windows can't see this directory either.  Hence one possible
> > > explanation
> > > > of why the dll won't load.
> > >
> > > If Cygwin's mechanisms are used to load the DLL, the directory will
> be
> > > seen (it's a mount).
> > >
> > > > 9.  Progressing further ....
> > > >
> > > > $ cd /usr/lib/apache
> > > > $ ls
> > > > libproxy.dll    mod_autoindex.dll       mod_imap.dll
> > > mod_setenvif.dll
> > > >
> > > > ...
> > > > ...
> > > >
> > > > mod_auth_dbm.dll        mod_headers.dll mod_rewrite.dll new
> > > >
> > > > $ ls new
> > > >
> > > > Administrator@zebedee /usr/lib
> > > > $
> > > >
> > > > No trace of the missing dll - a possible second reason why the
> Windows
> > > load
> > > > failed.
> > > >
> > > > 10.  Seems that something must be going wrong in the post install
> > > script
> > > > too!  What we'll do is manually install the package and see what's
> > > going
> > > > on.  Copy the .tar.bz2 file to / and then:
> > > >
> > > > $ bunzip2 apache-php-4.3.0-2.tar.bz2
> > > >
> > > > Administrator@zebedee /
> > > > $ tar -xvf apache-php-4.2.0-2.tar
> > > > etc/
> > > > etc/postinstall/
> > > > etc/postinstall/apache-php.sh
> > > > usr/
> > > > usr/doc/
> > > > usr/doc/Cygwin/
> > > > usr/doc/Cygwin/php-4.2.0-2.README
> > > > usr/doc/php-4.2.0-2/
> > > > usr/doc/php-4.2.0-2/CREDITS
> > > > usr/doc/php-4.2.0-2/INSTALL
> > > > usr/doc/php-4.2.0-2/LICENSE
> > > > usr/doc/php-4.2.0-2/NEWS
> > > > usr/lib/
> > > > usr/lib/apache/
> > > > usr/lib/apache/new/
> > > > usr/lib/apache/new/libphp4.dll
> > > >
> > > > Administrator@zebedee /
> > > > $
> > > >
> > > > This unpacks everything and doesn't run the post install script. 
> Now
> > > > we'll run the post install script and see what's going on:
> > > >
> > > > Administrator@zebedee /etc/postinstall
> > > > $ cd /etc/postinstall/
> > > >
> > > > Administrator@zebedee /etc/postinstall
> > > > $ ./apache-php.sh
> > > > usage: rebase -b BaseAddress [-Vdv] [-o Offset] [-T FileList | -]
> > > Files...
> > > >
> > > > Administrator@zebedee /etc/postinstall
> > > > $
> > > >
> > > > So, it seems that either rebase is being called incorrectly or the
> > > argument
> > > > list is invalid.
> > >
> > > Do you have the "rebase" package installed?
> > >
> > > > 11. The check the argument list, add the following line
> > > > to /etc/postinstall/apache-php.sh and re-execute it.
> > > >
> > > > Add...
> > > >
> > > > echo ${rebase_dlls} immediately following the line starting
> > > "rebase_dlls="$"
> > > >
> > > > Re-running gives:
> > > >
> > > > Administrator@zebedee /etc/postinstall
> > > > $ ./apache-php.sh
> > > > /usr/lib/apache/libphp4.dll /usr/bin/cygbz21.0.dll
> > > /usr/bin/cygcrypto.dll /usr/b
> > > > in/cygintl-1.dll /usr/bin/pq.dll /usr/bin/cygxml2-2.dll
> > > /usr/bin/cygz.dll /usr/b
> > > > in/cyggdbm.dll
> > > > usage: rebase -b BaseAddress [-Vdv] [-o Offset] [-T FileList | -]
> > > Files...
> > > >
> > > > Administrator@zebedee /etc/postinstall
> > > > $
> > > >
> > > > Checking the list of file names we find that
> > > > neither /usr/lib/apache/libphp4.dll nor
> > > > /usr/bin/cygcrypto.dll exists.
> > >
> > > libphp4.dll should have been copied from the "new/" subdirectory to
> > > /usr/lib/apache by the apxs call in the postinstall script.  If it
> > > wasn't,
> > > something went wrong with the apxs call.
> > >
> > > Use the package search page at <http://cygwin.com/packages/> to find
> out
> > > which package contains "usr/bin/cygcrypto.dll" and install it (FWIW,
> it
> > > should have been selected for install automatically -- did you
> unselect
> > > any packages before installation?).
> > >
> > > > Looking at apache-php.sh I'm not sure that the call to rbase is
> right
> > > > either - but I've got to too many errors now.
> > > >
> > > > So there we have it - the story of trying to install Apache/PHP.
> > > >
> > > > I hope that I've provided enough information for the
> > > > developers/maintainers to quickly come to a solution as having PHP
> > > > available in a mixed Linux/Window 2K box will be very useful for
> > > > development purposes.
> > > >
> > > > Regards,
> > > > Dave
> > >
> > > Hope this helps,
> > >       Igor
> > > --
> > >                               http://cs.nyu.edu/~pechtcha/
> > >       |\      _,,,---,,_              pechtcha@cs.nyu.edu
> > > ZZZzz /,`.-'`'    -.  ;-;;,_          igor@watson.ibm.com
> > >      |,4-  ) )-,_. ,\ (  `'-'         Igor Pechtchanski, Ph.D.
> > >     '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> > >
> > > "I have since come to realize that being between your mentor and his
> > > route
> > > to the bathroom is a major career booster."  -- Patrick Naughton
> > >
> >
> >
> > --------------------------------------------------------------
> > Sent with "Me-Mail", Boltblue's FREE mobile messaging service.
> > http://www.boltblue.com
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Problem reports:       http://cygwin.com/problems.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
> 
> -- 
> 				http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_		pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
>     '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> 
> "I have since come to realize that being between your mentor and his
> route
> to the bathroom is a major career booster."  -- Patrick Naughton
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 
> 


--------------------------------------------------------------
Sent with "Me-Mail", Boltblue's FREE mobile messaging service.
http://www.boltblue.com


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]