6

Ok so I just started a new ubuntu server 11.10 and i added the vhost and all seems ok ...I also restarted apache but when i visit the browser i get a blank page

the server ip is http://23.21.197.126/ but when i tail the log

tail -f /var/log/apache2/error.log 
[Wed Feb 01 02:19:20 2012] [error] [client 208.104.53.51] File does not exist: /etc/apache2/htdocs
[Wed Feb 01 02:19:24 2012] [error] [client 208.104.53.51] File does not exist: /etc/apache2/htdocs

but my only file in sites-enabled is this

<VirtualHost 23.21.197.126:80>
         ServerAdmin something@gmail.com
         ServerName logicxl.com
         # ServerAlias
         DocumentRoot /srv/crm/current/public
         ErrorLog /srv/crm/logs/error.log

           <Directory "/srv/crm/current/public">
             Order allow,deny
             Allow from all
           </Directory>
   </VirtualHost>

is there something i am missing .....the document root should be /srv/crm/current/public and not /etc/apache2/htdocs as the error suggests

Any ideas on how to fix this

UPDATE

sudo apache2ctl -S
VirtualHost configuration:
23.21.197.126:80       is a NameVirtualHost
     default server logicxl.com (/etc/apache2/sites-enabled/crm:1)
     port 80 namevhost logicxl.com (/etc/apache2/sites-enabled/crm:1)
Syntax OK

UPDATE

 <VirtualHost *:80>
    ServerAdmin something@gmail.com
    ServerName logicxl.com
    DocumentRoot /srv/crm/current/public
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /srv/crm/current/public/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Matt Elhotiby
  • 879
  • 3
  • 10
  • 22

6 Answers6

3

This sounds like apache is not finding your sites-enabled directory.
Look in your apache2.conf file (etc/apache2/apache2.conf) for a line like this:

Include sites-enabled/

Change it to an absolute path like this:

Include /etc/apache2/sites-enabled/

This should do the trick.

Niko S P
  • 1,182
  • 8
  • 15
2

This is probably due to:

<VirtualHost 23.21.197.126:80>

Any request to http://localhost could have missed the initial vhost definition.

You then then changed it (correctly) to:

<VirtualHost *:80>

Unless you have a specific reason you should always use *:80 as this defines what address to listen on. ServerName defines what name to respond to . For example:

NameVirtualHost *:80
<VirtualHost *:80>
...
</VirtualHost>
Alastair McCormack
  • 2,184
  • 13
  • 22
  • is actually the better method. There will be a time when you want the server to be able to reference itself only. Enabling that feature later when you have a ton of services defined already will be a pain in the behind, as the two methods are not compatible. – Daniel Baker Oct 07 '12 at 13:49
0

You have forgot to add the new site to apache:

$ sudo a2ensite (your project name) 
slm
  • 7,355
  • 16
  • 54
  • 72
0

I had the same problem. However, in my case it was simply due to... sites-available/default not being linked to sites-enabled/default.

In apache2.conf I have:

Include sites-enabled/

And my sites-enabled/default:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /doc/ "/usr/share/doc/"
  <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>

</VirtualHost>
Ya.
  • 155
  • 1
  • 1
  • 6
0

Check that there is a VirtualHost directive for the interface IP you are making the query to. This error happens, as also detailed above, when apache can find no server configuration to answer your query - but it is listening to it in ports.conf.

0

I had exactly the same error after a system upgrade. I modified UserDir /etc/apache2/mods-enabled/userdir.conf. Original:

Userdir public_html

new:

Userdir /home/*/public_html

works great now :)

sebix
  • 4,175
  • 2
  • 25
  • 45