FILES. /etc/apache2/sites-available Directory with files giving information on available sites. /etc/apache2/sites-enabled Directory with links to the files in sites-available for enabled sites.
a2ensite is a script that enables the specified site (which contains a <VirtualHost> block) within the apache2 configuration. It does this by creating symlinks within /etc/apache2/sites-enabled. Likewise, a2dissite disables a site by removing those symlinks.
Solved the issue by adding .conf
extension to site configuration files.
Apache a2ensite
results in:
Error! Site Does Not Exist
Problem; If you found the error while trying to enable a site using:
sudo a2ensite example.com
but it returns:
Error: example.com does not exist
a2ensite
is simply a Perl script that only works with filenames ending .conf
Therefore, I have to rename my setting file for example.com
to example.com.conf
as might be achieved as follows:
mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
Success
You probably updated your Ubuntu installation and one of the updates included the upgrade of Apache to version 2.4.x
In Apache 2.4.x the vhost configuration files, located in the /etc/apache2/sites-available directory, must have the .conf extension.
Using terminal (mv command), rename all your existing configuration files and add the .conf extension to all of them.
mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf
If you get a "Permission denied" error, then add "sudo " in front of your terminal commands.
You do not need to make any other changes to the configuration files.
Enable the vhost(s):
a2ensite cmsplus.dev.conf
And then reload Apache:
service apache2 reload
Your sites should be up and running now.
UPDATE: As mentioned here, a Linux distribution that you installed changed the configuration to Include *.conf only. Therefore it has nothing to do with Apache 2.2 or 2.4
There's another good way, just edit the file apache2.conf
theres a line at the end
IncludeOptional sites-enabled/*.conf
just remove the .conf
at the end, like this
IncludeOptional sites-enabled/*
and restart the server.
(I tried this only in the Ubuntu 13.10, when I updated it.)
I just had the same problem. I'd say it has nothing to do with the apache.conf.
a2ensite must have changed - line 532 is the line that enforces the .conf suffix:
else {
$dir = 'sites';
$sffx = '.conf';
$reload = 'reload';
}
If you change it to:
else {
$dir = 'sites';
#$sffx = '.conf';
$sffx = '';
$reload = 'reload';
}
...it will work without any suffix.
Of course you wouldn't want to change the a2ensite script, but changing the conf file's suffix is the correct way.
It's probably just a way of enforcing the ".conf"-suffix.
So .. quickest way is rename site config names ending in ".conf"
mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf
a2ensite mysite.conf
other notes on previous comments:
IncludeOptional wasn't introduced until apache 2.36 - making change above followed by restart on 2.2 will leave your server down!
also, version 2.2 a2ensite can't be hacked as described
as well, since your sites-available file is actually a configuration file, it should be named that way anyway..
In general do not restart services (webservers are one type of service):
Servers can run for many years - live update, reload config, etc.
The cloud doesn't mean you have to restart to load a configuration file.
When changing configuration of a service use "reload" not "restart".
restart stops the service then starts service - if there is a any problem in your change to the config, the service will not restart.
reload will give an error but the service never shuts down giving you a chance to fix the config error which could only be bad syntax.
debian or ubunto [service-name for this thread is apache2]
service {service-name} {start} {stop} {reload} ..
other os's left as an excersize for the reader.
Worked after I added .conf
to the configuration file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With