А можно ли развернуть сервис DokuWiki на Raspberry Pi 3 Model B и что из этого выйдет.

Вот сейчас и посмотрим, в качестве Web-сервиса выступит Apache2, развернуть с использованием lighttpd у меня как-то не сложилось, ну не нравиться мне описание конфигурационного файла, да и порог вхождения что-то уж затянулся.

pi@raspberrypi:~ $ sudo apt-get install apache2 libapache2-mod-php5 -y

pi@raspberrypi:~ $ sudo a2enmod rewrite

pi@raspberrypi:~ $ cd /var/www

pi@raspberrypi:/var/www $ sudo wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

pi@raspberrypi:/var/www $ sudo tar xf dokuwiki-stable.tgz

pi@raspberrypi:/var/www $ sudo mv dokuwiki-*/ dokuwiki

pi@raspberrypi:/var/www $ cd ~/

pi@raspberrypi:~ $ sudo nano /etc/apache2/sites-enabled/000-default.conf

DocumentRoot /var/www/dokuwiki

pi@raspberrypi:~ $ sudo nano /etc/apache2/apache2.conf

ServerName pi

через «найти и заменить» изменяю AllowOverride None на AllowOverride Yes

Всего совпадений: Replaced 4 occurrences

pi@raspberrypi:~ $ sudo chown -R www-data:www-data /var/www/dokuwiki

pi@raspberrypi:~ $ sudo service apache2 restart

, но вот беда — сервис то не запускается, см. логи и наблюдаю ошибки отсутствия заголовка в исполняемом файле:

Mar 26 18:15:14 raspberrypi systemd[1]: Failed to start LSB: Apache2 web server.

Mar 26 18:15:14 raspberrypi systemd[1]: Unit apache2.service entered failed state.

, странно, а заголовок, то есть:

pi@raspberrypi:~ $ sudo nano /etc/init.d/apache2

#!/bin/sh

### BEGIN INIT INFO

# Provides: apache2

# Required-Start: $local_fs $remote_fs $network $syslog $named

# Required-Stop: $local_fs $remote_fs $network $syslog $named

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# X-Interactive: true

# Short-Description: Apache2 web server

# Description: Start the web server and associated helpers

# This script will start apache2, and possibly all associated instances.

# Moreover, it will set-up temporary directories and helper tools such as

# htcacheclean when required by the configuration.

### END INIT INFO

Проверяю конфигурационные файлы на ошибки:

pi@raspberrypi:~ $ sudo apache2ctl configtest

AH00526: Syntax error on line 155 of /etc/apache2/apache2.conf:

Illegal override option Yes

Action 'configtest' failed.

The Apache error log may have more information.

pi@raspberrypi:~ $ sudo nano +155 /etc/apache2/apache2.conf

AllowOverride Yes

А почему не нравится данная строка?

Ладно тогда изменяю на как было с AllowOverride Yes на AllowOverride None

После снова проверяю на ошибки конфигурационный файл:

pi@raspberrypi:~ $ sudo apache2ctl configtest

Syntax OK

Не понятно, ведь все то же самое, но под Ubuntu Trusty у меня лично работает. Видимо это какая-то особенности Debian дистрибутива в основе которого лежит ось Raspbian, пока спишу на это.

pi@raspberrypi:~ $ sudo service apache2 restart

pi@raspberrypi:~ $ sudo netstat -tulpn | grep :80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12648/apache2

Теперь запускаю браузер и в строке адреса указываю URL доступа на мой миникомпьютер Raspberry Pi 3 Model B+: http://IP&DNS/install.php

Настраиваю:

Choose your language: вместо en выбираю ru

Название вики: tips_db_home

Разрешить ограничение прав доступа (рекомендуется): отмечаю галочкой

Суперпользователь: ekzorchik

Полное имя: ekzorchik

Эл. адрес: support@ekzorchik.ru

Пароль: 712mbddr@

повторите: 712mbddr@

Исходная политика прав доступа: Закрытая вики (чтение, запись и загрузка файлов только для зарегистрированных)

Тип лицензии: не отображать информацию о лицензии

Отправлять раз в месяц анонимную пользовательскую информацию разработчикам «Докувики»: снимаю галочку

и нажимаю «Сохранить».

После вижу надпись:

