Difference between revisions of "WebServer - Name-based Virtual Host Support"
| Line 1: | Line 1: | ||
This page was created while splitting my original webserver from a single name to 3 names to make access easier. I moved the wikis to their own subdomains. At some point, I really should clean this page up to make it clearer... | This page was created while splitting my original webserver from a single name to 3 names to make access easier. I moved the wikis to their own subdomains. At some point, I really should clean this page up to make it clearer... | ||
| − | (i.e.: moving it from test.tinkernow.net/wiki to wiki.tinkernow.net)<br> | + | (i.e.: moving it from test.tinkernow.net/wiki to wiki.tinkernow.net) |
| − | <code>sudo vim /var/www/LocalSettings.php</code> | + | |
| + | <br><code>sudo vim /var/www/LocalSettings.php</code> | ||
*<code>#$wgServer = "http://test.tinkernow.net";</code> | *<code>#$wgServer = "http://test.tinkernow.net";</code> | ||
| Line 10: | Line 11: | ||
<big>'''NOTE:''' It is probably smartest to put the <code>VirtualHost</code> sections in separate files in the <code>/etc/apache2/sites-available/</code> folder, then make symbolic links to them in <code>/etc/apache2/sites-enabled</code> This will simplify maintenance down the road...</big> | <big>'''NOTE:''' It is probably smartest to put the <code>VirtualHost</code> sections in separate files in the <code>/etc/apache2/sites-available/</code> folder, then make symbolic links to them in <code>/etc/apache2/sites-enabled</code> This will simplify maintenance down the road...</big> | ||
| − | But, if you really want to, they can simply be added to <code>/etc/apache2/apache2.conf</code> | + | (But, if you really want to, they can simply be added to <code>/etc/apache2/apache2.conf)</code> |
A sample set of files for <code>/etc/apache2/sites-available</code>: | A sample set of files for <code>/etc/apache2/sites-available</code>: | ||
| Line 60: | Line 61: | ||
################################## | ################################## | ||
| − | # Proxy for T110.foo. | + | # Proxy for T110.foo.bar # |
################################## | ################################## | ||
| Line 93: | Line 94: | ||
</VirtualHost> | </VirtualHost> | ||
| + | |||
| + | create the links | ||
| + | |||
| + | * <code>cd /etc/apache2/sites-enabled</code> | ||
| + | * <code>ln -s ../sites-available/www.foo.bar.conf ../sites-available/wiki.foo.bar.conf ../sites-available/proxy.foo.bar.conf .</code> | ||
and restart Apache: | and restart Apache: | ||
*<code>sudo service apache2 restart</code> | *<code>sudo service apache2 restart</code> | ||
Revision as of 17:03, 28 June 2020
This page was created while splitting my original webserver from a single name to 3 names to make access easier. I moved the wikis to their own subdomains. At some point, I really should clean this page up to make it clearer...
(i.e.: moving it from test.tinkernow.net/wiki to wiki.tinkernow.net)
sudo vim /var/www/LocalSettings.php
#$wgServer = "http://test.tinkernow.net";$wgServer = "http://wiki.tinkernow.net";
NOTE: It is probably smartest to put the VirtualHost sections in separate files in the /etc/apache2/sites-available/ folder, then make symbolic links to them in /etc/apache2/sites-enabled This will simplify maintenance down the road...
(But, if you really want to, they can simply be added to /etc/apache2/apache2.conf)
A sample set of files for /etc/apache2/sites-available:
- www.foo.bar.conf
#########################
# WWW.foo.bar #
#########################
<VirtualHost *:80>
ServerName foo.bar
Redirect permanent / https://www.foo.bar/
</VirtualHost>
<VirtualHost *:80>
ServerName www.foo.bar
Redirect permanent / https://www.foo.bar/
</VirtualHost>
<VirtualHost _default_:443>
ServerName www.foo.bar
DocumentRoot "/var/www/html"
SSLCertificateFile /etc/letsencrypt/live/www.foo.bar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.foo.bar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
- wiki.foo.bar.conf
#########################
# Wiki.foo.bar #
#########################
<VirtualHost *:80>
ServerName wiki.foo.bar
Redirect permanent / https://wiki.foo.bar/
</VirtualHost>
<VirtualHost _default_:443>
ServerName wiki.foo.bar
DocumentRoot "/var/www/wiki"
SSLCertificateFile /etc/letsencrypt/live/wiki.foo.bar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wiki.foo.bar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
- proxy.foo.bar.conf
##################################
# Proxy for T110.foo.bar #
##################################
<VirtualHost *:80>
ServerName proxy.foo.bar
Redirect permanent / https://proxy.foo.bar/
</VirtualHost>
<VirtualHost _default_:443>
ServerName proxy.foo.bar
ProxyRequests on
SSLEngine On
SSLProxyEngine On
ProxyPreserveHost On
# Redirect WSS traffic (Needed if this is a proxy for ESXi)
ProxyPass /ticket/ wss://proxy.foo.bar/ticket/
ProxyPassReverse /ticket/ wss://proxy.foo.bar/ticket/
# Redirect HTTPS traffic
ProxyPass / https://proxy.foo.bar/
ProxyPassReverse / https://proxy.foo.bar/
SSLCertificateFile /etc/letsencrypt/live/proxy.foo.bar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/proxy.foo.bar/privkey.pem
<Proxy "*">
Order allow,deny
Allow from all
</Proxy>
ErrorLog /var/log/apache2/Proxy/proxy_log
CustomLog /var/log/apache2/Proxy/proxy-access_log combined
</VirtualHost>
create the links
cd /etc/apache2/sites-enabledln -s ../sites-available/www.foo.bar.conf ../sites-available/wiki.foo.bar.conf ../sites-available/proxy.foo.bar.conf .
and restart Apache:
sudo service apache2 restart