Apache default virtual host settings

This is an explanation of how to write a default virtual host for a domain name or direct IP address that is not set in another virtual host.

This setting is necessary for some web applications that are operated by CGI or PHP on Apache, and to operate another site using the reverse proxy in the virtual host settings.

The default virtual host setting takes advantage of Apache's behavior of using the first defined virtual host.

In Ubuntu, the following files are placed and enabled from the beginning.

sites-available / 000-default.conf

The reason why it starts with the name 000 seems to be a device to make it read first. Apache seems to read the configuration files in lexicographical order when wildcards are specified.

Let's take a look inside.

<VirtualHost *: 80>
        #The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        #redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        #However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster @localhost
        DocumentRoot / var / www / html

        #Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        #It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl: warn

        ErrorLog ${APACHE_LOG_DIR} /error.log
        CustomLog ${APACHE_LOG_DIR} /access.log combined

        # For most configuration files from conf-available /, which are
        # enabled or disabled at a global level, it is possible to
        #include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

The default virtual host settings should be described in this file.

This setting is for port 80, but you can also set the default virtual host for 443.

<VirtualHost *: 443>

</VirtualHost>

Associated Information