easyapache EDGE gotchas..

byronm

Member
Mar 26, 2005
19
0
151
I spent all day getting apache2 to work and what a major pain in the rear that was.

I had to:

Upgrade to Edge
Upgrade to Apache 2.2 / PHP 5.2.0
Recompile - fail - Easy apache downloads a script that is hardcoded to 5.1.6
Recompile - fail - compile scripts think my host are 0.0.0.0 and missed adding :80 to the server hostname
Recompile - fail - %i

The next time i chose to compile and rebuild the apache config and once it rebuilt the apache config (before it finished compiling) i ran httpd -t and fixed the apache.conf until it stopped failing and voila. that worked!

I downgraded and uprgaded several times and got apache to work several times but no php.. for some reason edge is hardcoded to 5.1.6 so keep that in mind if you try it yourself.
 

byronm

Member
Mar 26, 2005
19
0
151
NOt to mention you can't compile in curl support on centos 4.4 .. going to try and roll my own curl rpm and see if i can get around the failure of php to compile
 

byronm

Member
Mar 26, 2005
19
0
151
I couldn't get 5.2.0 to compile to save my life, the easy apache would fetch scripts for php 5.1.6 even though i selected 5.2.0.. i overwrote them after fetch but before php compile and ran into issues that ended up being curl support so as soon as i had a working httpd 2.2 system i just stopped where i was for the time being.

was hoping for a new edge build but nothing yet.
 

byronm

Member
Mar 26, 2005
19
0
151
I must add that curl failed to compile in my 5.1.6. i'll see about getting a new build and updating the logs if need be - i selected email build output to cpanel but i'm not sure the scripts captured the failure as i had to enable verbose compile build output to see that php was actually failing.
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,580
56
308
cPanel Access Level
Root Administrator
Hmmm, I was able to compile 5.2.0, without Curl, on several test machines, after Dan published the above fix. You are using CentOS 4, correct?

As for 5.1.6, I haven't tested that version yet, but will and report whatever I find.
 

byronm

Member
Mar 26, 2005
19
0
151
This is what i get when compiling on 5.1.6 / Centos 4.4 with latest edge

/bin/sh /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/ctype/ -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/ctype/ -DPHP_ATOM_INC -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/main -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6 -I/opt/xml2/include/libxml2 -I/opt/curl//include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/date/lib -I/usr/X11R6/include -I/usr/include/imap -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/oniguruma -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl/mbfl -I/opt/libmcrypt//include -I/opt/mhash//include -I/usr/include/mysql -I/usr/include/pspell -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/TSRM -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/Zend -I/usr/include -g -O2 -prefer-non-pic -c /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/ctype/ctype.c -o ext/ctype/ctype.lo
/bin/sh /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/curl/ -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/ -DPHP_ATOM_INC -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/main -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6 -I/opt/xml2/include/libxml2 -I/opt/curl//include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/date/lib -I/usr/X11R6/include -I/usr/include/imap -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/oniguruma -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl/mbfl -I/opt/libmcrypt//include -I/opt/mhash//include -I/usr/include/mysql -I/usr/include/pspell -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/TSRM -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/Zend -I/usr/include -g -O2 -prefer-non-pic -c /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c -o ext/curl/interface.lo
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c: In function `zm_startup_curl':
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: `CURLOPT_FTPASCII' undeclared (first use in this function)
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: (Each undeclared identifier is reported only once
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: for each function it appears in.)
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:314: error: `CURLOPT_PASSWDFUNCTION' undeclared (first use in this function)
make: *** [ext/curl/interface.lo] Error 1
/bin/sh /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/libtool --silent --preserve-dup-deps --mode=compile gcc -Iext/curl/ -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/ -DPHP_ATOM_INC -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/main -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6 -I/opt/xml2/include/libxml2 -I/opt/curl//include -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/date/lib -I/usr/X11R6/include -I/usr/include/imap -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/oniguruma -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/mbstring/libmbfl/mbfl -I/opt/libmcrypt//include -I/opt/mhash//include -I/usr/include/mysql -I/usr/include/pspell -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/TSRM -I/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/Zend -I/usr/include -g -O2 -prefer-non-pic -c /home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c -o ext/curl/interface.lo
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c: In function `zm_startup_curl':
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: `CURLOPT_FTPASCII' undeclared (first use in this function)
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: (Each undeclared identifier is reported only once
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:274: error: for each function it appears in.)
/home/cpeasyapache/work/cPanelEA/Apache2_2/YPHP__5_1_6__S.pm.build/php-5.1.6/ext/curl/interface.c:314: error: `CURLOPT_PASSWDFUNCTION' undeclared (first use in this function)
make: *** [ext/curl/interface.lo] Error 1
End PHP 5 support
---- --

