Getting Started

The adaption of the UABgrid theme is being done on [src:branches/uabgrid-theme the uabgrid-theme branch]. In order to work on this branch you need to an Apache+PHP5+MySQL setup on your development server. In the lab we commonly use openSUSE 10.2 for this work, so these steps are geared toward that platform.

Use YaST to make sure Apache2, PHP5, and MySQL (server and client) are installed.

After the install you need to configure Apache to support access to the public_html directory in your $HOME. This involves turning on mod_userdir functionality.

# as root
cd /etc/apache2/
vi mod_userdir.conf
cat mod_userdir.conf
...
# Userdir enable user1 user2 ...
Userdir enable <yourusername>
...

The cat output above is abbreviated. Look for the Userdir enable example line and add the custom line for your user name below it. By restricting this feature to just your user account, you can reduce the exposure profile of unrelated users running web apps on your box. If you share the development box with others, just add their user name as well. This is only meant to reduce the likely hood of unknown code running on your box. It's assumed you know what's in your public_html.

Configure the services to start, and if you want to start them automatically

service apache2 start
service mysql start
# optional
chkconfig apache2 on
chkconfig mysql on

Return to your normal user privileges. Make sure that your home directory and public_html can be accessed by the user account that apache runs under

ls -ld $HOME
drwxr-x--x  97 userowner groupowner 4096 Aug  7 17:04 /home/userowner
ls -ld $HOME/public_html
rwxr-xr-x  24 userowner groupowner 4096 Jun 19 15:02 /home/userowner/public_html

The account names above are clearly fictional.

Extract a copy of the media wiki theme branch to your public_html:

cd $HOME/public_html
svn export \
svn+ssh://webapp.lab.ac.uab.edu/usr/svn/uabgrid-docs/branches/uabgrid-theme mediawiki

The export is done to avoid polluting the repositories copy of the config files that will change to accomidate the local database information. We'll just check out the code relevant to our theme development:

cd $HOME/public_html/mediawiki
rm -rf skins
svn checkout \
svn+ssh://webapp.lab.ac.uab.edu/usr/svn/uabgrid-docs/branches/uabgrid-theme/skins

Prepare media wiki for the install process by enabling write access to the config directory during the install:

cd $HOME/public_html/mediawiki
chmod a+w config

Create a mediawiki database that can be populated for your instance

# as root
mysqladmin create mwdb
echo 'grant all privileges on mwdb.* to mwdba@localhost identified by "password";' \
| mysql mwdb 

You should pick a unique password.

Now point your browser at http://localhost/~username/mediawiki and being the install. Use the database name and password you assigned above

Example Site Pages

MediaWiki is used to host the documentation for many sites around the world. Looking over how these sites have approached customizing the theme for mediawiki is helpful in designing the needs for UABgrid.

  • moodle - is a course management system for building online learning communities. Read the moodle philosophy for a high-level overview.