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.





Reply via email to