= 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.