2012-04-09 115 views
2

我在Ubuntu 11.10下遇到了Zend Framework的一个奇怪问题。我使用笔记本电脑作为我的编程环境,在上传到我的主服务器之前测试一些事情。我下载并安装了Zend Framework并创建了一个新项目。去localhost.project时,一切正常。Ubuntu 11.10下的Zend Framework:虚拟服务器发生内部服务器错误

问题是,当我然后尝试建立一个虚拟服务器,所以我可以去project.localhost,并以同样的方式看到它(我知道这不是至关重要的,但我想要的) 。我通过访问/ etc/apache2/sites-available并在其中创建一个新的虚拟主机来设置虚拟主机。如果我将documentRoot和whatnot设置为/ var/www/project/public,则会出现内部服务器错误。更奇怪的是,如果我将其设置为/ var/www/project,我可以看到所有的目录 - 应用程序,文档,库,测试 - 但没有公开。我不知道为什么会发生这种情况。

我正在使用全新安装的Ubuntu 11.10,并且我使用tasksel来安装LAMP服务器。这应该是工作 - 它与我的VPS很好 - 但事实并非如此。

编辑:这里是虚拟主机的文件:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName project.localhost 

DocumentRoot /home/moi/web_docs/project/public 
<Directory /> 
    Options All 
    AllowOverride All 
</Directory> 
<Directory /home/moi/web_docs/project/public> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    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 All 
    Order deny,allow 
    Deny from all 

Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 

</VirtualHost> 
+1

看看日志在'/无功/日志/的Apache2 /'。可能它只是你虚拟主机中的错误设置,例如'AllowOverride All'没有设置。 – dbrumann 2012-04-09 17:03:07

+0

@mahok完美答案,这是正确的。 – drew010 2012-04-09 17:54:26

+0

我得到的错误是:/home/moi/web_docs/project/public/.htaccess:无效的命令'RewriteEngine',可能拼错或由未包含在服务器配置中的模块定义。 – blainarmstrong 2012-04-10 14:22:00

回答

5

您必须启用Apache的重写模块:

sudo a2enmod rewrite 
sudo service apache2 restart 
+0

美丽!很好地解决了这个问题。谢谢! – blainarmstrong 2012-04-10 23:34:06