【问题标题】:apache permissions errorapache权限错误
【发布时间】:2010-10-30 12:13:28
【问题描述】:

我有一个带有 Passenger Phusion 的 Ubuntu Hardy 切片,它提供了一个 rails 应用程序。 我也在使用带有thinking_sphinx插件的sphinx全文搜索

我可以从终端运行这个命令:

sudo rake ts:index RAILS_ENV=production

但如果此命令在 capistrano 部署文件中:

运行 "cd #{current_path}; rake thinking_sphinx:index RAILS_ENV=production"

产生以下错误:

  • 执行“部署:after_update”
    • 正在执行 `thinking_sphinx:index'
    • 执行“cd /home/kollar/apps/kinfonet/current; rake thinking_sphinx:index RAILS_ENV=production” 服务器:[“173.45.226.102”] [173.45.226.102] 执行命令 * [err :: 173.45.226.102] 耙子中止! * [err :: 173.45.226.102] 权限被拒绝 - /home/kollar/apps/kinfonet/shared/db/sphinx

假设这是 apache 的权限问题,我关注了有关 slicehost 文档的文章并做了以下操作:

sudo chgrp -R www-data /home/kollar/apps/kinfonet/current

sudo chmod -R 2750 /home/kollar/apps/kinfonet/current

sudo chmod -R 2770 /home/kollar/apps/kinfonet/current/log

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/db

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/db/sphinx

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/pids

错误仍然存​​在,现在该网站的访问者无法访问他们位于 /home/kollar/apps/kinfonet/shared/system/avatars 中的个人资料图片

如果我在浏览器上调用图像的路径,则会出现 apache/passenger 禁止错误: 您无权访问此服务器上的 /system/avatars/48/thumb_BR.jpg

有人可以帮助修复权限 - 即撤消我对 www-data 所做的一切并告诉我如何设置适当的权限吗?

【问题讨论】:

  • 您需要提供更多信息。哪个用户在远程服务器上运行部署命令?当您运行与该用户相同的 rake 任务 没有 sudo 时会发生什么?还提供来自 Sphinx 数据目录的 ls -l 输出。

标签: ruby-on-rails apache permissions passenger


【解决方案1】:

如果您仍然看到 403 Forbidden 错误,那么您需要告诉 Apache 可以按照该符号链接从您的 app/current/systemapp/shared/system。确保你的虚拟主机定义中有这个:

Options FollowSymLinks

【讨论】:

    【解决方案2】:

    感谢您的帮助。

    1. "哪个用户在远程服务器上运行部署命令?" -- 用户是 kollar

    2. 当您运行与该用户相同的 rake 任务而没有 sudo 时会发生什么?

    让这个工作。在 shared/db 上运行 ls-l 并看到它被设置为 root 作为用户和 root 作为组。将两者都更改为我的用户“kollar”,现在 rake 可以从 cap deploy.rb 文件运行而无需 sudo。

    我最大的问题仍然是 apache 在尝试访问存储用户上传图像的共享/系统文件夹时返回了 Forbidden 403 权限错误:

    您无权访问此服务器上的 /system/avatars/51/thumb_DSC00010.JPG。 Apache/2.2.8 (Ubuntu) Phusion_Passenger/2.2.2 服务器端口 80

    有一个从 /home/path/to/app/current/system 到 /home/path/to/app/shared/system 的符号链接

    在共享/系统上运行 ls -l 会产生: drwxrws--- 7 kollar kollar 4096 Jun 2 06:47 头像

    我尝试在此文件夹中添加 www-data 作为组,但这似乎并不能解决问题。对此的任何帮助将不胜感激。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2019-04-16
      • 1970-01-01
      • 2014-11-13
      • 2018-06-14
      相关资源
      最近更新 更多