Setting Up Wiki on Centos 5.3
Prerequisites
version of '''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 MoinMoin as normal user
mkdir -p ~/work/MoinMoin/tmp
cd ~/work/MoinMoin/tmp
tar xvzf moin-1.8.5.tar.gzThe installation doc can be find in directory
- moin-1.8.5/docs
The installation doc can be viewed in browser
Install MoinMoin 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=drawmgtSetup 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
<Directory /usr/local/share/moin/htdocs>
Options
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
<Directory /home/wiki/wiki/cgi-bin>
Options None
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
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/'
:xSet 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 80In /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
- The basic wiki seems to work.