Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ubuntu 14.04: Apache 2.4.7 virtualhost not working/redirecting

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

like image 472
Dupontta Avatar asked May 21 '14 14:05

Dupontta


3 Answers

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.

like image 125
Hatem Jaber Avatar answered Sep 17 '22 01:09

Hatem Jaber


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
like image 25
Mark Pruce Avatar answered Sep 18 '22 01:09

Mark Pruce


I was facing this issue, and it turned out I had to disable the default virtual host.

sudo a2dissite 000-default.conf
like image 29
Eduardo Dennis Avatar answered Sep 17 '22 01:09

Eduardo Dennis