Dodanie nowego wiki do farmy MoinMoin

Konfiguracja apache - cgi

Pierwszym krokiem jest skonfigurowanie serwera Apache:

cd /usr/local/etc/apache24/Includes
co -l virtuals.portalwiedzy.bsdserwis.com.conf
# [dopisanie kolejnej linijki z RewriteRule]
make all

Konfiguracja apache - wsgi

Korzystamy z przepisu na zupę albo ten. Trzeba tylko dostosować do swoich potrzeb. Zamiast mod_rewrite należy użyć:

WSGIScriptAlias /wiki1 /..../kb.bsdserwis.com/bin/moin.wsgi
WSGIScriptAlias /wiki2 /..../kb.bsdserwis.com/bin/moin.wsgi

nginx

Konfiguracja z wykorzystaniem uWSGI. Ponieważ jest to nowe wiki w ramach farmy, zatem konfiguracja jest bardzo prosta.

Konfiguracja w farmie wiki

# wybierz katalog długi
#
cd /home/www/htdocs/virtuals/portalwiedzy.bsdserwis.com

# albo katalog krótki
#
/var/www/htdocs/virtuals/kb.bsdserwis.com/

# wykonanie nowego katalogu
#
su -m www -c "mkdir -p wikis/nowewiki/data/"
cp -pR data/* wikis/nowewiki/data/
cd wikis/nowewiki/data/
ln -sf ../../../plugin plugin

# przej/scie do katalogu z konfiguracj/a
cd ../../../config

# skopiowanie wzorca konfiguracji
# (ewentualnie można wykorzystać istniejącą konfigurację (zwłaszcza jeśli chodzi o własne logo, favicon.ico, etc.)
#
cp -p __new_wiki__.py nowewiki.py

nowewiki.py

# -*- coding: iso-8859-1 -*-

from farmconfig import FarmConfig

class Config(FarmConfig):

    sitename = u"Nowe wiki"
    data_dir = '/var/www/htdocs/virtuals/kb.bsdserwis.com/wikis/__nowe_wiki__/data/'
    page_front_page = u"NoweWiki"
    logo_string = u'<img src="/portalwiedzy198/common/moinmoin.png" alt="Portal Wiedzy">'
    page_header1 = u'<link href="/portalwiedzy184/ath-icon.ico" rel="SHORTCUT ICON" />'
    actions_excluded = ['xmlrpc',
                        'raw',
                        'MyPages',
                        'RenderAsDocbook',
                        'SyncPages',
                        'Save',
                        'Load',
                        'CopyPage',
                        'SubscribeUser',
                        'Despam',
                        'PackagePages',
                        'SpellCheck',
                        'LikePageS',
                       ]

    acl_rights_default = u"Known:read All:"
    acl_rights_before = u"wtps0n:read,write,delete,revert,admin +GrupaKancPraw:read,write Known:read All:"

    navi_bar = [
        # If you want to show your page_front_page here:
        u'%(page_front_page)s',
        u'FindPage',
        u'HelpContents',
        u'SlownikNoweWiki',
        u'InterWikiMap',
    ]

wikilist.py

# -*- coding: iso-8859-1 -*-

wikis = [
    # wikiname,     url regular expression (no protocol)
    # ---------------------------------------------------------------
    ("tescior", r"https://(kb.bsdserwis.com|pw.bsdserwis.com)/tescior/.*$"),
    ("nowewiki", r"https://(kb.bsdserwis.com|pw.bsdserwis.com)/nowewiki.*$"),

    # for multiple wikis, do something like this:
    #("moinmoin",    r"^moinmo.in/.*$"),
    #("moinmaster",  r"^master.moinmo.in/.*$"),
]

Uruchomienie nowego wiki

Czas na uruchomienie nowego portalu wiedzy :)

Restart apache - WSGI

W przypadku korzystania z konfiguracji WSGI konieczny jest restart po wykonaniu zmian w konfiguracji wiki:

service apache24 restart

Restart uwsgi - nginx

Wszelkie zmiany dokonane w MoinMoin wymagają restartu usług uwsgi:

service uwsgi restart

Wykonanie pustego cache dla MoinMoin

Po kopiowaniu pustego drzewa katalogów (cache), aby uniknąć następujących błędów:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 5: unexpected end of data

W tym celu trzeba korzystać z narzędzia moin

cd /var/www/htdocs/virtuals/kb.bsdserwis.com
moin  --config-dir=config/  maint makecache  --wiki-url=https://kb.bsdserwis.com/nowewiki

Wyczyszczenie cache dla MoinMoin

(Dopisane na wszelki wypadek - już raczej aby wszystko było w jednym miejscu)

cd /var/www/htdocs/virtuals/kb.bsdserwis.com
moin  --config-dir=config/  maint cleancache  --wiki-url=https://kb.bsdserwis.com/nowewiki


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.