Ошибка Permission denied говорит о том, что веб-сервер (чаще всего это пользователь www-data
или apache
, в зависимости от вашей настройки) не может записывать или создавать файлы в директории /var/www/html
. Ничего страшного! Для решения этой проблемы можно выполнить несколько простых шагов:
Чтобы веб-сервер снова обрел нужные права, нам нужно убедиться, что у него есть доступ к директориям, где CMS сохраняет данные.
# Перейдите в корневую директорию сайта
cd /var/www/html
# Установите права для всех директорий, чтобы веб-сервер мог записывать в них файлы
sudo find . -type d -exec chmod 755 {} \;
# Установите права для всех файлов, чтобы веб-сервер мог их читать и записывать
sudo find . -type f -exec chmod 644 {} \;
# Назначьте владельцем всех файлов и директорий пользователя веб-сервера (например, www-data)
sudo chown -R www-data:www-data .
Эти команды сделают все файлы доступными для чтения и записи веб-сервером, а также откроют доступ для записи в нужные директории. Так мы облегчим серверу его нелёгкую задачу!
После изменения прав возможно потребуется перезапустить веб-сервер, чтобы он "забыл" о старых настройках и подружился с новыми.
sudo systemctl restart apache2 # Если используете Apache
sudo systemctl restart nginx # Если используете Nginx
Если ошибка осталась, не сдавайтесь! Возможно, SELinux или AppArmor (если они включены) также блокируют доступ к файлам. Для быстрой проверки можно временно отключить SELinux:
# Для временного отключения SELinux (только для тестирования)
sudo setenforce 0
Пробуйте, тестируйте и возвращайтесь сюда за новыми инструкциями, если возникнут сложности!