====== Обновление ====== Перед обновлением обязательно ознакомьтесь с [[wiki:changes|журналом изменений]]. Чтобы узнать, какую версию вы используете, необходимо открыть HTML-исходник страницы, сгенерированной «Докувики», --- в нём будет строка наподобие ''%%%%''. Самый простой способ для обновления --- выполнить следующие шаги. - **Создайте полную резервную копию** (лучше лишний раз перестраховаться) * cp -a /path/to/wiki/ /path/to/wikibackup - [[http://download.dokuwiki.org/|Загрузите]] и распакуйте новую версию. Дальнейшие инструкции для среды Linux. Для MS Windows и других ОС см. cтатью «[[unpacking|Извлечение „ДокуВики“ из tgz-архива]]». - **Полностью** загрузите dokuwiki tarball в выбранный подкаталог: * cd ~ wget http://.../dokuwiki-xxxx-xx-xx.tgz * Распакуйте ''dokuwiki-xxxx-xx-xx.tgz'':\\ tar -xzvf dokuwiki-xxxx-xx-xx.tgz * После чего скопируйте (загрузите) все файлы в подкаталог со старой версией «ДокуВики», перезаписав все существующие файлы:\\ 'cp' -rf dokuwiki-xxxx-xx-xx/{*,.??*} /path/to/wiki/ * Кавычки нужны для работы команды в том случае, если ''cp'' является алиасом на ''cp -i'' * Шаблон ''.??*'' указывает на необходимость обработки скрытых файлов (например, .htaccess.dist), которые тоже будут скопированы. - **Или** загрузите прямо в свой подкаталог «ДокуВики»: * cd /path/to/wiki/ wget http://.../dokuwiki-xxxx-xx-xx.tgz * Распакуйте его в корневой директории «ДокуВики», перезаписав все существующие файлы:\\ tar -xzvf dokuwiki-xxxx-xx-xx.tgz --strip-components=1 * Удалите загруженный архив:\\ rm dokuwiki-xxxx-xx-xx.tgz - Проверьте [[wiki:changes|журнал изменений]]. - Удалите install.php: rm www/install.php - Удалите старые файлы, которые более не используются. Ниже приведен полный список таких файлов по версиям. - Скорректируйте [[wiki:install:permissions|права доступа]], если это необходимо, включая новые подкаталоги в папке ''data/''. - Сравните свой файл ''.htaccess'' с полученным ''.htaccess.dist'' на предмет возможных изменений. - Обновите плагины (plugins) и шаблоны (template). - Установите кэш в состояние несоответствия путём touching ''conf/local.php'' (типа, пересохраните конфигурацию). - Возможно потребуется обновление индекса. См. [[wiki:cli#indexer.php|утилиты командной строки]]. Описанные действия безопасны, если вы всегда придерживаетесь изменений в локальных версия конфигурационных файлов (типа, ''conf/local.php'' вместо ''conf/dokuwiki.php''). «ДокуВики» не будет переписывать эти файлы. Если вы всегда используете [[wiki:plugin:config|плагин менеджера конфигурации]] --- это безопасный путь для сохранения в local.php. ===== Удалённые файлы ===== Это список файлов, удалённых в соответствующих релизах. После проверки на наличие их в существующей установке и просто удалите их. # удалено в 2011-05-25 conf/words.aspell.dist lib/styles/style.css # удалено в 2010-11-07 inc/lang/ar/subscribermail.txt inc/lang/az/subscribermail.txt inc/lang/bg/subscribermail.txt inc/lang/ca/subscribermail.txt inc/lang/ca-valencia/subscribermail.txt inc/lang/cs/subscribermail.txt inc/lang/da/subscribermail.txt inc/lang/de-informal/subscribermail.txt inc/lang/el/subscribermail.txt inc/lang/eo/subscribermail.txt inc/lang/es/subscribermail.txt inc/lang/et/subscribermail.txt inc/lang/eu/subscribermail.txt inc/lang/fa/subscribermail.txt inc/lang/fi/subscribermail.txt inc/lang/fo/subscribermail.txt inc/lang/fr/subscribermail.txt inc/lang/gl/subscribermail.txt inc/lang/he/subscribermail.txt inc/lang/hr/subscribermail.txt inc/lang/hu/subscribermail.txt inc/lang/id/subscribermail.txt inc/lang/is/subscribermail.txt inc/lang/it/subscribermail.txt inc/lang/ja/subscribermail.txt inc/lang/ko/subscribermail.txt inc/lang/ku/subscribermail.txt inc/lang/lt/subscribermail.txt inc/lang/lv/subscribermail.txt inc/lang/mr/subscribermail.txt inc/lang/ne/subscribermail.txt inc/lang/nl/subscribermail.txt inc/lang/no/subscribermail.txt inc/lang/pl/subscribermail.txt inc/lang/pt-br/subscribermail.txt inc/lang/pt/subscribermail.txt inc/lang/ro/subscribermail.txt inc/lang/ru/subscribermail.txt inc/lang/sk/subscribermail.txt inc/lang/sr/subscribermail.txt inc/lang/sv/subscribermail.txt inc/lang/th/subscribermail.txt inc/lang/tr/subscribermail.txt inc/lang/uk/subscribermail.txt inc/lang/zh/subscribermail.txt inc/lang/zh-tw/subscribermail.txt # удалено в rc2010-10-07 conf/msg inc/lang/bg/wordblock.txt inc/lang/ca-valencia/wordblock.txt inc/lang/ca/wordblock.txt inc/lang/cs/wordblock.txt inc/lang/da/wordblock.txt inc/lang/de-informal/wordblock.txt inc/lang/de/subscribermail.txt inc/lang/de/wordblock.txt inc/lang/el/wordblock.txt inc/lang/en/subscribermail.txt inc/lang/en/wordblock.txt inc/lang/eo/wordblock.txt inc/lang/es/wordblock.txt inc/lang/et/wordblock.txt inc/lang/eu/wordblock.txt inc/lang/fa/wordblock.txt inc/lang/fi/wordblock.txt inc/lang/fo/wordblock.txt inc/lang/fr/wordblock.txt inc/lang/he/wordblock.txt inc/lang/hr/wordblock.txt inc/lang/hu/wordblock.txt inc/lang/id/wordblock.txt inc/lang/it/wordblock.txt inc/lang/ja/wordblock.txt inc/lang/ko/wordblock.txt inc/lang/ku/wordblock.txt inc/lang/lt/wordblock.txt inc/lang/lv/wordblock.txt inc/lang/mg/wordblock.txt inc/lang/mr/wordblock.txt inc/lang/nl/wordblock.txt inc/lang/no/wordblock.txt inc/lang/pl/wordblock.txt inc/lang/pt-br/wordblock.txt inc/lang/pt/wordblock.txt inc/lang/ro/wordblock.txt inc/lang/sk/wordblock.txt inc/lang/sl/wordblock.txt inc/lang/sr/wordblock.txt inc/lang/sv/wordblock.txt inc/lang/th/wordblock.txt inc/lang/tr/wordblock.txt inc/lang/uk/wordblock.txt inc/lang/vi/wordblock.txt inc/lang/zh-tw/wordblock.txt inc/lang/zh/wordblock.txt lib/scripts/pngbehavior.htc # удалено в rc2009-12-02 inc/lang/ar/wordblock.txt inc/lang/ca-va/ lib/plugins/acl/lang/ca-va/ lib/plugins/config/lang/ca-va/ lib/plugins/plugin/lang/ca-va/ lib/plugins/popularity/lang/ca-va/ lib/plugins/revert/lang/ca-va/ lib/plugins/usermanager/lang/ca-va/ # удалено в rc2009-01-30 lib/plugins/upgradeplugindirectory lib/plugins/upgradeplugindirectory/action.php # удалено в rc2009-01-26 inc/auth/punbb.class.php inc/lang/ko/edit.txt_bak inc/lang/ko/lang.php_bak inc/lang/ku/admin_acl.txt inc/lang/mg/admin_acl.txt lib/plugins/importoldchangelog lib/plugins/importoldchangelog/action.php lib/plugins/importoldindex lib/plugins/importoldindex/action.php lib/plugins/usermanager/images/no_user_edit.png lib/plugins/usermanager/images/user_edit.png lib/tpl/default/UWEB.css # удалено в rc2008-03-31 inc/aspell.php inc/geshi/css-gen.cfg inc/lang/fr/admin_acl.txt lib/exe/spellcheck.php lib/images/toolbar/spellcheck.png lib/images/toolbar/spellnoerr.png lib/images/toolbar/spellstop.png lib/images/toolbar/spellwait.gif lib/plugins/acl/lang/ar/intro.txt lib/plugins/acl/lang/bg/intro.txt lib/plugins/acl/lang/ca/intro.txt lib/plugins/acl/lang/cs/intro.txt lib/plugins/acl/lang/da/intro.txt lib/plugins/acl/lang/de/intro.txt lib/plugins/acl/lang/el/intro.txt lib/plugins/acl/lang/en/intro.txt lib/plugins/acl/lang/es/intro.txt lib/plugins/acl/lang/et/intro.txt lib/plugins/acl/lang/eu/intro.txt lib/plugins/acl/lang/fi/intro.txt lib/plugins/acl/lang/fr/intro.txt lib/plugins/acl/lang/gl/intro.txt lib/plugins/acl/lang/he/intro.txt lib/plugins/acl/lang/id/intro.txt lib/plugins/acl/lang/it/intro.txt lib/plugins/acl/lang/ja/intro.txt lib/plugins/acl/lang/ko/intro.txt lib/plugins/acl/lang/lt/intro.txt lib/plugins/acl/lang/lv/intro.txt lib/plugins/acl/lang/nl/intro.txt lib/plugins/acl/lang/no/intro.txt lib/plugins/acl/lang/pl/intro.txt lib/plugins/acl/lang/pt/intro.txt lib/plugins/acl/lang/ru/intro.txt lib/plugins/acl/lang/sk/intro.txt lib/plugins/acl/lang/sr/intro.txt lib/plugins/acl/lang/sv/intro.txt lib/plugins/acl/lang/tr/intro.txt lib/plugins/acl/lang/uk/intro.txt lib/plugins/acl/lang/vi/intro.txt lib/plugins/acl/lang/zh/intro.txt lib/plugins/acl/lang/zh-tw/intro.txt lib/scripts/spellcheck.js lib/styles/spellcheck.css # удалено в 2007-06-26 inc/parser/wiki.php lib/images/interwiki/bug.gif lib/plugins/base.php lib/plugins/plugin/inc lib/plugins/plugin/inc/tarlib.class.php lib/plugins/plugin/inc/zip.lib.php lib/scripts/domLib.js lib/scripts/domTT.js # удалено в 2006-11-06 inc/admin_acl.php inc/lang/lt/stopwords.txt inc/magpie inc/magpie/rss_cache.inc inc/magpie/rss_fetch.inc inc/magpie/rss_parse.inc inc/magpie/rss_utils.inc lib/exe/media.php lib/tpl/default/mediaedit.php lib/tpl/default/media.php lib/tpl/default/mediaref.php # удалено в 2006-03-09 data/pages/wiki/playground.txt inc/auth/ldap.php inc/auth/mysql.php inc/auth/pgsql.php inc/auth/plain.php inc/lang/ca/admin_acl.txt inc/lang/cs/admin_acl.txt inc/lang/da/admin_acl.txt inc/lang/de/admin_acl.txt inc/lang/en/admin_acl.txt inc/lang/et/admin_acl.txt inc/lang/eu/admin_acl.txt inc/lang/fr/admin_acl.txt inc/lang/it/admin_acl.txt inc/lang/ja/admin_acl.txt inc/lang/lt/admin_acl.txt inc/lang/lv/admin_acl.txt inc/lang/nl/admin_acl.txt inc/lang/no/admin_acl.txt inc/lang/pl/admin_acl.txt inc/lang/pt/admin_acl.txt inc/lang/vi/admin_acl.txt inc/lang/zh-tw/admin_acl.txt inc/parser/spamcheck.php lib/images/favicon.ico lib/images/thumbup.gif lib/images/toolbar/code.png lib/images/toolbar/empty.png lib/images/toolbar/extlink.png lib/images/toolbar/fonth1.png lib/images/toolbar/fonth2.png lib/images/toolbar/fonth3.png lib/images/toolbar/fonth4.png lib/images/toolbar/fonth5.png lib/images/toolbar/list.png lib/images/toolbar/list_ul.png lib/images/toolbar/rule.png lib/tpl/default/images/interwiki.png Люди, имеющие shell-доступ к серверу, могут просто скопировать текст выше и вставить в файл на сервере, после чего выполнить следующие команды для проверки и удаления всех этих файлов. Будут удалены лишние файлы. Я исполью имя файла ''/tmp/removeold.txt'' для хранения списка файлов, загруженных с этого сайта. grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -f Если вы «параноик», замените "rm -f" на "ls -la", чтобы увидеть удалённые файлы. Для удаленния каталогов и файлов используйте: grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fd Однако некоторые системы могут не поддерживать опцию "rm -d" для удаления подкаталогов. В этом случае вы должны использовать рекурсивное удаление (обязательно проверьте, что будет удаляться, чтобы избежать удаления лишней информации): grep -Ev "^($|#)" /tmp/removeold.txt | xargs -n 1 rm -fr Ниже приведен скрипт «Питона», который оптимизирует весь этот процесс: import os file = open("/tmp/removeold.txt") for line in file: #os.remove(line) if not line.isspace() : if not line[0:1] =='#' : line = line.rstrip(os.linesep) try: print(line) os.remove(line) except OSError, err: pass ===== Решение проблем ===== Если встретились некоторые несовместимости в «[[wiki:dokuwiki|ДокуВики]]» после обновления, удалите кэш-файлы в папке ''data/cache/''. Вам может также потребоваться обновление кэша браузера --- Shift + F5 или Ctrl + Shift + R в большинстве браузеров. Соответствующие страницы: * [[wiki:config:updatecheck]] --- информация о наличии новых версий; * [[wiki:faq:toolbar]] ([[https://www.dokuwiki.org/faq:toolbar|англ.]]) --- быстрые кнопки и JavaScript-проблемы; * [[wiki:faq:searchindex]] ([[https://www.dokuwiki.org/faq:searchindex|англ.]]) --- если поиск не дает результата. ===== Альтернативные пути ===== Тут приводится несколько альтернативных путей обновления, представленных пользователями. Которые, правда, могут быть слегка устаревшими. * [[diffupgrade|Обновление путём создания diff-файла]].https://www.dokuwiki.org/install:diffupgrade * [[http://apscatalog.com/1/splitbrain.org/dokuwiki/|Обновления, используя APS]] --- кто-нибудь это пробовал? * Обновление при использовании [[wiki:install:downloader|загрузчика «ДокуВики»]]: * загрузите {{http://github.com/splitbrain/dokuwiki-downloader/raw/master/dokuwiki-downloader.php|скрипт-загрузчик}} в корневую директорию «ДокуВики»; * удалите файл ''doku.php''; * убедитесь, что все файлы доступны для записи веб-серверу; * запустите загрузчик как обычно (из адресной строки браузера); * пропустите шаг установки и удалите ''install.php'' (Даже если продолжить как установку, вы увидите предупреждение об обнаружении уже установленной «Докувики»); * всё!