Упатство:MoinMoin

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

Упатство за инсталација на MoinMoin со mod_wsgi (по мое)

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

MoinMoin е wiki софтвер напишан во Python. Главната разлика со на пр. MediaWiki е што MediaWiki е претежно ориентиран кон јавни wiki-ја, додека MoinMoin овозможува поголема контрола, посебно преку флексибилниот ACL систем. Исто така згодно е што може да се проширува со богата палета на Python код. Некои сајтови кои користат MoinMoin се https://help.ubuntu.com/community/ и http://fedoraproject.org/wiki/.

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 или друго). Втората е daemon режим во кој секоја wsgi апликација си работи со посебни привилегии т.е. како посебен корисник.

Вграден режим

Во овој режим, wiki инстанцата ја доделуваме на корисникот „www-data“ за да може apache процесот да запишува во датотеките:

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

Daemon режим

Овој режим е посигурен, бидејќи апликацијата си работи како посебен корисник. Во случај да имаме повеќе апликации на истиот сервер, тие апликации нема да можат да се мешаат во работата на другите. За таа цел прво ќе креираме нов корисник, па потоа на тој корисник ќе му ги доделиме датотеките од wiki инстанцата.

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