===== Создание USB-накопителя Dokuwiki для запуска Ubuntu и Windows ===== Если вы также хотите, чтобы USB-накопитель работал под 64-битной Ubuntu, вам нужно будет создать дополнительный раздел на вашем USB-накопителе. Вероятно, лучше всего сделать это до установки [[dokuwiki_on_a_stick|решения Windows]] но если вы уже сделали это, то вы можете скопировать файлы во временное местоположение, переформатировать USB-накопитель и затем скопировать их обратно. Вы также можете использовать что-то вроде GParted, которое позволяет вам изменить размер вашего существующего раздела. Это разделы * Раздел FAT32 для хранения вики. Назовите это «WIKI». Используйте заглавные буквы для работы Windows, * Раздел ext3 размером около 240 Мб. Назовите его «linuxWiki». Файлы занимают около 65 Мб, поэтому 240 Мб дают много свободного места * Установите Windows Dokuwiki на раздел fat32 с именем WIKI. Для этого следуйте инструкциям выше. (Эта идея также работает для ПК с двойной загрузкой, если у вас Windows и Ubuntu с общим вторым диском, который вы можете использовать для доступа к одному и тому же Wiki в обеих операционных системах) ==== Linux Execution. Устанавливается на раздел linuxWiki ==== === HTTP-интерпретатор === Для выполнения вики вам понадобится небольшой сервер, который может интерпретировать формат http. Выбранный сервер должен запускаться с флешки. Один из тех, что работает из коробки — [[https://code.google.com/archive/p/mongoose/|Mongoose]] Страница загрузки — https://code.google.com/archive/p/mongoose/downloads Требуется двоичный файл **mongoose-lua-sqlite-ssl-static-x86_64-5.1**. Он будет обрабатывать http-запросы на localhost:8080, который по умолчанию будет файлом doku.php. Суффикс php тогда потребует интерпретатор PHP. ==== PHP-интерпретатор === Версия, которую я скачал, была 5.5.38 http://php.net/downloads.php Более новая версия (7.1.3) тоже работает нормально, но кажется медленнее. Работает также с версией 8.3.2, но не знаю насчет скорости. распакуйте загруженный файл, чтобы получить каталог php-5.5.38 Для сборки в каталог php cd php-5.5.38/ ./configure --prefix=$HOME/php make make install После сборки нам понадобится только один исполняемый файл, расположенный по адресу **$HOME/php/bin/php-cgi** ==== Расположение файлов в разделе linuxWiki ==== /media/mike/linuxWiki$ tree . ├── linuxStart.sh ├── server │ ├── dokuwiki -> ../../WIKI/dokuwiki │ ├── mongoose.conf │ ├── mongoose-lua-sqlite-ssl-static-x86_64-5.1 │ └── php-cgi └── startWiki.desktop === Файл startWiki.desktop === Это файл .desktop, который позволяет выполнить файл сценария оболочки linuxStart.sh из файлового браузера Nautilus. Содержимое файла: [Desktop Entry] Type=Application Terminal=true Name=Start Dokuwiki Icon=utilities-terminal Exec=bash -c 'cd "$(dirname %k)";./linuxStart.sh;$SHELL' Categories=Application; После создания установите разрешения на выполнение. chmod +x startWiki.desktop === Файл linuxStart.sh === Это также требует установки бита выполнения и может быть запущено из командной строки терминала, если вы предпочитаете не использовать Nautilus. Его содержимое: #!/bin/bash cd server echo "Open a browser to address 127.0.0.1:8080" echo "Leave this terminal window running until you no longer need the http server to access the wiki" echo "close the terminal when finished so that you can unmount the usb stick" ./mongoose-lua-sqlite-ssl-static-x86_64-5.1 Это запустит http-сервер mongoose. Для этого сервера нужен файл конфигурации. === Файловый сервер/mongoose.conf === Этот файл конфигурации указывает mongoose использовать программу php-cgi для интерпретации http-ссылок на файлы типа *.php. Он также устанавливает document_root в каталог dokuWiki, который, как мы видим в данный момент, является символической ссылкой на каталог dokuWiki на разделе fat32, а файл запуска по умолчанию становится index.php, который вызывает doku.php для запуска движка wiki. cgi_interpreter ./php-cgi enable_directory_listing no document_root dokuwiki Другая команда, отключающая листинг каталогов, является мерой безопасности, чтобы остановить отображение списка каталогов для любых путей, которые не содержат файл index.php или index.html. См.[[wiki:install:mongoose]]. === Директория сервера/dokuWiki === Это ссылка на раздел fat32, где находится установка dokuwiki. Создайте его с помощью команды ln -s ../../WIKI/dokuwiki dokuwiki === Файлы сервера http и php === Они были созданы на первых двух этапах. Скопируйте оба упомянутых файла в каталог сервера и установите бит выполнения на обоих файлах. ==== Текущие вопросы ==== Если вы используете 'localhost:8080' в качестве местоположения вашей вики, то вы обнаружите, что страница Dokuwiki Media Manager имеет проблемы, которые делают невозможной загрузку любых медиафайлов. Если вместо этого вы направите свой браузер на '127.0.0.1:8080' или 'yourMachinesHostName:8080', то эта проблема будет устранена. === Советы === Если вы видите phpInfo вместо DokuWiki-Startpage, проверьте index.php. В моем случае index.php просто вызвал phpInfo(). Я заменил код в index.php следующим: [[https://raw.githubusercontent.com/splitbrain/dokuwiki/stable/index.php]]