如何赋予apache2写入和读取文件的权限?

如何赋予apache2写入和读取文件的权限?

当我在 Ubuntu 12.04 中安装 Wordpress 时,我发现 Wordpress 本身没有写入 wp.config 文件。

他告诉我将其复制到 wp.config 文件中。看起来 wordpress 无法写入文件。

现在,当我尝试安装该插件时,它无法写入插件,因此它会告诉我 FTP 详细信息。

这是我的计算机,不是服务器,所以我想授予 apache2 完全权限来执行任何类型的操作。

现在有人请帮我如何设置 apache 的权限。我已经检查过了,但我的 12.04 安装中没有名为“apache”的组。

帮助

答案1

使用以下命令:

chown -R www 数据:www 数据 /var/www

这将使您的所有 htdocs 可被 Apache2 写入。

答案2

接受的答案只会将其应用于当前文件。但是,我希望我的 PHP 脚本能够写入/编辑 /var/www/html 上的文件

为了实现这一点,每个新文件都应默认赋予 www-data 组。(即使是由 root、cron 或 sudo 用户创建的文件)并且我们需要对 /var/www/html 中的所有文件进行组写入

另外,我希望 /var/www 可由 PHP 写入,但对其他人不可见。(以保留 error_logs 等)

有些人可能会说这可能不安全,但所有 PHP 文件都是我的脚本。我希望他们能够创建新文件、在现有文件中添加数据甚至删除它们。所以我需要这个设置。

具体操作如下:

# Assign Recursive WWW User & Group: (logs + html)
    sudo chgrp www-data /var/www
    sudo chmod 770 /var/www
    sudo chmod 775 /var/www/html
    sudo chmod g+s /var/www
    sudo chmod g+s /var/www/html
    sudo chown -R <a_sudo_user>:www-data /var/www

# Apply File And Folder Defaults:
See more: https://unix.stackexchange.com/questions/1314/how-to-set-default-file-permissions-for-all-folders-files-in-a-directory
    # -d: default, -m: modify, g:: apply to group permissions, o:: other permissions, -R: apply recursively
    # set group to rwx default:
        setfacl -d -m g::rwx /var/www
        setfacl -d -m g::rwx /var/www/html

# Reboot Server Anyway:
    sudo reboot

# Check Permissions
    getfacl /var/www
    getfacl /var/www/html
    getfacl /var/www/test.txt
    getfacl /var/www/html/test.txt

    OR USE: FTP FileZilla GUI

相关内容