Задача: поднять сервис DokuWiki для ведения общей документации по рабочим вопросам, т. е. Единое хранение ежедневных отчетов от коллег, нюансов работы того или иного оборудования, особенности поведения специализированного ПО. Раньше я хотел внедрить на рабочем месте приложение Redmine, но оценив все его возможности пришел к выводу что они слишком излишни, мне же нужна только база наработок да и минимизация используемых ресурсов. А тут еще по ходу дела всплыла задумка, а почему-бы не разобрать как все те заметки которые я пишу импортировать в данную Wiki, задумано и сделано. И так начну пожалуй свое повествование. Замечу лишь одно, что все дальнейшие действия выполняются на Ubuntu 12.04.5 Server amd64, так что в Вашем случае на других системах что-то может быть по другому. Я держусь за правило: лучше использовать тот дистрибутив в котором лучше все разбираешься и тот с которым приятно работать, а не специализировать на любом лишь бы нашел статью в интернете и по ней якобы сделал.
1) Сперва поднимаю Dokuwiki по своей заметке
2) потом ставлю плагин odt2dw по заметке: https://www.dokuwiki.org/plugin:odt2dw
3) Как устанавливать плагины в dokuwiki мне придется воспользоваться советами официальной инструкции:
https://www.dokuwiki.org/plugin_installation_instructions
Текущая версия установленного пакета dokuwiki в системе:
ekzorchik@srv-mon:~$ apt-cache show dokuwiki | grep Version
Version: 0.0.20110525a-2
ekzorchik@srv-mon:~$ free -m
total used free shared buffers cached
Mem: 2001 191 1809 0 12 55
-/+ buffers/cache: 123 1877
Swap: 2045 0 2045
, т. е. В памяти занимает сущие копейки ресурсов и это очень хорошо.
Теперь добавляем в DokuWIki плагин:
ekzorchik@srv-mon:~$ sudo apt-get install php-pear php5-xsl -y
http://192.168.1.176/dokuwiki/doku.php — авторизуюсь — (я поменял настройки интерфейса на Русский), Управление — Управление плагинами –
Адрес: копирую вот это URL на скачку: https://github.com/garlik-gag/dokuwiki-plugin-odt2dw/zipball/master и нажимаю «Скачать», но так как у меня не дефолтная установка dokuwiki в систему установщик уведомляет меня:
«Произошла ошибка копирования при попытке установки файлов для плагина odt2dw: переполнение диска или неправильные права доступа. Это могло привести к частичной установке плагина и неустойчивости вашей вики.»
Все установленные в дефолтной конфигурации плагины располагаются по пути:
ekzorchik@srv-mon:~$ ls -l /var/lib/dokuwiki/lib/plugins/
(у них права root, а dokuwiki работает от имени учетной записи www-data), а потому установка будет ручной:
ekzorchik@srv-mon:~$ sudo mkdir -p /var/lib/dokuwiki/lib/plugins/odt2dw
Скачиваю плагин с официального сайта проекта:
ekzorchik@srv-mon:~$ wget https://github.com/garlik-gag/dokuwiki-plugin-odt2dw/archive/master.zip
ekzorchik@srv-mon:~$ unzip master.zip
ekzorchik@srv-mon:~$ sudo mv dokuwiki-plugin-odt2dw-master/* /var/lib/dokuwiki/lib/plugins/odt2dw/
Теперь возвращаюсь к Web-ориентированной оснастке и вижу какие плагины установлены (т. е. Название каталогов в нужной директории с нужными правами), нажимаю напротив плагина odt2dw по кнопке «Данные» и справа отображается некая информация по нему.
Теперь информация о плагину отображается и нет никакого сообщения об ошибке.
Далее пробую загрузить в DokuWiki файлы odt:
Нажимаю «Показать страницу» – Обзор — нахожу на компьютере нужный odt файл, выбираю его и нажимаю «Загрузить», а в ответ ну как всегда ошибка:
odt2dw : er_class_xsltProcessor : Fatal error : Unable to initialize XsltProcessor object
ага у меня не подключен модуль для инициализации этой задачи, исправляю данную оплошность:
ekzorchik@srv-mon:~$ sudo updatedb
ekzorchik@srv-mon:~$ locate xsl.so
/usr/lib/php5/20090626/xsl.so
ekzorchik@srv-mon:~$ sudo nano /etc/php5/apache2/php.ini
extension=/usr/lib/php5/20090626/xsl.so
Перезапускаю Web–сервер Apache2 для принятия изменений:
ekzorchik@srv-mon:~$ sudo service apache2 restart
Теперь снова пробую загрузить файл (подгружал с Ubuntu 12.04.5 Desktop amd64, пакет LibreOffice Версия 5.0.5.2 ID сборки: 1:5.0.5~rc2-0ubuntu1~precise1) и вуаля загрузка проходит успешно:
Загрузка произведена успешно
а вот и загруженный документ:
и даже со вставленными в документ скриншотами (т. е. Их не нужно прописывать отдельно)
Отлично видимо это тот инструмент который мне ой как нужен был. Заметка работоспособна. Далее изучая более подробно работу с DokuWiki определил для себя основные этапы:
Чтобы создать несколько страниц обращаем внимание на URL:
http://192.168.1.176/dokuwiki/doku.php?id=start
— это страница с именем start, чтобы создать другую просто вместо start пишем свое название и либо создаем документ либо закачиваем его.
http://192.168.1.176/dokuwiki/doku.php?id=Ubuntu%20Precise
и закачиваю файл (odt)
Так выглядят страницы:
Чтобы удалить страницу нужно удалить из нее все содержимое и после уже будет можно создать новую страницу:
Чтобы восстановить удаленную страницу:
Нажимаем «Все страницы» – Недавние изменения — нажимаю в строку удаленного документа на пиктограмму указанную стрелочкой (показать отличия от текущей версии)
Опускаюсь в самый низ документа и нажимаю: → Восстановить, данные документ будет восстановлен в то место пространства из которого он был удален Вами (Мною).
Если нужно создать удобно читаемую вложенную структуру, то воспользуемся данным руководством при создании страницы в URL адресе.
http://192.168.1.176/dokuwiki/doku.php?id=test:1
и в реале это будет выглядеть следующим образом (здесь я привожу скриншот)
Все файлы и документы хранятся здесь:
ekzorchik@srv-mon:~$ sudo apt-get install tree -y
ekzorchik@srv-mon:~$ sudo tree /usr/share/dokuwiki/data/ | head -n 20
/usr/share/dokuwiki/data/
├── attic
│ ├── _dummy
│ ├── playground
│ │ ├── playground.1308081534.txt.gz
│ │ └── playground.1459454369.txt.gz
│ ├── start.1459453291.txt.gz
│ ├── start.1459454386.txt.gz
│ ├── test
│ │ ├── 1
│ │ │ ├── a.1459455127.txt.gz
│ │ │ ├── a.1459455257.txt.gz
│ │ │ ├── a.1459455363.txt.gz
│ │ │ ├── a.1459455399.txt.gz
│ │ │ └── a.1459455602.txt.gz
│ │ ├── 1.1459454891.txt.gz
│ │ └── 2.1459455100.txt.gz
│ ├── test.1459455078.txt.gz
│ ├── ubuntu_precise.1459454529.txt.gz
│ ├── ubuntu_trusty.1459454570.txt.gz
А закачанные odt файлы:
ekzorchik@srv-mon:~$ sudo tree /usr/share/dokuwiki/data/media
/usr/share/dokuwiki/data/media
├── start_image_0.png
├── test
│ ├── 1
│ │ ├── a_image_0.png
│ │ ├── a_image_1.png
│ │ ├── a_image_2.png
│ │ ├── a_image_3.png
│ │ ├── a_image_4.png
│ │ ├── a_image_5.png
│ │ ├── a_image_6.png
│ │ └── tips_mikrotik_3g_configure_v1.odt
│ ├── 1_image_0.png
│ ├── 1_image_1.jpg
│ ├── 1_image_2.jpg
│ ├── 1_image_3.jpg
│ ├── tips_dom_umniy_v1.odt
│ └── tips_mikrotik_ssh_authorization_keys_v1.odt
├── tips_gimp_gazeta_rvanie_kraya_v1.odt
├── tips_mikrotik_wifi_cisco_cp_7925_g_v1.odt
├── tips_ubuntu_14_04_asterisk_security_v1.odt
├── tips_ubuntu_14_04_zabbix_nginx_install_v1.odt
├── ubuntu_precise_image_0.png
├── ubuntu_trusty_image_0.png
└── wiki
└── dokuwiki-128.png
3 directories, 22 files
А вот еще что, раз это будет моя Wiki — то мне уже не зачем использовать дефолтные предустановленные шаблоны, удаляю за ненадобностью:
ekzorchik@srv-mon:~$ sudo rm -r /var/lib/dokuwiki/data/pages/playground
ekzorchik@srv-mon:~$ sudo rm -r /var/lib/dokuwiki/data/pages/wiki
Вот теперь заметка полностью работоспособна. Далее уже на основе этого материала я разверну данный сервис у себя в организации где я имею честь работать и использовать свои навыки и профессионализм на благо рабочих моментов. Кто не хочет работать как настоящий системный администратор, а лишь старается недопонять поставленные задачи или просто отсидеть день, это его личные проблемы и ему это ой как аукнется в скором. Системный администратор — это не только специалист по настройке, но и технический писатель в некотором роде по описыванию своих действий. На этом собственно и все с уважением автор блога — ekzorchik.