Friday, December 16, 2005

Build your own Wiki using MediaWiki



What is Wiki ?

Wiki is a Content pool that anyone can freely edit.

For eg. check this , Wikipedia is a encyclopedia, it can be edited by any individual.




Installing and configuring MediaWiki was quiet easy.

Reason being you don't have to mess around with config files changing directives for use of database etc...

You need the follwoing Pre-requisite Installed

1) Mysql
2) Apache
3) Php

I will tell you my version of the above

Mysql - server version: 4.0.15
Apache - 2.0.47
Php - 5.0.4

I downloaded and untarred mediawiki-1.4.7.tar.gz in /var/www/html (document root path mentioned in apache).

Changed the permission for mediawiki-1.4.7 directory to

cd /var/www/html/mediawiki-1.4.7
chown -R root:apache *
chmod -R o-rwx *
chmod -R g+rw config

Now http://localhost/mediawiki-1.4.7/

It shows

You'll have to set the wiki up first!

This will take you to a Page

Checking environment  ...

Made some few changes to /etc/php.ini file

memory_limit = 100M (increased from 8MB to 100 MB)
register_globals = Off

Refreshed the page

Site config

Your site name should be a relatively short word. It'll appear as the namespace name for 'meta' pages as well as throughout the user interface. Good site names are things like "Wikipedia" and "OpenFacts"; avoid punctuation, which may cause problems.
This will be used as the return address for password reminders and may be displayed in some error conditions so visitors can get in touch with you.
You may select the language for the user interface of the wiki... Some localizations are less complete than others. This also controls the character encoding; Unicode is more flexible, but Latin-1 may be more compatible with older browsers for some languages. Unicode will be used where not specified otherwise.
Select one:
  • choose (link will wipe out any other data in this form!)
MediaWiki can include a basic license notice, icon, and machine-readable copyright metadata if your wiki's content is to be licensed under the GNU FDL or a Creative Commons license. If you're not sure, leave it at "none".
A sysop user account can lock or delete pages, block problematic IP addresses from editing, and other maintenance tasks. If creating a new wiki database, a sysop account will be created with the given name and password.
Select one:
Using a shared memory system such as Turck MMCache or Memcached will speed up MediaWiki significantly. Memcached is the best solution but needs to be installed. Specify the server addresses and ports in a comma-separted list. Only use Turck shared memory if the wiki will be running on a single Apache server.

Database config

Connection failed
If your database server isn't on your web server, enter the name or IP address here.
If you only have a single user account and database available, enter those here. If you have database root access (see below) you can specify new accounts/databases to be created.

If you need to share one database between multiple wikis, or MediaWiki and another web application, you may choose to add a prefix to all the table names to avoid conflicts.

Avoid exotic characters; something like mw_ is good.

You will only need this if the database and/or user account above don't already exist. Do not type in your machine's root password! MySQL has its own "root" user with a separate password. (It might even be blank, depending on your configuration.)


Thats it you are done ... Unlike other wikis this will create the databasenames
and users you have typed in the above form dont need to know Mysql atlast.

How ever I already had created the database as wiki and a database user wiki ...
The above form just updated that and throwed me a warning saying the database name and
user is already there.










Check your PHP Configuration Information

If you want find out the complete configuration of your PHP

You may create a test.php in your webserver DocumentRoot directory and embed this inside your html TAGS and run it in the browser.

Here is very simple code that reviews PHP's info :

< ?php
phpinfo();
? >