Ubuntu 14.04: Apache 2.4.7 virtualhost not working/redirecting
Solution 1
This may be a little late, not sure if you found a solution or not, but this is what i did. After spending many hours modifying my config files and tweaking my vhost, I decided to a2dissite 000... the default site and reloaded apache. Once I did this, the redirect was working as epxected. I don't know how this will unfold when you have more than one site on a server, if it will default to the first loaded vhost or ... I was always under the impression that apache had to have a default host, I could be wrong on that.
Solution 2
Not only did I have to disable the default:
sudo a2dissite 000-default.conf
but I also had to reload apache as sudo - without sudo it was not reloading properly
sudo service apache2 reload
Solution 3
I was facing this issue, and it turned out I had to disable the default virtual host.
sudo a2dissite 000-default.conf
Solution 4
Are you still facing the problem?
Did you look at the error log located at /var/log/apache2/error.log. The error log is self explanatory and will give a good lead to the problem.
The error on my machine showed this (latter part of the error statement)
.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
In my case the Apache module rewrite was not enabled. I enabled the module and voila the virtual host settings came alive.
Also I see that you are using the statement 'AllowOverride All' which indicates you are trying to use the rewrite module. Enable the module 'rewrite', if not already, using the command sudo a2enmod rewrite
and then restart you apache2 sudo /etc/init.d/apache2 restart
See if this helps!
Admin
Updated on June 09, 2022Comments
-
Admin almost 2 years
I have Apache 2.4.7 installed on my Ubuntu 14.04 machine, and some of my virtualhosts are not agreeing with me. I have 5 virtual hosts I am trying to run; 3 of them work, 2 do not. The .conf files for the two that do not work are:
002-tmpnet.conf
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/tmpnet ServerName tmpnet <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/tmpnet/> Options Indexes FollowSymLinks MultiViews AllowOverride All #Order allow,deny #allow from all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
003-tmpcom.conf
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/tmpcom ServerName tmpcom <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/tmpcom> Options Indexes FollowSymLinks MultiViews AllowOverride All #Order allow,deny #allow from all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Both of these return
500 Internal server errors
when trying to visit them. If I visit them through localhost (i.e. localhost/html/tmpnet) it works perfectly fine, just not when trying to use the virtual host.
My hosts file is:
127.0.0.1 localhost 127.0.1.1 Eagle 127.0.1.1 tmpcom 127.0.1.1 tmpbiz 127.0.1.1 tmporg 127.0.1.1 tmpnet 127.0.1.1 thatsmybrick # 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
and my apache2.conf is:
Mutex file:${APACHE_LOCK_DIR} default PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} HostnameLookups on ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf Include ports.conf <Directory /> Options FollowSymLinks AllowOverride All Require all denied </Directory> <Directory /usr/share> AllowOverride All Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> AccessFileName .htaccess <FilesMatch "^\.ht"> Require all denied </FilesMatch> LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf
I have been stuck on this for a long while now, and I would really appreciate some help. Any pointing in the right direction would be amazing.
Thank you
-
skovy over 9 yearsThank You!!! I ran
a2dissite 000-default.conf
and add.conf
to my existing files and it worked! -
Machavity over 9 yearsI don't think you read the question. His files are named
.conf
and still not loading.