【问题标题】:Cann't Find <Directory /var/www> in “000-default” File在“000-default”文件中找不到 <Directory /var/www>
【发布时间】:2018-04-01 00:45:37
【问题描述】:

我正在努力将 Laravel 5.3 项目部署到 Ubuntu 16.04 服务器。 我正在关注的教程说应该有

DocumentRoot /var/www
<Directory /var/www>

在“/etc/apache2/sites-enabled/000-default”文件中,我应该将它们编辑为:

DocumentRoot /var/www/project/public
<Directory /var/www/project/public>

我找到了:

DocumentRoot /var/www

但没找到d:

<Directory /var/www> 

我试着把它放在目录标签里面

RewriteEngine On
RewriteBase /var/www/project/public

但在重启 apache 时会导致错误。

我该怎么办??

【问题讨论】:

  • 你没有得到/var/www/html/var/www/public/var/www/?不要覆盖默认值,只需复制到您的站点名称并添加您自己的虚拟主机,然后添加您的新站点配置sudo a2ensite site.com.conf

标签: apache laravel ubuntu-16.04 web-deployment


【解决方案1】:

您需要复制您的 default-000.conf 不被覆盖,并且不从启用的站点但从可用的站点

sudo a2enmod rewrite //active mode rewriting
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysitename.com.conf
sudo nano /etc/apache2/sites-available/mysitename.com.conf

粘贴虚拟主机:

 <Directory /var/www/project/public/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
 </Directory>

在此保存并执行以下操作:

sudo a2ensite mysitename.com.conf
sudo a2dissite 000-default.conf

添加一个 htaccess 到你的根文件夹:

sudo nano /var/www/project/public/.htaccess
sudo chmod 644 /var/www/project/public/.htaccess
sudo chown www-data:www-data -R /var/www    //to be sure you have rights
sudo service apache2 reload //to take the new configuration
sudo service apache2 restart //apply ...

粘贴你重写的指令

RewriteEngine On
RewriteBase /var/www/project/public

【讨论】:

  • 我应该在文件末尾添加目录并将文件顶部已经存在的 DocumentRoot /var/www 更改为 DocumentRoot /var/www/project/public 吗??跨度>
  • @Rowayda Khayri 是的,您可以添加目录,但不要忘记添加与 www 组相同的权限和组属性
  • @Rowayda Khayri 只需添加 2 个重要命令。检查您的 apache 组是否是 www-data 执行 ls -la /var/ 并查看 www wich 组是它并在上面的命令中添加相同的内容。
  • 检查简单有什么问题:cat /var/log/apache2/error.log or a tail -n 15 /var/log/apache2/error.log
  • 我必须在“sudo a2ensite mysitename.com.conf”之后运行“sudo a2dissite 000-default.conf”,然后:“sudo apt-get install libapache2-mod-php”“a2enmod php7.conf”。 0" "sudo a2dismod mpm_event" "sudo a2enmod mpm_prefork" "sudo service apache2 restart" 现在可以工作了。谢谢@headmax
猜你喜欢
  • 2016-04-15
  • 1970-01-01
  • 2015-06-23
  • 2013-07-30
  • 2020-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-11
相关资源
最近更新 更多