【问题标题】:Configuration issue with apache over ftpapache over ftp的配置问题
【发布时间】:2014-04-20 02:45:15
【问题描述】:

我有两个文件夹可以存储我的网站(CentOS VPS):

  1. /var/www/html/index.html
  2. /home/admin/public_html/index.html

我可以将我的 Web 应用程序存储在第一个路径中,但我没有对该文件夹的 FTP 访问权限。使用从服务提供商处收到的admin 帐户访问我的 FTP 时,我根本看不到它。

或者我可以使用/home/admin/public_html。为此,我尝试:

  • 更改httpd.conf文件中的根目录;
  • restart apache;

但这完全行不通!!

它继续将我重定向到Apache is functioning normally 消息(来自/var/www/html/ 路径。为什么会这样?

即使没有直接的解决方案,请帮助我找到解决此问题的方向,以便我可以继续我的实际工作。

在工作中,我使用Putty 通过SSH 连接,在家里我使用Mac OSX 终端访问VPS

编辑

我打电话给我的服务提供商,他提到最好保留默认文件夹(即var/www/html)。

为了从客户端访问文件:

  1. 我从public_html 文件夹创建了一个指向/var/www 的链接;
  2. 递归授予www文件夹的权限;
  3. 通过 SFTP 而不是 FTP 连接以访问文件夹(普通 FTP 不会显示文件夹)。

这似乎工作得很好。

【问题讨论】:

  • 你运行的是哪个 apache 版本?
  • httpd -v 返回服务器版本:Apache/2.4.7 (Unix) 谢谢
  • 有时根据设置根目录通过 /etc/apache/sites-avalible/your.site 中的配置文件进行更改。你检查了吗?
  • 您的权限也可能有问题。从 /home/admin/public_html/ 运行“ls -lia”会返回什么?

标签: php linux apache ftp


【解决方案1】:

我怀疑 Apache 没有访问 /home/admin/public_html 的权限。您至少需要将 /home/admin 和 /home/admin/public_html 的组读取权限授予 apache 进程运行的任何组。通常是 apache、httpd 或 www 组——检查你的 /etc/passwd 文件)。

如果是 'apache' 组:

chown :apache /home/admin/admin;
chmod g-w   /home/admin/admin;
chown -R :apache  /home/admin/public_html

如果apache必须写这个目录

chown -R g+w  /home/admin/public_html

然后在 /home/admin/public_html 下的任何目录(仅目录)上设置组粘性位(SGID 位)。这将确保在其中创建的任何文件都将具有与目录相同的组所有权。这是你的做法

find /home/admin/public_html -type d -print | while read i; do SAVEIFS=$IFS; IFS=$(echo -en "\n\b");chmod g+s $i; IFS=$SAVEIFS; done

【讨论】:

  • 感谢您的建议,今晚我将尝试分析!还是有点奇怪,为什么它仍然从“/var/www/html/index.html”获取文件而不是错误消息,因为 httpd.conf 文件已经被改编(根目录)。
  • 不幸的是,它不起作用。即使我现在可以访问,Apache 仍然会从错误的路径显示 index.html。我不知道为什么,这让我发疯了!
【解决方案2】:

如果其他人遇到此问题,请查看 /etc/apache2/sites-enabled 这是 Apache 保留所有虚拟主机的地方(这用于在单个 IP 地址上托管多个网站。)如果您在此处看到 000-default 文件,则通常将其映射为默认条目或您获得的站点输入服务器 IP 地址,通常指向 /var/www。

PS 看看http://www.virtualmin.com/ 它是一个开源的 cpanel 替代方案,它将为您提供一个易于使用的基于 Web 的 GUI,用于常见的 Web 服务器相关任务,包括安全、邮件、数据库和防病毒。

【讨论】:

  • 那是我没有得到的东西。你怎么能把它改成另一条路?我真的希望调整 httpd.config 文件并重新启动 Apache 就可以完成这项工作。
  • @KimGysen 你有一个名为 /etc/apache2/sites-enabled/000-default.conf 的文件吗?您可以在那里更改路径。
  • 我没有这个文件夹,也找不到这个文件。我觉得很奇怪。但是,我的问题通过使用默认文件夹并通过 SFTP 连接得到了解决。我也不确定为什么我对这个问题投了反对票。
【解决方案3】:

可能与selinux有关吗?在你的 apache 日志中查找 permission denied 并查看 selinux 日志——我记得在 centos 上的 /var/log/secure

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 2010-11-13
    相关资源
    最近更新 更多