Это старая версия документа!
Обновление
Перед обновлением обязательно ознакомьтесь с журналом изменений.
Чтобы узнать, какую версию вы используете, необходимо открыть HTML-исходник страницы, сгенерированной «Докувики», — в нём будет строка наподобие <meta name="generator" content="DokuWiki 2005-02-06" />
.
Самый простой способ для обновления — выполнить следующие шаги.
- Создайте полную резервную копию (лучше лишний раз перестраховаться)
cp -a /path/to/wiki/ /path/to/wikibackup
- Загрузите и распакуйте новую версию. Дальнейшие инструкции для среды Linux. Для MS Windows и других ОС см. cтатью «Извлечение „ДокуВики“ из 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
- Проверьте журнал изменений.
- Удалите install.php: rm www/install.php
- Удалите старые файлы, которые более не используются. Ниже приведен полный список таких файлов по версиям.
- Скорректируйте права доступа, если это необходимо, включая новые подкаталоги в папке
data/
. - Сравните свой файл
.htaccess
с полученным.htaccess.dist
на предмет возможных изменений. - Обновите плагины (plugins) и шаблоны (template).
- Установите кэш в состояние несоответствия путём touching
conf/local.php
(типа, пересохраните конфигурацию). - Возможно потребуется обновление индекса. См. утилиты командной строки.
Описанные действия безопасны, если вы всегда придерживаетесь изменений в локальных версия конфигурационных файлов (типа, conf/local.php
вместо conf/dokuwiki.php
). «ДокуВики» не будет переписывать эти файлы. Если вы всегда используете плагин менеджера конфигурации — это безопасный путь для сохранения в local.php.
Удалённые файлы
Это список файлов, удалённых в соответствующих релизах. После проверки на наличие их в существующей установке и просто удалите их.
- removeold.txt
# удалено в 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
Решение проблем
Если встретились некоторые несовместимости в «ДокуВики» после обновления, удалите кэш-файлы в папке data/cache/
. Вам может также потребоваться обновление кэша браузера — Shift + F5 или Ctrl + Shift + R в большинстве браузеров.
Соответствующие страницы:
- Настройки: updatecheck — информация о наличии новых версий;
- Нет панели инструментов (англ.) — быстрые кнопки и JavaScript-проблемы;
- Проблемы с индексом поиска (англ.) — если поиск не дает результата.
Альтернативные пути
Тут приводится несколько альтернативных путей обновления, представленных пользователями. Которые, правда, могут быть слегка устаревшими.
- Обновления, используя APS — кто-нибудь это пробовал?
- Обновление при использовании загрузчика «ДокуВики»:
- загрузите скрипт-загрузчик в корневую директорию «ДокуВики»;
- удалите файл
doku.php
; - убедитесь, что все файлы доступны для записи веб-серверу;
- запустите загрузчик как обычно (из адресной строки браузера);
- пропустите шаг установки и удалите
install.php
(Даже если продолжить как установку, вы увидите предупреждение об обнаружении уже установленной «Докувики»); - всё!