You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Jeff Cauhape <jp...@detr.nv.gov> on 2019/04/05 18:55:32 UTC

[users@httpd] Question about configure not answered in documentation

I am guessing the answer to my question is probably "no", but I'm hoping
someone here has a silver bullet.

We are finally getting our act together and updating our Apache server instances.
Our chosen way to do this is as follows:

The /apps directory holds application software distributions, suche as

/apps/apache_2.4.25
/apps/apache_2.4.37
/apps/apache_2.4.39
/apps/apache       (this is a symbolic link to the current distribuiton)

We keep the DocumentRoot directory outside of the distribution tree because
when we want to update the server, we don't want to have to copy the HTML
and cgi files.

Q: Is there some way to pass a parameter to configure to point to a directory
outside of the distribution tree?

For example, if I want our htdocs to go into /etc/html  by default?

I know, we can just go in and edit httpd.conf to do this, but it would be handy
to have it point to the right place as part of the build. I have checked

https://httpd.apache.org/docs/2.4/programs/configure.html

and I don't see anything that indicates that.

Ideas?

Thanks,

Jeffrey Cauhape - IT Professional III - Linux and Solaris Administrator
Nevada Department of Employment, Training and Rehabilitation
(775) 684-3804 (office)     jpcauhape@detr.nv.gov<ma...@detr.nv.gov>


Re: [users@httpd] Question about configure not answered in documentation

Posted by Rainer Jung <ra...@kippdata.de>.
Hi Jeff,

Am 06.04.2019 um 00:19 schrieb Jeff Cauhape:
> Well,
> 
> That almost worked.
> 
> I edited the config.layout file and copied <Layout Apache> to <Layout DETR>.
> In <Layout DETR> I made the following changes only:
> 
> <Layout DETR>
>      prefix:        /usr/local/apache2
>      exec_prefix:   ${prefix}
>      bindir:        ${exec_prefix}/bin
>      sbindir:       ${exec_prefix}/bin
>      libdir:        ${exec_prefix}/lib
>      libexecdir:    ${exec_prefix}/modules
>      mandir:        ${prefix}/man
>      sysconfdir:    ${prefix}/conf
>      datadir:       ${prefix}
>      installbuilddir: ${datadir}/build
>      errordir:      ${datadir}/error
>      iconsdir:      ${datadir}/icons
>      htdocsdir:     /var/www/html             <- Changed
>      manualdir:     ${datadir}/manual
>      cgidir:        /var/www/cgi-bin		<- Changed
>      includedir:    ${prefix}/include
>      localstatedir: ${prefix}
>      runtimedir:    ${localstatedir}/logs
>      logfiledir:    ${localstatedir}/logs
>      proxycachedir: ${localstatedir}/proxy
> </Layout>
> 
> I then ran config like this from a shell script:
> #!/bin/bash
> 
> ./configure --with-pcre=/usr/local/bin/pcre-config \
>          --enable-layout=DETR \
>          --prefix=/apps/apache_2.4.39 \
>          --enable-proxy-html   \
>          --enable-socache-shmcb \
>          --enable-ssl
> 
> What happened is that the /var/www/html and /var/www/cgi-bin directories
> got created, but in the httpd.conf file had this for the DocumentRoot and script locations:
> 
> DocumentRoot "/apps/apache_2.4.39/htdocs"
> <Directory "/apps/apache_2.4.39/htdocs">
> ...
> 
> and
> 
>      ScriptAlias  /cgi-bin/   "/apps/apache_2.4.39/cgi-bin/"
> 
> 
> It looks like there is someplace where directives in config.layout are being ignored. Ideas?
> 
> n.b. After I reanthe config command, I ran a 'make clean' prior to the 'make' to build a
> new server.

Thanks for giving it a try, I think you are already pretty close.

To check, whether the layout was successfully picked up you can do a

% grep cgidir config.log
% grep htdocsdir config.log

The file config.log is written during configure and should contain 
cgidir, exp_cgidir, rel_cgidir, htdocsdir, exp_htdocsdir and rel_htdocsdir.

The values shown by grep should match those given in the layout.

Since you wrote, that the new directories were created, I expect the 
grep commands to show the correct values, but it is a good first step 
for double-checking.

Next: the source config file docs/conf/httpd.conf.in contains the right 
placeholders, e.g.

