You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Selvi <se...@gmail.com> on 2010/11/10 19:23:43 UTC
[users@httpd] "Illegal Instruction" issue with a new Apache 2.0.44 install
Hello All,
I am newbie with installing Apache. I am installing an older version,
because I am interested in learning more about specific vulnerabilities in
this version, specifically
CVE-2004-0942<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0942>,
CVE-2004-0493 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0493>
, CVE-2004-0113<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0113>
, CVE-2003-0132<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-0132>
.
I am a student and am doing some research on how resource leaks can be
detected. Using Apache I intended to learn how these leaks are manifested in
a real application.
I am running Apache on a Xen domU (Ubuntu). These are my OS details:
user@apachedom:~/apache/install/2_0_44$ uname -a
Linux apachedom 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC
2010 x86_64 GNU/Linux
My gcc version:
user@apachedom:~/apache/install/2_0_44$ gcc -v
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
I downloaded the Apache 2.0.44 version from
http://archive.apache.org/dist/httpd/httpd-2.0.44.tar.gz
I did not make any changes to the httpd.conf, since I am looking for a
really basic install and couldn't find (and am not yet aware of) any changes
I might need.
After several attempts (and some fixes), I was able to install (configure +
make + make install) successfully (without any error messages).
My configure statement looked like this:
./configure --prefix=/<path>/apache/install/2_0_44 --enable-ssl
But when I try to start using "sudo bin/apachectl start", I get a simple
error message "Illegal Instruction"
I get a little more information when I try "sudo bin/apachectl status"
user@apachedom:~/apache/install/2_0_44$ sudo bin/apachectl status
Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.
lynx: Can't access startfile http://localhost/server-status
Directly starting httpd also gives me the same error:
user@apachedom:~/apache/install/2_0_44$ sudo bin/httpd
Illegal instruction
No logs are produced in the "logs" directory under the install location.
I was wondering if someone could provide me with suggestions, on how I could
begin to troubleshoot the issue.
In order to ensure that the problem is not because of the SSL module I am
enabling, I repeated the Apache install without --enable-ssl option,
followed by make and make install. But I see the same "Illegal Instruction"
error message.
At the end of this email, I have provided a detailed description of the
steps I followed to get the Apache install up - issues I faced and solutions
that were used to fix this. In case any of this may be relevant to what I am
seeing.
Thanks!
-Selvi
***************************
I began my installation with
$ sudo aptitude install build-essential
$ ./configure --prefix=/<path>/install/2_0_44 --enable-ssl
I was getting an OpenSSL error, like this:
"checking whether to enable mod_ssl... checking dependencies
checking for SSL/TLS toolkit base... /usr
checking for SSL/TLS toolkit version... OpenSSL 0.9.8k 25 Mar 2009
checking for SSL/TLS toolkit includes... configure: error: OpenSSL headers
not found"
So I did this:
sudo apt-get install libssl-dev
Make ended with this error:
"sockopt.c: In function 'apr_socket_opt_set':
sockopt.c:241: error: 'SCTP_NODELAY' undeclared (first use in this function)
sockopt.c:241: error: (Each undeclared identifier is reported only once"
Based on a solution suggested here:
http://tech.groups.yahoo.com/group/new-httpd/message/46095
I did this:
sudo apt-get install libsctp-dev lksctp-tools
Then I saw this error:
ssl_engine_pphrase.c:707: error: 'PEM_F_DEF_CALLBACK' undeclared (first use
in this function)
Based on a solution suggested here:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/23493
I added these lines to the file modules/ssl/ssl_toolkit_compat.h:
#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
#ifndef PEM_F_DEF_CALLBACK
#define PEM_F_DEF_CALLBACK PEM_F_PEM_DEF_CALLBACK
#endif
#endif
After this I repeated configure, make and make install. And it all proceeds
without any errors.
Next when I tried to start apache, I simply get this
user@apachedom:~/apache/install/2_0_44$ sudo bin/apachectl start
Illegal instruction
I then tried the status command which game a little more information:
user@apachedom:~/apache/install/2_0_44$ bin/apachectl status
bin/apachectl: 87: lynx: not found
I then installed lynx like this:
user@apachedom:~/apache/install/2_0_44$ sudo apt-get install lynx
Even after lynx was installed, I see a different error message.
user@apachedom:~/apache/install/2_0_44$ sudo bin/apachectl status
Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.
lynx: Can't access startfile http://localhost/server-status
To check if I can resolve "localhost" I tried this:
user@apachedom:~/apache/install/2_0_44$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.026 ms
To check if lynx is working I tried to "lynx www.google.com" and am able to
view the Google home page.
But when I try "lynx localhost" I get "Alert! Unable to connect to remote
host"