Сейчас 127 заметки.

Mediawiki настройка загрузки файлов

Материал из ЗАметки
Версия от 21:24, 2 октября 2012; Admin (обсуждение | вклад) (Новая страница: «Начиная с версии 1.1 в MediaWiki загрузка изображений, по-дефолту, отключена. Проверьте требов...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Начиная с версии 1.1 в MediaWiki загрузка изображений, по-дефолту, отключена. Проверьте требования:

Требования

Убедитесь, что загрузка активирована в PHP-конфигурации

Проверьте файл php.ini (обычно, он находится в Linux/etc/php/php.ini, /etc/php4/, /usr/local/lib/php.ini или в WindowsC:\Windows\php.ini на Windows) на наличие таких параметров как:

file_uploads = on

Если этот параметр не активирован - PHP-скрипты не смогут использовать функции загрузки файлов.

Проверьте алиасы Apache

Некоторые конфигурации Apache имеют следующий алиас в httpd.conf:

Alias /images/ /usr/share/images/

В этом случае, выполните одно из следующих действий

  • удалите этот алиас

или

Если у вас нет доступа к httpd.conf и вы не можете проверить наличие алиаса, обратитесь в техподдержку вашего хостинга для получения этой информации.

Проверьте права доступа

Права доступа на каталог загрузки должны быть настроены так, чтобы обычный пользователь не имел возможности загрузить и выполнить другие скрипты, способные навредить вашему сайту.

Включение/отключение загрузки файлов

MediaWiki версии 1.5 и выше

Установите нужное значение параметра $wgEnableUploadsLocalSettings.php) для активации функции загрузки файлов:

$wgEnableUploads = true; # Разрешает загрузку файлов

Чтобы отключить загрузку файлов установите значение параметра в false:

$wgEnableUploads = false; # Запрещает загрузку файлов
MediaWiki версий ниже 1.5

В старых версия MediaWiki параметр включения/отключения загрузки файлов также расположен в LocalSettings.php, но имеет обратное название, т.е $wgDisableUploads со значением по-умолчанию:

$wgDisableUploads = true; # Запретить загрузку файлов

Измените значение для разрешения загрузки:

$wgDisableUploads = false; # Разрешить загрузку файлов

Ограничение загрузки файлов

По-умолчанию, все зарегистрированные пользователи могут загружать файлы. Чтобы ограничить это - измените значение параметра $wgGroupPermissions:

  • Запретить обычным пользователям загружать файлы:
    $wgGroupPermissions['user']['upload'] = false;
  • Разрешить загружать файлы только членам созданной группы «uploadaccess»:
    $wgGroupPermissions['uploadaccess']['upload'] = true;
  • Разрешить «подтверждённым» (не новичкам) пользователям загружать файлы:
    $wgGroupPermissions['autoconfirmed']['upload'] = true;

Право заменять существующие файлы даётся разрешением - reupload:

  • Запретить обычным пользователям заменять существующие файлы:
    $wgGroupPermissions['user']['reupload'] = false;
  • Разрешить «подтверждённым» (не новичкам) пользователям заменять существующие файлы:
    $wgGroupPermissions['autoconfirmed']['reupload'] = true;

Для детальной информации о правах пользователей смотрите Help:User rights и Manual:Preventing access - для получения информации об ограничении доступа.

Настройка типов файлов

Чтобы разрешить загрузку какого-либо типа файлов, добавьте его расширение в $wgFileExtensions. К примеру, параметр $wgFileExtensions может выглядеть так

 $wgFileExtensions = array('swf', 'gif', 'fla', 'jpeg', 'doc', 'pdf');

или

 $wgFileExtensions = array_merge($wgFileExtensions, array('swf', 'gif', 'fla', 'jpeg', 'doc', 'pdf'));

или так

 # Добавление новых типов файлов к уже существующим в DefaultSettings.php
 $wgFileExtensions[] = 'doc';
 $wgFileExtensions[] = 'xls';
 $wgFileExtensions[] = 'pdf';
 $wgFileExtensions[] = 'mpp';

Вы также можете установить

$wgStrictFileExtensions = false;

для разрешения загрузки большинства файлов. Ограничение будет продолжать действовать на некоторые запрещённые типы файлов (см. загрузка файлов - не изображений)..

Если вы получаете ошибку "The file is corrupt or has an incorrect extension", убедитесь что определение MIME типов работает корректно.

Если вы позволили загружать все типы файлов - настройте антивирусную программу на особую проверку каталога загрузки.

Миниатюры

Для получения информации об автоматической генерации миниатюр, смотрите Manual:Image_thumbnailing.

Максимальный размер загружаемого файла

По умолчанию PHP позволяет загружает файлы размером не более 2 мегабайт. Если необходимо загрузить файл большего размера, измените параметр post_max_size в php.ini[1] и upload_max_filesize[2]. Для этого могут потребоваться права администратора - если же ваш сайт находится на стороннем сервере, обратитесь к техподдержке хостинга. Расположение php.ini в разных дистрибутивах различно - попробуйте выполнить find */*/*/php.ini, чтобы выполнить поиск конфигурационного файла.

MediaWiki покажет предупреждение, если вы попытаетесь загрузить файл, размером превышающем установленный лимит в параметре $wgUploadSizeWarning. Это ограничение не зависит от жёсткого лимита PHP.

  • Замечание: после изменения php.ini может потребоваться перезапуск Apache.

Загрузка файлов напрямую с других сайтов

Если вы хотите разрешить пользователям загружать файлы напрямую с других сайтов, вместо копирования файла на локальный компьютер, установите $wgAllowCopyUploads = true (для того, чтобы эта функция сработала, в php необходима поддержка функции curl, в Windows для её включения достаточно раскомментировать extension=php_curl.dll в файле php.ini). На форме загрузки появится дополнительное поле для ссылки, которое активируется после нажатия на соответствующую кнопку (чекбокс).

Чтобы использовать эту возможность, пользователи должны иметь разрешение upload_by_url, установленное, по-умолчанию, только у администраторов. Для обычных пользователей добавьте строку $wgGroupPermissions['user']['upload_by_url'] = true в LocalSettings.php. Заметьте, что это сделает ваш сайт более доступным для загрузки различных ненужных и опасных файлов.

Восстановление изображений

Восстановление изображений стало возможно в MediaWiki 1.8, а, начиная с Mediawiki 1.11, оно активировано по-умолчанию.

В MediaWiki 1.8 восстановление изображений контролируется опцией $wgSaveDeletedFiles с параметрами true и false, соответственно. Начиная с версии 1.11 управление осуществляется параметром $wgFileStore, а удалённые файлы, по-умолчанию, сохраняются в каталоге $wgUploadDirectory/deleted.

См. также

Примечания

Шаблон:Languages