А можно ли развернуть сервис 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 на миникомпьютере, получается что для такого миникомпьютера это не столь большая нагрузка и он справится с поставленной для него задачей ведения общей базы наработок и нетребовательностью к ресурсам, как если бы я развернул сервис 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» и смотрю его статус:
Как видно ошибок нет, и он уже активирован.
Далее создаю необходимую структуру где будут располагаться файлы моих наработок, в строке адреса ввожу: 192.168.1.124/doku.php?id=Raspberry:Dokuwiki Install и нажимаю Enter, после чего через «Обзор» выбираю odt файл данной заметки которую я писал в пакете LibreOffice Writer и нажимаю «Загрузить».
И все как и было задумано, заметка загружена в сервис DokuWiki через импорт odt файла:
Отлично. Вот что значит написанная заметка для Ubuntu Trusty и некоторые дополнения/отличия применимые к Raspberry чтобы развернуть сервис Wiki на миникомпьютере.
А вот и структура файлов в моей Wiki, в частности первая домашняя заметка в пространстве имен:
А если посмотреть недавние изменения в Wiki то видно, что документ был загружен с применением импорта из odt файла:
Итого, что я имею на текущий момент, это развернутый сервис по организации хранения заметок в Wiki где каждый раздел сохраняется в файле, не в базе, удобство или неудобство такого способа хранения заметок уже каждый решается сам. Для меня удобство, то что бекапировать нужно один единственный каталог: /var/www/dokuwiki, разворачивать из бекапа тоже удобно, к ресурсам не требователен сервис раз он работает даже на миникомпьютере таком, как Raspberry Pi 3 Model B+. Если заметок станет настолько много, то подключив внешний жесткий диск или персональное облако на базе owncloud я решу проблему с местом. А раз все у меня работает, то можно сказать до свидания, с уважением автор блога Олло Александр aka ekzorchik.