Installation von moin auf clyde (alias www)

Vorbereitungen

Es werden python und moin installiert. Beide sind auf gd.tuwien.ac.at erhältlich. Die ganze Installation und Konfiguration wird als root durchgeführt. Die tarballs werden ebenfalls entfernt. Sie liegen noch auf druck unter /root/src, siehe installmoinaufdruck.

Kompilation von python

su; cd ~
tar -xjf Python-2.5.tar.bz2
cd Python-2.5
./configure
make
make install
# aufräumen
cd ..; rm -r Python-2.5

Installation von moin

Die Option --record=install.log ist unnötig, da nachher sowieso alles entfernt wird.

cd ~;
tar -xzf moin-1.5.7.tar.gz
cd moin-1.5.7
python setup.py install --prefix='/usr/local' --record=install.log
cd ..; rm -r moin-1.5.7

wiki anlegen

Ohne technische Grund wurden die wiki-Seiten zuerst auf alpha erzeugt. Dafür wurde das script createinstance.h verwendet:

alpha> cd /usr/local/src/moin
alpha> chmod u+x createinstance.h
alpha> ./createinstance.h /usr/local/var/www

Die auf alpha erzeugten Seiten wurden auf clyde kopiert.

cd /usr/local/share/moin/htdocs/
rm favicon.ico
scp -r root@alpha:/usr/local/share/moin/htdocs/fluid .
cd /usr/local; mkdir var; mkdir var/www;
cd /usr/local/var/
scp -r root@alpha:/usr/local/var/www .

Nun wird der richtige owner, entsprechend dem Eintrag in moin.py, Zeilen 43 und 44, gesetzt. Ein directory für das vom daemon benötigte .pid-file wird angelegt und schreibbar gemacht. Schließlich werden die start- und stopp-links in /etc/init.d gesetzt.

cd /usr/local/var/www
chown -R wwwrun:www data underlay wikiconfig.py

# directory für .pid-file
mkdir /var/run/moin
chown wwwrun:www /var/run/moin

# start- und stopp-links 
ln -s /usr/local/var/www/moin /etc/init.d/moin
cd /etc/init.d/rc5.d
ln -s ../moin K05moin
ln -s ../moin S16moin

HACKS

Der daemon legt sein .pid-file in das directory, wo er gestartet wird, nicht in den üblichen Platz /var/run/. Zeile 77 in /usr/local/lib/python2.5/site-packages/MoinMoin/server/daemon.py wurde auskommentiert und ersetzt:

vi /usr/local/lib/python2.5/site-packages/MoinMoin/server/daemon.py

  #th self.pidFile = os.path.abspath(name + '.pid')
  self.pidFile = os.path.abspath('/var/run/moin/' + name + '.pid')

Deinstallation

In /etc/rsyncd.conf sollten die Module [www] und [htdocs] entfernt werden.

# moin restlos entfernen
rm -r /etc/init.d/moin /etc/init.d/rc*/*moin /var/run/moin
rm -r /usr/local/var/www
rm -r /usr/local/share/moin
rm -r /usr/local/lib/python2.5/site-packages/MoinMoin
rm -r /usr/local/lib/python2.5/site-packages/moin-1.5.7-py2.5.egg-info

#  python entfernen
rm -r /usr/local/lib/python2.5 /usr/local/bin/py*