Конфигурация прошла успешно. Теперь вы можете удалить файл install.php. Переходите к http://192.168.1.124/doku.php?id=wiki:welcome, нажимаю на ссылку и передо мной окно авторизации в Wiki системе:

Окно авторизации в DokuWiki где развернутый сервис развернут на Raspberry Pi 3 Model B+

Отлично я справился с шагами по разворачиванию DokuWiki на миникомпьютере, получается что для такого миникомпьютера это не столь большая нагрузка и он справится с поставленной для него задачей ведения общей базы наработок и нетребовательностью к ресурсам, как если бы я развернул сервис DokuWiki на отдельной системе. Хотя, как сказать, если дома имеется возможность использовать виртуализацию, то я бы предпочел ее чем миникомпьютер.

Но установка еще не завершена, остались шаги по удалению больше не нужных файлов настройки и дефолтных файлов самого сервиса dokuwiki:

pi@raspberrypi:~ $ sudo rm /var/www/dokuwiki/install.php

pi@raspberrypi:~ $ sudo rm -r /var/www/dokuwiki/data/pages/playground/

pi@raspberrypi:~ $ sudo rm -r /var/www/dokuwiki/data/pages/wiki/

Далее мне очень понравилась возможность заливать в DokuWiki свои наработки оформленные в пакете LibreOffice Writer через плагин odt2dw который я использую на работе в также развернутой DokuWiki, так почему бы его и не задействовать еще и здесь — дома.

pi@raspberrypi:~ $ wget https://github.com/garlik-gag/dokuwiki-plugin-odt2dw/archive/master.zip

pi@raspberrypi:~ $ unzip master.zip

pi@raspberrypi:~ $ sudo mkdir /var/www/dokuwiki/lib/plugins/odt2dw

pi@raspberrypi:~ $ sudo mv dokuwiki-plugin-odt2dw-master/* /var/www/dokuwiki/lib/plugins/odt2dw/

pi@raspberrypi:~ $ sudo apt-get install php-pear php5-xsl -y

pi@raspberrypi:~ $ sudo nano /etc/php5/apache2/php.ini

extension = /usr/lib/php5/20131226/xsl.so

pi@raspberrypi:~ $ sudo chown -R www-data:www-data /var/www/dokuwiki

pi@raspberrypi:~ $ sudo service apache2 restart

После переключаюсь на Web-интерфейс DokuWiki и активирую плагин:

http://IP&DNS — user&pass — Управление — Управление дополнениями

Установленные плагины — нахожу плагин «odt2dw plugin» и смотрю его статус:

Смотрю статус установки плагина odt2dw

Как видно ошибок нет, и он уже активирован.

Далее создаю необходимую структуру где будут располагаться файлы моих наработок, в строке адреса ввожу: 192.168.1.124/doku.php?id=Raspberry:Dokuwiki Install и нажимаю Enter, после чего через «Обзор» выбираю odt файл данной заметки которую я писал в пакете LibreOffice Writer и нажимаю «Загрузить».

Импортирую odt документ в DokuWikiИ все как и было задумано, заметка загружена в сервис DokuWiki через импорт odt файла:

Odt документ успешно импортирован

Отлично. Вот что значит написанная заметка для Ubuntu Trusty и некоторые дополнения/отличия применимые к Raspberry чтобы развернуть сервис Wiki на миникомпьютере.

А вот и структура файлов в моей Wiki, в частности первая домашняя заметка в пространстве имен:

Так выглядит структура в DokuWikiА если посмотреть недавние изменения в Wiki то видно, что документ был загружен с применением импорта из odt файла:

История того, как документы были загружены в DokuWiki, видно что с применением импорта odt файлаИтого, что я имею на текущий момент, это развернутый сервис по организации хранения заметок в Wiki где каждый раздел сохраняется в файле, не в базе, удобство или неудобство такого способа хранения заметок уже каждый решается сам. Для меня удобство, то что бекапировать нужно один единственный каталог: /var/www/dokuwiki, разворачивать из бекапа тоже удобно, к ресурсам не требователен сервис раз он работает даже на миникомпьютере таком, как Raspberry Pi 3 Model B+. Если заметок станет настолько много, то подключив внешний жесткий диск или персональное облако на базе owncloud я решу проблему с местом. А раз все у меня работает, то можно сказать до свидания, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru