= Setting Up Wiki on Centos 5.3 = == Prerequisites == * version of [[http://moinmo.in/MoinMoinDownload|'''MoinMoin''']] is '''1.8.5''' * installed '''python''' version from Centos distribution is: '''2.4.3''' * httpd user/group: '''apache/drawmgt''' * assumed your homy directory is '''/home/ntibor''' == Installation == * Check python is working: {{{ $ python -V Python 2.4.3 }}} * Unpack and install [[http://moinmo.in/MoinMoinDownload|MoinMoin]] as '''normal user''' {{{ mkdir -p ~/work/MoinMoin/tmp cd ~/work/MoinMoin/tmp tar xvzf moin-1.8.5.tar.gz }}} * The installation doc can be find in directory <
> moin-1.8.5/docs * The installation doc can be viewed in browser <
> file:///home/ntibor/work/MoinMoin/tmp/moin-1.8.5/docs/INSTALL.html * Install Moin``Moin as '''root''' {{{ cd /home/ntibor/work/MoinMoin/tmp/moin-1.8.5 python setup.py install --prefix='/usr/local' --record=install.log }}} * Test the installation: {{{ [ntibor@centos1 moin-1.8.5]$ python Python 2.4.3 (#1, Jul 27 2009, 17:57:39) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import MoinMoin >>> }}} == Creating a wiki instance == Setup a wiki called '''wiki''', located in ''/home/wiki'' * Configuration variables: {{{ export PREFIX=/usr/local export SHARE=${PREFIX}/share/moin export WIKILOCATION=/home/wiki export INSTANCE=wiki # full path is ${WIKILOCATION}/${INSTANCE} export USER=apache export GROUP=drawmgt }}} * Setup as '''root''': {{{ cd /home mkdir wiki chmod go+w wiki cd $WIKILOCATION mkdir $INSTANCE # directory for this instance cp -R $SHARE/data $INSTANCE # template data directory cp -R $SHARE/underlay $INSTANCE # underlay data directory cp $SHARE/config/wikiconfig.py $INSTANCE # copy wiki cfg sample file chown -R $USER:$GROUP $INSTANCE chmod -R ug+rwX $INSTANCE # USER.GROUP may read and write chmod -R o-rwx $INSTANCE # everybody else is rejected }}} * Apache/Moin configuration (based on moin.cgi): {{{ cd $WIKILOCATION/$INSTANCE mkdir cgi-bin cp $SHARE/server/moin.cgi cgi-bin chown -R $USER:$GROUP cgi-bin chmod -R ug+rx cgi-bin chmod -R o-rwx cgi-bin vi cgi-bin/moin.cgi # Add the following lines (after the 'import sys' line) sys.path.insert(0,'/home/wiki/wiki') sys.path.insert(0, '/usr/local/lib/python2.4/site-packages') :x cd /etc/httpd/conf vi httpd.conf # -- Moin Moin V1.8.5 Test Wiki Options AllowOverride AuthConfig Limit Order allow,deny Allow from all Options None AllowOverride AuthConfig Limit Order allow,deny Allow from all Alias /moin_static185 /usr/local/share/moin/htdocs ScriptAlias /dev/wiki /home/wiki/wiki/cgi-bin/moin.cgi :x - Setup wikiconfig.py cd /home/wiki/wiki cp wikiconfig.py wikiconfig.py-ORIG vi wikiconfig.py # Change: data_dir = './data/' data_underlay_dir = './underlay/' # To: data_dir = '/home/wiki/wiki/data/' data_underlay_dir = '/home/wiki/wiki/underlay/' :x }}} * Set security context of wiki <
> Because of Centos is SELinux (Security Enhanced Linux) beside the standard access control, file context setting is used. As default the httpd (apache) has no access to files under the directory '''/home'''. The symptoms are: * In the '''browser''': <
> Forbidden <
> You don't have permission to access /dev/wiki on this server. <
> Apache/2.2.3 (Red Hat) Server at localhost Port 80 * In '''/var/log/messages''': <
> Oct 20 16:10:16 centos1 setroubleshoot: SELinux is preventing the httpd from using potentially mislabeled files (./wiki). For complete SELinux messages. run sealert -l b7f5021e-3dfe-4308-a21a-5731edb11596 The solve the problem, set context of /home/wiki as '''root''': {{{ $ chcon -R -t httpd_sys_content_t /home/wiki }}} * Bounce '''apache''' /etc/rc.d/init.d/httpd restart * Path to the wiki: Based on the ScriptAlias defined in httpd.conf http://localhost/dev/wiki The basic wiki seems to work.