我尝试在CentOS7 linode服务器上运行symfony应用程序,但收到错误:
Cannot serve directory <path to project>: No matching DirectoryIndex (index.html, index.php)
字符串
我有一个vhost设置为这个子域,配置如下:
<VirtualHost *:80>
ServerAdmin pak11273@gmail.com
ServerName mister
ServerAlias project.mystuff.com
DocumentRoot /var/www/html/project
ErrorLog /var/www/html/project/logs/error.log
CustomLog /var/www/html/project/logs/access.log combined
<Directory "/var/www/html/project" >
#Options FollowSymLinks
Options -Indexes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
型
我的当前设置是:
1)我的webserver用户和组是apache
2)我对/var/www/html/项目的权限是755,带有apache:apache
我在网上尝试了以下建议,但没有效果:
1)更改选项-选项+索引
2)添加了DirectoryIndex index.html
3)如果我更改/var的root所有权,我会收到服务器错误
2条答案
按热度按时间q3qa4bjr1#
我用的是CentOS 6和Apache。试试这个变化:
字符串
另外,请验证您是否可以使用
wget
或curl
在本地主机上获取Symfony index.html页面。CentOS可能启用了SELinux甚至iptables。使用
sestatus
查看它是否设置为强制执行-如果是,则需要暂时允许Web或禁用SELinux。xabbuh是正确的。“web”目录是您需要用作Web根目录的文件夹。如果更新我的帖子,以反映所需的更改。
2j4z5cfb2#
根据您的Apache配置,您似乎正在尝试从/var/www/html/project为您的Symfony项目提供服务。但是,按照惯例,Symfony应用程序应该从位于Symfony项目根目录中的公共目录提供服务。尝试从根目录提供服务可能会导致问题,例如403错误。你能确认你的DocumentRoot是设置在Symfony项目的根目录还是公共目录吗?如果将其设置为根目录,则将DocumentRoot更改为公共目录可能会解决您的问题