For some reason, installing the LAMP configuration at the install of the OS caused some problems. To avoid this, install the LAMP packages separately.
In Yast, install the following:
Everything is installable through Yast with the exception of pdftohtml. I found a SuSE 10.0 package that did the trick.
You'll need to install php5 with the following modules:
The DekiWiki Team recommends tweaking three parameters for optimal operation of DekiWiki
memory_limit -- maximum amount of memory a PHP process can use
post_max_size -- maximum size of an HTTP POST
upload_max_filesize -- maximum size of an upload
Edit /etc/php5/apache2/php.ini and make the following changes:
memory_limit = 64MB
post_max_size = 48MB
upload_max_filesize = 48MB
Or if you want to use bigger attachments (up to 64 MB) use the following settings:
memory_limit = 128MB
post_max_size = 64MB
upload_max_filesize = 64MB
Install Pear Cache_Lite and XML_RPC packages
As root execute:
pear install Cache_Lite
pear install XML_RPC
DekiWiki use mod_rewrite to provide "friendly" URLs. To enable mod_rewrite, do the following (as root):
a2enmod rewrite
/etc/init.d/apache2 force-reload
Configure MySQL
If you didn't previously have MySQL installed you'll need to set the MySQL root password:
mysql -u root -e "set password = password('my_password');" DekiWiki uses DotLucene and mwsearch for search indexing. To install and configure, do the following:
Build mwsearch (as root):
cd dekiwiki-current/mwsearch
make install
cp mwsearch.conf.mks /etc/mwsearch.conf
mkdir /var/run/mwsearch
cp mwlucene /etc/init.d/mwlucene
chmod +x /etc/init.d/mwlucene
ln -s /etc/init.d/mwlucene /etc/rc2.d/S20mwlucene
Add MySQL root password to /etc/mwsearch.conf and change
password=
to
password=your_mysql_root_password
OPTIONAL: rebuild the search index each day at midnight
Add the following to /etc/crontab
echo "# Rebuild MWLucene Search Index" >> /etc/crontab
echo "0 2 * * * root /usr/local/bin/MWUpdater --rebuild > /var/log/MWUpdater.log" >> /etc/crontab
echo "30 2 * * * root /etc/init.d/mwlucene restart > /dev/null" >> /etc/crontab
In your deki-current directory run ./installWiki.sh
installWiki.sh
Usage: ./installWiki.sh --wikiName wiki_name --domainName domain_name --dbRootPwd db_root_password [--wikiInstallBaseDir base_install_directory] [--dbName databaseName]
Parameters:
--wikiName: The name of your wiki. This is also used as the hostname for you wiki. Example: mywiki => mywiki.somedomain.com
--domainName: Your domain name
--dbRootPwd: MySQL password for root@localhost user. This is required in order to create the DekiWiki database
--wikiInstallBaseDir: installation directory. Default is /var/www/
--dbName: The database name you want created. Defaults to --wikiName if not specified
This script performs the following actions:
Example: (as root)
./installWiki.sh --wikiName wikiname --domainName domain --dbrootPwd databaserootpassword --dbName databasename --noContent
This will create your DekiWik at /var/www/GatorWiki.uaa.ufl.edu/
Move this directory to the web space or where ever you see fit.
NOTE: this script will provide the Sysop password that you'll need to log in to the wiki once we're all done.
Finally, it's time to configure Apache to serve up your DekiWiki installation.
In /etc/apache2/default_server.conf add the following or use Yast to configure the web space (be sure to alter names and paths to meet your specific needs).
ServerName heat.network
ServerAdmin joelp@someplace
DirectoryIndex index.php index.html index.htm
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/$ /index.php?title=Home [L,NE]
RewriteCond %{REQUEST_URI} !/(attachments|ControlPanel|editor|stylesheets|images|skins)/
RewriteCond %{REQUEST_URI} !/(redirect|texvc|index).php
RewriteCond %{REQUEST_URI} !/error/(40(1|3|4)|500).html
RewriteCond %{REQUEST_URI} !/favicon.ico
RewriteCond %{REQUEST_URI} !/robots.txt
RewriteCond %{QUERY_STRING} ^$ [OR] %{REQUEST_URI} ^/Special:Search
RewriteRule ^/(.*)$ /index.php?title=$1 [L,QSA,NE]
Once DekiWiki is installed we recommend that you do the following:
NOTE: This document doesn't include allowing email to be sent. if you intend to do this make sure a sendmail program is configured and accessibile by apache such as sendmail or postfix. This is usually as simple as installing Postfix via Yast and starting the service. Some minor configuration may be required.