DocumentRoot "@exp_htdocsdir@"
<Directory "@exp_htdocsdir@">
     ScriptAlias /cgi-bin/ "@exp_cgidir@/"
# "@exp_cgidir@" should be changed to whatever your ScriptAliased
<Directory "@exp_cgidir@">

etc. so it must do replacements and you should get your configured values.

But: I vaguely remember, that "make install" will not overwrite config 
files previously installed to the same installation directory to prevent 
loosing older customization during updates (and "make clean" will not 
remove them). Could that be your problem? Is the file timestamp of 
conf/httpd.conf in the installation directory later than your layout 
changes or older? Does it work if you remove the whole old installation 
directory and run a new "make install"?

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Question about configure not answered in documentation

Posted by Jeff Cauhape <jp...@detr.nv.gov>.
Well,

That almost worked.

I edited the config.layout file and copied <Layout Apache> to <Layout DETR>.
In <Layout DETR> I made the following changes only:

<Layout DETR>
    prefix:        /usr/local/apache2
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/bin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/modules
    mandir:        ${prefix}/man
    sysconfdir:    ${prefix}/conf
    datadir:       ${prefix}
    installbuilddir: ${datadir}/build
    errordir:      ${datadir}/error
    iconsdir:      ${datadir}/icons
    htdocsdir:     /var/www/html             <- Changed
    manualdir:     ${datadir}/manual
    cgidir:        /var/www/cgi-bin		<- Changed
    includedir:    ${prefix}/include
    localstatedir: ${prefix}
    runtimedir:    ${localstatedir}/logs
    logfiledir:    ${localstatedir}/logs
    proxycachedir: ${localstatedir}/proxy
</Layout>

I then ran config like this from a shell script:
#!/bin/bash

./configure --with-pcre=/usr/local/bin/pcre-config \
        --enable-layout=DETR \
        --prefix=/apps/apache_2.4.39 \
        --enable-proxy-html   \
        --enable-socache-shmcb \
        --enable-ssl

What happened is that the /var/www/html and /var/www/cgi-bin directories
got created, but in the httpd.conf file had this for the DocumentRoot and script locations:

DocumentRoot "/apps/apache_2.4.39/htdocs"
<Directory "/apps/apache_2.4.39/htdocs">
...

and

    ScriptAlias  /cgi-bin/   "/apps/apache_2.4.39/cgi-bin/"


It looks like there is someplace where directives in config.layout are being ignored. Ideas?

n.b. After I reanthe config command, I ran a 'make clean' prior to the 'make' to build a
new server.

Jeffrey Cauhape – IT Professional III – Linux and Solaris Administrator
Nevada Department of Employment, Training and Rehabilitation
(775) 684-3804 (office)     jpcauhape@detr.nv.gov

-----Original Message-----
From: Jeff Cauhape [mailto:jpcauhape@detr.nv.gov] 
Sent: Friday, April 5, 2019 1:21 PM
To: users@httpd.apache.org
Subject: RE: [users@httpd] Question about configure not answered in documentation

Bingo! That's it!

Thank you very much.

Jeffrey Cauhape – IT Professional III – Linux and Solaris Administrator Nevada Department of Employment, Training and Rehabilitation
(775) 684-3804 (office)     jpcauhape@detr.nv.gov

-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de]
Sent: Friday, April 5, 2019 1:04 PM
To: users@httpd.apache.org; Jeff Cauhape <jp...@detr.nv.gov>
Subject: Re: [users@httpd] Question about configure not answered in documentation

Hi Jeff,

Am 05.04.2019 um 20:55 schrieb Jeff Cauhape:
> I am guessing the answer to my question is probably “no”, but I’m 
> hoping
> 
> someone here has a silver bullet.
> 
> We are finally getting our act together and updating our Apache server 
> instances.
> 
> Our chosen way to do this is as follows:
> 
> The /apps directory holds application software distributions, suche as
> 
> /apps/apache_2.4.25
> 
> /apps/apache_2.4.37
> 
> /apps/apache_2.4.39
> 
> /apps/apache       (this is a symbolic link to the current
> distribuiton)
> 
> We keep the DocumentRoot directory outside of the distribution tree 
> because
> 
> when we want to update the server, we don’t want to have to copy the 
> HTML
> 
> and cgi files.
> 
> Q: Is there some way to pass a parameter to configure to point to a 
> directory
> 
> outside of the distribution tree?
> 
> For example, if I want our htdocs to go into /etc/html  by default?
> 
> I know, we can just go in and edit httpd.conf to do this, but it would 
> be handy
> 
> to have it point to the right place as part of the build. I have 
> checked
> 
> https://httpd.apache.org/docs/2.4/programs/configure.html
> 
> and I don’t see anything that indicates that.
> 
> Ideas?