When i tried to compile 5.2.0 before i noticed in one of the build pm scripts it referenced the 5.1.6 directory - is there a way for me to possibly clean up the sources/cache of php 5.1.6 incase something got mixed up? I may try building 5.1.4 for the heck of it to see of that builds clean.
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,580
56
308
cPanel Access Level
Root Administrator
All the sources are placed in /home/cpeasyaapche (I think that is the name). Double check the YPHP__5_2_0.pm file, it should have the chdir 5.1.6 line changed to 5.2.0, if not try /scripts/easyapacheup and check the file again.

YOu could also merely remove the entire /home/cpeasyapache tree and try /scripts/easyapache it will redownload everything
 

Spiral

BANNED
Jun 24, 2005
2,020
8
193
I spent all day getting apache2 to work and what a major pain in the rear that was.
Whenever you get tired of trying, contact me and I can upgrade you!

I have upgraded hundreds of Cpanel servers to Apache 2 and 2.2 and it's a piece of cake
and 99.9999% of the problems people usually run into upgrading aren't problems at all
but rather trivial items and are pretty simple to fix actually.

It is one of those things that comes with experience though. Fixing botched upgrades
is far too complicated and too large a list of potential issues and solutions to list every item on
any forum community. That said, it is generally much easier for me to just go do it myself
than to try to talk someone else through doing it.

cpdan said:
Also PHP 5.2.0 has broken Curl support that should be addressed in the next 5.2.x version. You can read more about it here:

http://bugzilla.cpanel.net/show_bug.cgi?id=4820
specifically
http://bugs.php.net/bug.php?id=39354
Uhm ... Curl actually works perfectly with PHP 5.2.0 even including the latest!
 

byronm

Member
Mar 26, 2005
19
0
151
I'm going to remove the entire tree and start again with 5.1.6 with easyapacheup and work from there. i'll let you know if i get any further.

thanks!
 

Spiral

BANNED
Jun 24, 2005
2,020
8
193
I'm going to remove the entire tree and start again with 5.1.6 with easyapacheup and work from there. i'll let you know if i get any further.

thanks!
TIP: Go with PHP v4.4.4 with basic minimal needed and then manually upgrade to 5.2.0!

EasyApache is a little touchy with compiling PHP 5 and they apparently don't have good
sanity checks to confirm if the PHP successfully compiles or not because I've had a number
of times where the PHP 5 compile itself failed in EasyApache and EasyApache didn't even
detect it and continued on happily ignorant!

I found the quickest work around to avoid this complication is to just simply leave EasyApache
on a basic PHP 4.4.4 config and then after you have upgraded Apache simply compile
your own PHP which is much easier anyway and gives you a lot more control of your PHP!
 

byronm

Member
Mar 26, 2005
19
0
151
looks like the issue is centos curl 7.15.3 which apparently has some of the 7.16 fixes and is breaking PHP.

[email protected] [/home/cpeasyapache/work]# curl -V
curl 7.15.3 (i686-pc-linux-gnu) libcurl/7.15.3 OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: IDN IPv6 Largefile NTLM SSL libz
 

byronm

Member
Mar 26, 2005
19
0
151
just copied in the 5.2.x cvs interface.c for curl and it compiled fine. for easy apache it would be nice to point to your own source tarball in scenerios like this :)
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,580
56
308
cPanel Access Level
Root Administrator
just copied in the 5.2.x cvs interface.c for curl and it compiled fine. for easy apache it would be nice to point to your own source tarball in scenerios like this :)
For the new easyapache, the one in EDGE, you can override different build options, or provide your own if what you want isn't in the GUI. There should be more details on this in the bug report 2299 at http://bugzilla.cpanel.net

byronm said:
looks like the issue is centos curl 7.15.3 which apparently has some of the 7.16 fixes and is breaking PHP.
That I find very interesting as for me on CentOS, easyapache uses it's own curl tarball rather than what is provided by the OS vendor. See if there is an /opt/curl directory. If so, it should be using what is in there.
 

byronm

Member
Mar 26, 2005
19
0
151
The /opt/curl is 7.16, so that is where it is failling to compile with PHP.. perhaps i could have modified it to use the centos curl

may even consider downgrading /opt/curl so people can compile curl unless you're going to pull in the cvs updates to 5.2.x as 5.1.x doesn't compile with 7.16 either.
 

cPDan

cPanel Staff
Staff member
Mar 9, 2004
716
8
243
The /opt/curl is 7.16, so that is where it is failling to compile with PHP.. perhaps i could have modified it to use the centos curl

may even consider downgrading /opt/curl so people can compile curl unless you're going to pull in the cvs updates to 5.2.x as 5.1.x doesn't compile with 7.16 either.
Correct, PHP 5.2.0 (and 5.x) is broken and flaky: http://bugs.php.net/bug.php?id=39354

That means its likely you'll have issues with 5.2.0 and Curl. Once a community supported fix is released we'll upgrade PHP. In the meantime feel free to set your own curl options to use an old version of curl as per

http://bugzilla.cpanel.net/show_bug.cgi?id=2299#c232