[CentOS] httpd/sites-available directory

Robert Moskowitz rgm at htt-consult.com
Tue Mar 14 22:47:16 UTC 2017


I see I have some things to learn, or just maybe remember about 
virtualhosts:

https://httpd.apache.org/docs/2.4/vhosts/examples.html

"The asterisks match all addresses, so the main server serves no 
requests. Due to the fact that the virtual host with |ServerName 
www.example.com| is first in the configuration file, it has the highest 
priority and can be seen as the default or primary server. That means 
that if a request is received that does not match one of the specified 
|ServerName 
<https://httpd.apache.org/docs/2.4/mod/core.html#servername>| 
directives, it will be served by this first |<VirtualHost> 
<https://httpd.apache.org/docs/2.4/mod/core.html#virtualhost>|."

This means I really should have a 00-init.conf file with:

<VirtualHost *:80>
ServerName foo.bar.com
</virtualHost>


I have not figured out yet if I need some default directory section 
within that.

Also once you have virtualhost, it seems that every directory has to be 
in a virtual host envelope?

thanks

On 03/14/2017 12:38 PM, Nux! wrote:
> If all you want is a really fast redirect, then indeed what those people advised should work.
>
> NameVirtualHost IP:80 (you only need this on apache 2.2 and lower, not needed on CentOS7 which comes with apache 2.4)
>
> <VirtualHost IP:80>
> ServerName webmail.bar.com
> Redirect permanent / https://webmail.bar.com/
> </virtualHost>
>
> --
> Sent from the Delta quadrant using Borg technology!
>
> Nux!
> www.nux.ro
>
> ----- Original Message -----
>> From: "Robert Moskowitz" <rgm at htt-consult.com>
>> To: "CentOS mailing list" <centos at centos.org>
>> Sent: Tuesday, 14 March, 2017 18:53:49
>> Subject: Re: [CentOS] httpd/sites-available directory
>> The goal is to have access to a specific virtual host on port 80, to be
>> routed to port 443.  Any other port 80 access is left as is.
>>
>> So let us assume a server foo.bar.com and the specific virtual host is
>> webmail.bar.com
>>
>> So I have tried:
>>
>> <VirtualHost *:80>
>>           ServerName webmail.bar.com
>>           ServerAlias webmail
>>
>>           RewriteEngine On
>>           ReWriteCond %{HTTP_HOST} =webmail.bar.com [NC]
>>           RewriteCond %{SERVER_PORT} !=443
>>           RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
>>           ExpiresDefault "access plus 10 years"
>>           AddOutputFilterByType DEFLATE text/html text/plain text/xml
>>           php_admin_flag session.cookie_secure "1"
>>
>> </VirtualHost>
>>
>>
>> This rewrite is rewriting ALL connections to foo.bar.com.  That first
>> ReWriteCond is not working.
>>
>> Looking at this, the first thing I see 'wrong' with what I have done is:
>>
>> <VirtualHost *:80>
>>
>> That should probably be:
>>
>> <VirtualHost webmail.bar.com:80>
>>
>> But I would also like to 'help out' users that connect to Webmail.bar.com
>>
>>
>> On 03/14/2017 02:28 AM, Nux! wrote:
>>> Hello,
>>>
>>> a2ensite and co is Debian/ubuntu specific. On CentOS there is no such thing.
>>>
>>> It's not clear to me what you are trying to achieve. Can you rephrase so we can
>>> help?
>>>
>>> --
>>> Sent from the Delta quadrant using Borg technology!
>>>
>>> Nux!
>>> www.nux.ro
>>>
>>> ----- Original Message -----
>>>> From: "Robert Moskowitz" <rgm at htt-consult.com>
>>>> To: "CentOS mailing list" <centos at centos.org>
>>>> Sent: Tuesday, 14 March, 2017 01:31:08
>>>> Subject: [CentOS] httpd/sites-available directory
>>>> I just received some advice from a colleague of a colleague over at
>>>> openssl.org.  But they use debian.  Please look at this and help me out
>>>> on how Centos7 handles this:
>>>>
>>>> Note the comment of the location of virtualhost config files. Centos7
>>>> does not have a "man a2ensite".
>>>>
>>>> thanks
>>>>
>>>> Rewriterules and https.  Actually, looking at what you have doesn't
>>>> really tell me why it gets applied to everything and not just the
>>>> webmail.  However, I'd say that your roundcubemail.conf is much
>>>> overworked.  We use something like that on openssl.org, but it
>>>> generally looks like this:
>>>>
>>>>       <VirtualHost *:80>
>>>>               ServerAdmin webmaster at localhost
>>>>               ServerName ${HOSTNAME}
>>>>               ServerAlias ${HOSTALIASES}
>>>>       
>>>>               Redirect permanent /https://${HOSTNAME}/
>>>>       </VirtualHost>
>>>>
>>>> Since you already know that the host is correct and that's the port 80
>>>> virtualhost, there's no point testing that with those RewriteCond you
>>>> have.  Also, Redirect is faster and preferable to RewriteRule for this
>>>> kind of stuff, seehttps://httpd.apache.org/docs/2.4/rewrite/avoid.html
>>>>
>>>> Also, specifically for virtualhost config files, they should be
>>>> located in sites-available/ rather than conf.d/, see 'man a2ensite'.
>>>> conf.d/ is older style configuration of general stuff...  or well,
>>>> that's at least true for Debian, I'm not sure this is specific for
>>>> Debian distributions and their derivates or if it's a native Apache
>>>> thing.  You'll have to check the manuals to confirm.
>>>>
>>>>
>>>> _______________________________________________
>>>> CentOS mailing list
>>>> CentOS at centos.org
>>>> https://lists.centos.org/mailman/listinfo/centos
>>> _______________________________________________
>>> CentOS mailing list
>>> CentOS at centos.org
>>> https://lists.centos.org/mailman/listinfo/centos
>>>
>> _______________________________________________
>> CentOS mailing list
>> CentOS at centos.org
>> https://lists.centos.org/mailman/listinfo/centos
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> https://lists.centos.org/mailman/listinfo/centos
>




More information about the CentOS mailing list