In the source distribution there's a file config.layout. Each layout defined in the file has a name and consists of a list of paths to use.

You can add you own layout to that file, e.f. a layout named JEFF and then add the configure flag "--enable-layout=JEFF" when running configure.

See:

https://httpd.apache.org/docs/2.4/programs/configure.html

I'm not sure whether that suffices to put the manual into a custom directory but you should get close.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org

B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB  [  X  ܚX KK[XZ[
 \ \  ][  X  ܚX P
 \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[
 \ \  Z[
 \X K ܙ B

RE: [users@httpd] Question about configure not answered in documentation

Posted by Jeff Cauhape <jp...@detr.nv.gov>.
Bingo! That's it!

Thank you very much.

Jeffrey Cauhape – IT Professional III – Linux and Solaris Administrator
Nevada Department of Employment, Training and Rehabilitation
(775) 684-3804 (office)     jpcauhape@detr.nv.gov

-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de] 
Sent: Friday, April 5, 2019 1:04 PM
To: users@httpd.apache.org; Jeff Cauhape <jp...@detr.nv.gov>
Subject: Re: [users@httpd] Question about configure not answered in documentation

Hi Jeff,

Am 05.04.2019 um 20:55 schrieb Jeff Cauhape:
> I am guessing the answer to my question is probably “no”, but I’m 
> hoping
> 
> someone here has a silver bullet.
> 
> We are finally getting our act together and updating our Apache server 
> instances.
> 
> Our chosen way to do this is as follows:
> 
> The /apps directory holds application software distributions, suche as
> 
> /apps/apache_2.4.25
> 
> /apps/apache_2.4.37
> 
> /apps/apache_2.4.39
> 
> /apps/apache       (this is a symbolic link to the current 
> distribuiton)
> 
> We keep the DocumentRoot directory outside of the distribution tree 
> because
> 
> when we want to update the server, we don’t want to have to copy the 
> HTML
> 
> and cgi files.
> 
> Q: Is there some way to pass a parameter to configure to point to a 
> directory
> 
> outside of the distribution tree?
> 
> For example, if I want our htdocs to go into /etc/html  by default?
> 
> I know, we can just go in and edit httpd.conf to do this, but it would 
> be handy
> 
> to have it point to the right place as part of the build. I have 
> checked
> 
> https://httpd.apache.org/docs/2.4/programs/configure.html
> 
> and I don’t see anything that indicates that.
> 
> Ideas?

In the source distribution there's a file config.layout. Each layout defined in the file has a name and consists of a list of paths to use.

You can add you own layout to that file, e.f. a layout named JEFF and then add the configure flag "--enable-layout=JEFF" when running configure.

See:

https://httpd.apache.org/docs/2.4/programs/configure.html

I'm not sure whether that suffices to put the manual into a custom directory but you should get close.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Question about configure not answered in documentation

Posted by Rainer Jung <ra...@kippdata.de>.
Hi Jeff,

Am 05.04.2019 um 20:55 schrieb Jeff Cauhape:
> I am guessing the answer to my question is probably “no”, but I’m hoping
> 
> someone here has a silver bullet.
> 
> We are finally getting our act together and updating our Apache server 
> instances.
> 
> Our chosen way to do this is as follows:
> 
> The /apps directory holds application software distributions, suche as
> 
> /apps/apache_2.4.25
> 
> /apps/apache_2.4.37
> 
> /apps/apache_2.4.39
> 
> /apps/apache       (this is a symbolic link to the current distribuiton)
> 
> We keep the DocumentRoot directory outside of the distribution tree because
> 
> when we want to update the server, we don’t want to have to copy the HTML
> 
> and cgi files.
> 
> Q: Is there some way to pass a parameter to configure to point to a 
> directory
> 
> outside of the distribution tree?
> 
> For example, if I want our htdocs to go into /etc/html  by default?
> 
> I know, we can just go in and edit httpd.conf to do this, but it would 
> be handy
> 
> to have it point to the right place as part of the build. I have checked
> 
> https://httpd.apache.org/docs/2.4/programs/configure.html
> 
> and I don’t see anything that indicates that.
> 
> Ideas?

In the source distribution there's a file config.layout. Each layout 
defined in the file has a name and consists of a list of paths to use.

You can add you own layout to that file, e.f. a layout named JEFF and 
then add the configure flag "--enable-layout=JEFF" when running configure.

See:

https://httpd.apache.org/docs/2.4/programs/configure.html

I'm not sure whether that suffices to put the manual into a custom 
directory but you should get close.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Question about configure not answered in documentation

Posted by Jeff Cauhape <jp...@detr.nv.gov>.
It occurred to me that the simplest thing to do with the latest server is to just 
copy the httpd.conf file over from the older instance to the newer instance.

Hit the 'Easy' button....

Jeffrey Cauhape - IT Professional III - Linux and Solaris Administrator
Nevada Department of Employment, Training and Rehabilitation
(775) 684-3804 (office)     jpcauhape@detr.nv.gov

-----Original Message-----
From: Flaviu Radulescu [mailto:flaviu.radulescu@lumminary.com.INVALID] 
Sent: Friday, April 5, 2019 12:53 PM
To: users@httpd.apache.org
Subject: [Unverified Sender] RE: [users@httpd] Question about configure not answered in documentation
Importance: Low

Or maybe you can create just a symlink from the apache folder to the correct HTML path


---
FLAVIU RADULESCU | Lumminary  |  lumminary.com

PLEASE NOTE:  This email and any file transmitted are confidential and/or legally privileged and intended only for the person(s) directly addressed. If you are not the intended recipient, any use, copying, transmission, distribution, or other forms of dissemination is strictly prohibited. If you have received this email in error, please notify the sender immediately and permanently delete the email and files, if any.

-----Original Message-----
From: Dennis Clarke <dc...@blastwave.org>
Sent: Friday, April 5, 2019 8:39 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Question about configure not answered in documentation

On 4/5/19 2:55 PM, Jeff Cauhape wrote:
> I am guessing the answer to my question is probably "no", but I'm 
> hoping
> 
> someone here has a silver bullet.
> 
>


I think this is a basic path thing passed along like so :


beta $ ./configure --prefix=/some/app/path \ --sysconfdir=/usr/local/www/conf \ --localstatedir=/usr/local/www/var --datadir=/usr/local/www/data \ --htmldir=/usr/local/www/docs \

... etc etc etc



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Question about configure not answered in documentation

Posted by Flaviu Radulescu <fl...@lumminary.com.INVALID>.
Or maybe you can create just a symlink from the apache folder to the correct HTML path


---
FLAVIU RADULESCU | Lumminary  |  lumminary.com

PLEASE NOTE:  This email and any file transmitted are confidential and/or legally privileged and intended only for the person(s) directly addressed. If you are not the intended recipient, any use, copying, transmission, distribution, or other forms of dissemination is strictly prohibited. If you have received this email in error, please notify the sender immediately and permanently delete the email and files, if any.

-----Original Message-----
From: Dennis Clarke <dc...@blastwave.org> 
Sent: Friday, April 5, 2019 8:39 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Question about configure not answered in documentation

On 4/5/19 2:55 PM, Jeff Cauhape wrote:
> I am guessing the answer to my question is probably "no", but I'm 
> hoping
> 
> someone here has a silver bullet.
> 
>


I think this is a basic path thing passed along like so :


beta $ ./configure --prefix=/some/app/path \ --sysconfdir=/usr/local/www/conf \ --localstatedir=/usr/local/www/var --datadir=/usr/local/www/data \ --htmldir=/usr/local/www/docs \

... etc etc etc



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Question about configure not answered in documentation

Posted by Dennis Clarke <dc...@blastwave.org>.
On 4/5/19 2:55 PM, Jeff Cauhape wrote:
> I am guessing the answer to my question is probably “no”, but I’m hoping
> 
> someone here has a silver bullet.
> 
>


I think this is a basic path thing passed along like so :


beta $ ./configure --prefix=/some/app/path \
--sysconfdir=/usr/local/www/conf \
--localstatedir=/usr/local/www/var --datadir=/usr/local/www/data \
--htmldir=/usr/local/www/docs \

... etc etc etc



-- 
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org