Hello Padmahas,
For Apache httpd there is no make uninstall,
but there is a make clean, make distclean and make extraclean.
You could try setting up a separate Apache httpd installation inside
your home directory with the following instructions:
- cd to your Apache httpd source directory
- $ make clean
- $ ./configure --prefix=/home/(your userid)/apache2
- $ make
- $ make install
- $ cd /home/(your userid)/apache2
- $ bin/apachectl -V
- $ bin/apachectl start
- $ ps -ef | grep -i httpd
For more complete instructions see
http://httpd.apache.org/docs/2.4/install.html#configure .
Take care,
Mike Rumph
On 3/31/2015 8:56 PM, Padmahas Bn wrote:
Hello mike,
I would like to clarify one thing. Whatever the apache related command
I execute inside /usr/local/apache2/bin, it all affecting the apache
inside /usr. The exact reason may be because I installed apache inside
/usr at first and only later I installed in "usr/local...."
Hence if you want exact result of the *sudo
/usr/local/apache2/bin/apachectl -V, *please tell me how to explicitly
specify the path as you suggested me in the last command using -f
option(*sudo /usr/local/apache2/bin/apachectl -k start
-f**/usr/local/apache2/conf/httpd.conf )*.
So tell me if apache configures any environment variables and it may
not overwriting the path when I install second time inside /usr/local....
The steps I used to install apache2
To install apr and apr-util I followed this link
(http://www.linuxfromscratch.org/blfs/view/svn/general/apr.html). This
is where I came to know about --prefix option and I used "/usr" from
this tutorial. But irrespective of using /usr as --prefix, apr
installed inside /usr/local.
Hence I used the same option for apache2 like this. ./configure
--prefix=/usr
Unfortunately apache2 was installed in the exact location inside /usr,
by merging its files inside bin.
Later I read in apache documentation, if --prefix not specified it
will install inside /usr/local... so I thought it would be easy if all
apache files is available inside one directory (apache2) which will be
created by server. This time I just ran ./configure. And you know the
later part.
Two installations are conflicting with each other. Only the first
installation is valid and the second is not even executing server
start command.
So is there any way I can completely uninstall apache? something
similar to "make uninstall". "make uninstall" is not working I don't
know why.
On Wed, Apr 1, 2015 at 5:42 AM, Mike Rumph <[email protected]
<mailto:[email protected]>> wrote:
Hello Padmahas,
Okay. This tells us a few things.
One problem is that the HTTPD_ROOT is set to /usr instead of
/usr/local/apache2.
Other relative paths will be based from here.
Since the SERVER_CONFIG_FILE is set to conf/httpd.conf,
the default config file will be /usr/conf/httpd.conf instead of
/usr/local/apache2/conf/httpd.conf.
The -f switch allowed you to override this.
What steps did you use to install and configure httpd into
/usr/local/apache2?
In your httpd source directory, what are the contents of the
config.nice file?
You could review the following links:
- http://httpd.apache.org/docs/2.4/install.html#configure
- http://httpd.apache.org/docs/2.4/programs/configure.html
Take care,
Mike
On 3/31/2015 4:19 PM, Padmahas Bn wrote:
Hello mike,
Yes you are write I installed server first inside /usr and then
inside /usr/local/apache2 (installed by default when I used
./configure without --prefix option). Even you are right about my
manual un installation.
About the command you suggested with -V option, this is the result.
Server version: Apache/2.4.12 (Unix)
Server built: Mar 31 2015 16:20:21
Server's Module Magic Number: 20120211:41
Server loaded: APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
I looked inside /usr/local/apache2/bin/apachectl, the HTTPD var
set to
*HTTPD='/usr/local/apache2/bin/httpd'
*
In parallel I also looked inside /usr/bin/apacheclt, there the
HTTPD var set to
HTTPD='/usr/bin/httpd'. So I assume both of them pointing to
their respective directories.
I tried the second command you suggested
*sudo /usr/local/apache2/bin/apachectl -k start
-f**/usr/local/apache2/conf/httpd.conf
*
Good news The server started with usual warning message but
Yes!!! it is using the httpd.conf file which resides inside
/usr/local/apache2/conf/httpd.conf.
The message it always show is,
AH00558: httpd: Could not reliably determine the server's fully
qualified domain name, using 127.0.1.1. Set the 'ServerName'
directive globally to suppress this message
*Now is there any way I can set apache to look inside
*/usr/local/apache2/conf/httpd.conf*by default, by forgetting the
first installation inside /usr? Or should I always specify the
httpd.conf path as you suggested?
*
Thank you for the documentation links, I'm referring those links now.
On Tue, Mar 31, 2015 at 10:11 PM, Mike Rumph
<[email protected] <mailto:[email protected]>> wrote:
Hello Padmahas,
It looks like your two installations of Apache httpd 2.4 are
conflicting with each other.
If I understand correctly, you first installed into /user and
then into /usr/local/apache2.
Then you tried to remove the /user installation by deleting
files manually.
(As you've seen, /user is not a good choice, because this is
used for many other things as well.)
It would probably help to do a fresh installation.
But let's try a few things first.
When tried *" sudo /usr/local/apache2/bin/apachectl -k start "*
It gave " *httpd: Could not open configuration file
/usr/conf/httpd.conf: No such file or directory ".*
You are probably wanting to use
/usr/local/apache2/conf/httpd.conf instead.
What results do you get from *sudo
/usr/local/apache2/bin/apachectl -V * ?
Look inside */usr/local/apache2/bin/apachectl **
*What is the variable HTTPD set to?
You could try using *sudo /usr/local/apache2/bin/apachectl -k
start -f**/usr/local/apache2/conf/httpd.conf
*to override the config file location.
*
*See the following links for further options on the apachectl
or httpd commands:
- http://httpd.apache.org/docs/2.4/programs/apachectl.html
- http://httpd.apache.org/docs/2.4/programs/httpd.html
Thanks,
Mike Rumph
On 3/31/2015 3:36 AM, Padmahas Bn wrote:
*If anyone finds this as a big question please let me know.
I'll precise my problem.
Steps I followed:*
I installed apr and apr-utils package in the path *"/usr"*
using the --prefix option.
Both were installed successfully. Hence I installed apache
2.4 to the same path ("/usr") using --prefix option while
running *"./configure" .
*
*Later I came to know if prefix is not mentioned for
apache2.4 installation, it will be installed inside
/usr/local/apache2 by default.
*
Hence I again installed without specifying --prefix option
which does installed the apache2 into /usr/local/apache2.
Now I cd to /usr/local/apache2/bin and run *sudo apachectl
-k start *and the apache server was started successfully.
*Only later I came to know the server is running from the
/usr files installed at first time.
*
Instead of having 2 installations I thought of removing the
one installed inside /usr and deleted all files manually and
carefully from all sub folders of /usr.
*Now when I run the server from /usr/local/apache2 using "*
*sudo apachectl -k start " *it says *sudo: apachectl:
command not found*
So I supplied full path using *" sudo
/usr/local/apache2/bin/apachectl -k start "*
But its giving " *httpd: Could not open configuration file
/usr/conf/httpd.conf: No such file or directory ".*
Thank you.