It won't. You only get to set a macro once. It's more for ease of configuration 
for a variable that will be used multiple times.

⁣Sent from BlueMail ​

On May 5, 2017, 8:11 AM, at 8:11 AM, Torsten <tmp...@4ss.de> wrote:
>Hi!
>
>I thought I could copy the same static server definition block and only
>change a unique macro definition at the top of each server. But this is
>not working:
>
>##############################
># from httpd.conf
>##############################
># [...]
>
># macro definition
>certroot="/etc/ssl/httpd"
>docroot="/htdocs"
>
>domain="domain.tld"
>server $domain{
> listen on * tls port 443
> tls certificate $certroot/$domain/$domain.pem
> tls key $certroot/$domain/$domain.key
> root $docroot/$domain
>}
>
>domain="anotherdomain.tld"
>server $domain{
> listen on * tls port 443
> tls certificate $certroot/$domain/$domain.pem
> tls key $certroot/$domain/$domain.key
> root $docroot/$domain
>}
>
># [...]
>##############################
>
>The idea was if you have a lot of server definitions you could keep
>static the parts that are the same and just change the macro for each
>server the line above the server block.
>
>Because httpd.conf man page says "Macros are not expanded inside
>quotes." I cannot use 'root "$docroot/$domain"'. But 'root
>$docroot/$domain' isn't accepted either. Does that mean I cannot use
>Macros for parts of the config file that reference to files or folders,
>because Macros are not expanded inside quotes but keywords with file or
>folder options require enclosing quotes? If that's the case I don't
>understand what Macros are good for.
>
>Thanks in advance!
>
>T.

Reply via email to