Нерідко при установці в joomla компонентів, плагінів або модулів виникають різні помилки. Спробуємо розглянути деякі, найімовірніші та найкритичніші з них.

Could not create directory
Failed to copy file

Насамперед за таких помилок слід перевірити доступність для запису необхідних директорій у джумлі. Для цього заходимо до адмінки джумли і йдемо сюди: Help->System Info ->Directory Permissions. На цій сторінці у колонці Status всі директорії повинні мати значення Writable(доступно для запису). Якщо для якоїсь директорії стоїть червоним значення Unwritable(недоступно для запису), це слід виправити.

Для цього можна скористатися будь-яким FTP клієнтом (наприклад, FileZilla) і спробувати поставити chmod 777. У FileZilla це можна зробити, клацнувши правою копією миші на потрібну папку, вибрати File Permissions і в полі Numeric values ​​поставити 777. Також можна скористатися файловим менеджером у панелі керування хостингом, якщо провайдер це дозволяє.

Можливий випадок, коли у файлі конфігурації configuration.php стоїть неправильне значення для змінної $tmp_path. Це може статися при перенесенні сайту на інший хостинг. Слід зазначити, що шлях у цій змінній має бути абсолютним (як його дізнатися дивіться наприкінці посту).

Якщо вищезазначене не допомагає (у більшості випадків цього достатньо) можна спробувати увімкнути (вимкнути) FTP у тому самому файлі конфігурації джумли configuration.php. Зробити це можна, задавши правильні значення для наступних змінних:

var $ftp_enable = '1';  //1 – вмикає, 0 – вимикає FTP
var $ftp_host = 'ftp.site.com ';  //Ваш FTP сервер
var $ftp_port = '21'; //FTP порт
var $ftp_user = 'username';  //Ім'я користувача
var $ftp_pass = 'userpass';  //Пароль 
var $ftp_root = 'public_html '; //Шлях до встановленої джумли (той, що ви бачите у FTP клієнта)

За рідкісним випадком причиною виникнення таких помилок є неправильні значення для власника файлів або папок. Ці значення можна переглянути у вашому FTP клієнті. У FileZilla це крайня права колонка, яка називається Owner/Group. Перевірте, якщо власник файлів і папок є Apache, FTP користувач, або PHP користувач.

Цього має бути достатньо для успішного усунення помилок, що виникли.

Як дізнатися абсолютний шлях до файлів на сервері

Абсолютний шлях відрізняється від того, який ми бачимо у клієнті FTP. Його можна дізнатися у хостерів або самостійно зробивши так, як описано далі.

Створіть новий текстовий файл і вставте наступний код:

<?php 
//Get the document root
$doc_root = getenv("DOCUMENT_ROOT");
echo $doc_root; 
?>

Дайте йому розширення php і завантажте FTP на ваш сервер (у папку з джумлою). Потім виконайте цей документ за допомогою браузера. Як результат його виконання ви маєте побачити щось схоже на це:

/usr/home/username/www/htdocs

Це і є абсолютний шлях до вашого сайту.





11 відповідей до “Joomla: Помилки під час встановлення компонентів, плагінів або модулів”

  1. Ольга :

    Добрый день!
    Спасибо Вам за пост! Делаю все, как Вы пишете:
    1. Сделала все папки доступными для записи.
    2. Создала php-файл для проверки абс. пути. Вот что получилось:
    ?/var/www/olga7777/data/www/***.ru
    А в файле configuration.php написано вот что:
    public $tmp_path = ‘/var/www/olga7777/data/www/***.ru/tmp’;
    Это и есть ошибка? Нужно убрать в configuration.php окончание – /tmp?

    • Romul :

      /tmp – это не окончание, это Ваша временная папка в джумле. Похоже, что переменная $tmp_path имеет правильное значение.

  2. Ольга :

    Попробовала ВСЁ! Ничего не помогает!… Модуль не хочет устанавливаться хоть ты тресни:
    JInstaller: :Install: Failed to copy file
    /var/www/olga7777/data/www/***.ru/modules/mod_image_show_gk4/mod_image_show_gk4.php to
    /var/www/olga7777/data/www/***.ru/modules/mod_image_show_gk4/mod_image_show_gk4.php

    • Romul :

      Вы уверены, что все проверили? Проверьте кто владелец файлов.
      Сложно сказать, что еще может быть без непосредственного доступа. Может у Вас дисковое пространство на исходе?

  3. Вячеслав :

    О, заработало! Спасибо!

  4. Sugel :

    Если вы приобрели оптимизированную версию темы для wordpress: Оптимизированные версии шаблонов для WordPress НЕ НУЖДАЮТСЯ в плагинах для оптимизации! В них уже есть встроенная возможность указать title, description и keywords отдельно для каждой записи и страницы (то, что обычно делают плагины для оптимизации). Для этого в записях и на страницах есть специальные SEO-блоки для добавления в них: Заголовка статьи (title), Описания статьи (description) и Ключевых слов (keywords). Если эти блоки не заполнены, то Заголовок статьи (title) и Описание статьи (description) будут выводиться из контента страницы, а Ключевые слова (keywords) – из добавленных к статье меток. На странице настроек темы можно указать общие ключевые слова для сайта, которые будут отображаться в мета-теге keywords на тех страницах, для которых специально не указаны ключевые слова. Как вывести мета-теги: 1. Вам нужно указать Название и Описание сайта в настройках WordPress. 2. На странице настроек темы – Раздел SEO-блок нужно указать общие ключевые слова для сайта. 3. На страницах добавления записей и страниц заполнить SEO-блок. Из всего этого тема сформирует нужные meta-теги. Если вы приобрели обычную версию темы для wordpress: Обычные версии шаблонов частично оптимизированы, поэтому их можно использовать в том виде, как они есть. Но, если вы хотите установить плагин для оптимизации, вам нужно найти в присланном вам архиве папку, которая называется «header.php при использовании плагина для оптимизации», и добавить файл header.php из этой папки в папку с темой.

  5. Роман :

    Спасибо большое, помогло… Права доступа действительно можно проставить на хостинге…

  6. Сергей :

    Большое спасибо, все работает!

  7. Оксана :

    Здравствуйте, у меня владелец configuration.php является Apache, что делать в таком случае?

    • Romul :

      В таком случае, проблему стоит искать в другом месте, так как для некоторых хостингах это нормально.

  8. Merilin :

    Я бы хотел просто сказать спасибо. Никак не мог реанимировать древнего маммонта сделанного еще на джумла 1.5, статья очень сильно помогла.