Question about configure not answered in documentation

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about configure not answered in documentation

Jeff Cauhape-2

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)     [hidden email]

 

Reply | Threaded
Open this post in threaded view
|

Re: Question about configure not answered in documentation

Dennis Clarke-2
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: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Question about configure not answered in documentation

Flaviu Radulescu
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 <[hidden email]>
Sent: Friday, April 5, 2019 8:39 PM
To: [hidden email]
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: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Question about configure not answered in documentation

Rainer Jung-3
In reply to this post by Jeff Cauhape-2
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: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Question about configure not answered in documentation

Jeff Cauhape-2
In reply to this post by Flaviu Radulescu
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)     [hidden email]

-----Original Message-----
From: Flaviu Radulescu [mailto:[hidden email]]
Sent: Friday, April 5, 2019 12:53 PM
To: [hidden email]
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 <[hidden email]>
Sent: Friday, April 5, 2019 8:39 PM
To: [hidden email]
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: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Question about configure not answered in documentation

Jeff Cauhape-2
In reply to this post by Rainer Jung-3
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)     [hidden email]

-----Original Message-----
From: Rainer Jung [mailto:[hidden email]]
Sent: Friday, April 5, 2019 1:04 PM
To: [hidden email]; Jeff Cauhape <[hidden email]>
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: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

RE: Question about configure not answered in documentation

Jeff Cauhape-2
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)     [hidden email]

-----Original Message-----
From: Jeff Cauhape [mailto:[hidden email]]
Sent: Friday, April 5, 2019 1:21 PM
To: [hidden email]
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)     [hidden email]

-----Original Message-----
From: Rainer Jung [mailto:[hidden email]]
Sent: Friday, April 5, 2019 1:04 PM
To: [hidden email]; Jeff Cauhape <[hidden email]>
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: [hidden email]
For additional commands, e-mail: [hidden email]

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Question about configure not answered in documentation

Rainer Jung-3
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: [hidden email]
For additional commands, e-mail: [hidden email]