How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
4.0 KiB
94 lines
4.0 KiB
====== β-Doku ====== |
|
|
|
Проект с [[https://github.com/YGGverse/bdoku|открытым кодом]] для организации зеркала [[https://www.dokuwiki.org|DokuWiki]] для протокола [[:gemini_protocol|Gemini]]. |
|
|
|
Написан на языке PHP 8, в качестве основы использует: |
|
|
|
* [[https://github.com/YGGverse/gemini-php|gemini-php]] - для конвертации базы данных и безопасной работы с файловой системой |
|
* [[https://github.com/YGGverse/titan-II|titan-II]] - форк сервера с поддержкой IPv6 |
|
* [[https://github.com/YGGverse/cache-php|cache-php]] - оболочка для кеширования скомпилированных страниц посредством Memcached |
|
* [[https://github.com/manticoresoftware|manticore]] - для полнотекстового поиска |
|
|
|
===== Примеры ===== |
|
|
|
β-Doku изначально создан для организации зеркала этого сайта: |
|
|
|
* %%gemini://[301:23b4:991a:634d::b]%% |
|
* %%gemini://betahowto.ygg%% - алиас |
|
* %%gemini://betahowto.duckdns.org%% - алиас в Интернет |
|
|
|
===== Установка ===== |
|
|
|
Проект находится в процессе разработки, актуальная инструкция доступна в [[https://github.com/YGGverse/bdoku/blob/main/README.md|README]] |
|
|
|
===== Синхронизация ===== |
|
|
|
Ресурс "betahowto" для всех инстансов использует автоматический [[wiki:wiki_backup|дамп]] в качестве источника. |
|
|
|
Также, по совместительству отправляет историю правок в репозиторий [[http://[316:c51a:62a3:8b9::4]/YGGverse/howto-db|howto-db]], откуда можно также получить актуальную версию базы данных: |
|
|
|
<code> |
|
git clone http://[316:c51a:62a3:8b9::4]/YGGverse/howto-db.git |
|
</code> |
|
|
|
* при использовании базы из репозитория, следует учитывать наличие директории .git в корне (в прочем, корневая директория не используется, а скрытые файлы игнорируются индексатором gemini-php) |
|
|
|
Обновление осуществляется скриптом по расписанию crontab, где общая директория "data" расположена в корне "howto-db" (на которую ведут символические ссылки всех хостов): |
|
|
|
<file - /home/bdoku/crontab/update.sh> |
|
cd /home/bdoku |
|
|
|
wget http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/howto-wiki_$(date -d "$date -1 days" +"%F")-23-30.tar.gz |
|
tar -xvf howto-wiki_$(date -d "$date -1 days" +"%F")-23-30.tar.gz -C howto-db |
|
rm howto-wiki_$(date -d "$date -1 days" +"%F")-23-30.tar.gz |
|
</file> |
|
|
|
Обновление β-Doku: |
|
|
|
<file - /home/bdoku/crontab/update.sh> |
|
cd /home/bdoku/bdoku |
|
|
|
git pull |
|
composer update |
|
</file> |
|
|
|
Если администрируется контрольный репозиторий: |
|
|
|
<file - /home/bdoku/crontab/update.sh> |
|
cd /home/bdoku/howto-db |
|
|
|
git add . |
|
git commit -m "$(date -d "$date -1 days" +"%F")-23-30" |
|
git push |
|
</file> |
|
|
|
От пользователя bdoku: |
|
|
|
<code> |
|
crontab -e |
|
|
|
0 0 * * * /home/bdoku/crontab/update.sh >> /home/bdoku/crontab/log/update-`/bin/date +\%F`.log 2>&1 |
|
</code> |
|
|
|
От пользователя root: |
|
|
|
<code> |
|
crontab -e |
|
|
|
5 0 * * * service betahowto restart |
|
5 0 * * * service betahowto.ygg restart |
|
5 0 * * * service betahowto.duckdns.org restart |
|
</code> |
|
|
|
Для синхронизации важно правильно установить часовой пояс, например GMT: |
|
|
|
<code> |
|
unlink /etc/localtime |
|
ln -s /usr/share/zoneinfo/GMT /etc/localtime |
|
date |
|
</code> |
|
|
|
===== Ссылки ===== |
|
|
|
[[https://github.com/YGGverse/bdoku|β-Doku на GitHub]]\\ |
|
[[https://github.com/YGGverse/howtools|howtools]] - скрипты авто-обновлений |