Lalit Thapa
Lalit Thapa

Reputation: 311

Create wildcard subdomain in xampp localhost

I am trying to create wildcard subdomain in xampp for my local development of Laravel project. So far I am able to change the hosts file and create a virtual host for my domain name.

Here is my hosts file

127.0.0.1   localhost
127.0.1.1   lalit-Inspiron-3537

127.0.0.1 mysite.local


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02:

:2 ip6-allrouters

I have enabled virtual hosts in my httpd.conf file

Here is my httpd-vhosts.conf file

# Virtual Hosts
#
# Required modules: mod_log_config

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/opt/lampp/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/opt/lampp/htdocs/mysite/public"
    ServerName mysite.local
    ServerAlias *.mysite.local
    <Directory "/opt/lampp/htdocs/mysite/public">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

I can access my Laravel project at mysite.local. But when I try to access subdomain.mysite.local I get the following error

This site can’t be reached

subdomain.mysite.local’s server DNS address could not be found.
Try:
Checking the connection
Checking the proxy, firewall, and DNS configuration
ERR_NAME_NOT_RESOLVED

Can anyone please help me with this?

Upvotes: 4

Views: 4980

Answers (1)

Lalit Thapa
Lalit Thapa

Reputation: 311

I found the solution. As it turns out we cannot use .local for our domain name as it is used by avahi-daemon. So I changed the .local from my domain names,

Host file

127.0.0.1   localhost
127.0.1.1   lalit-Inspiron-3537

127.0.0.1 mysite.dev

httpd-vhosts.conf file

<VirtualHost *:80>
    DocumentRoot "/opt/lampp/htdocs/mysite/public"
    ServerName mysite.local
    ServerAlias *.mysite.local
    <Directory "/opt/lampp/htdocs/mysite/public">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

And now it's working perfectly.

Upvotes: 4

Related Questions