Упатство:MoinMoin

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето

Упатство за инсталација на MoinMoin со mod_wsgi

Целта на ова упатство е целосно инсталиран и функционален MoinMoin wiki софтвер во mod_wsgi околина, во Linux.

MoinMoin е wiki софтвер напишан во Python. Главната разлика со на пр. MediaWiki е што MediaWiki е претежно ориентиран кон јавни wiki-ја, додека MoinMoin овозможува поголема контрола, посебно преку флексибилниот ACL систем. Исто така згодно е што може да се проширува со богата палета на Python код.

mod_wsgi е модул за Apache кој го вклучува Python интепретерот директно во Apache web серверот и овозможува на едноставно сервирање на WSGI апликации. mod_wsgi е напишан како одговор на mod_python модулот кој со годините стана прекомплициран и напластен од проблеми за кои нема лесно решение. Ако прашањето е Python+Apache, одговорот е mod_wsgi.

За упатствово се користени последните верзии на MoinMoin (1.6.2) и mod_wsgi (2.0) кои беа достапни во времето на пишување. Упатството е тестирано на Убунту-сервер JEOS (не за друго, истовремено го тестирав и него).

Пред да почнеме

Претпоставката е дека имате основни познавања од Apache2, каде му се конфигурациските датотеки, како се додава виртуелен host, како се рестартира и сл. Исто така познавање и снаоѓање со shell алатки многу ќе ви помогне. Конечно за еден дел од упатството ќе треба да знаете како кој user работи Apache-то - ова е различно на разни дистрибуции (www-data на Debian/Ubuntu, nobody на ArchLinux).

Поглед врз големата слика (the 10,000 feet view)

TODO

Инсталација на mod_wsgi

Шансите се дека mod_wsgi го имате како пакет во вашата Linux дистрибуција. Ако не, инсталацијата е прилично едноставна. Познатата процедура:

tar xf mod_wsgi-2.0.tar.gz
cd mod_wsgi-2.0
./configure
make
sudo make install

ќе работи секогаш и секаде. На крајот треба да се добие една единствена датотека во /usr/lib/apache/ (или /usr/lib/apache2/ или /usr/lib/httpd/ или сл. зависно од дистрибуцијата) 'mod_wsgi.so'.

Инсталација на MoinMoin

Стандардната инсталација на MoinMoin (python setup.py install) моментално нема опција да ги инсталира датотеките по моја желба, но затоа едноставно копирање врши работа.

tar xf moin-1.6.2.tar.gz
cd moin-1.6.2/
mkdir /srv/moin
cp -r MoinMoin/ /srv/moin/
cp -r wiki/htdocs/ /srv/moin/
python -m compileall /srv/moin/MoinMoin/

Креирање на wiki инстанца

Откако е поставена онсновната инфраструктура, продолжуваме со креирање на wiki инстанца. Wiki инстанци може да имаме повеќе секоја со посебен изглед, посебни преференции и сл. Првото wiki нека се вика my-wiki. Сеуште во директориумот со отпакуваниот source на moin (moin-1.6.2/) ги извршуваме следниве команди:

mkdir /srv/moin/my-wiki
cp -r wiki/data/ wiki/underlay/ /srv/moin/my-wiki/
cp wiki/config/wikiconfig.py wiki/server/moin.wsgi /srv/moin/my-wiki/

Постојат две важни можности за хостирање на апликации со mod_wsgi, првата е embedded режим, во кој wsgi апликацијата работи со исти привилегии како Apache процесот (www-data или nobody или apache или сл зависно од дистрибуцијата). Во тој режим

chown www-data -R /srv/moin/my-wiki/
[moin.conf]

Другиот режим е daemon mode, во кој секоја wsgi апликација си работи со посебни привилегии т.е. со посебен user:

adduser --no-create-home --disabled-password --disabled-login \
    --gecos "" --home /srv/moin/my-wiki/ --ingroup nogroup my-wiki
chown my-wiki -R /srv/moin/my-wiki/
[moin.conf]

Надградба

rm -rf