Katlas installation notes

From Knot Atlas
Revision as of 23:29, 20 September 2005 by Scott (talk | contribs) (→‎Subversion)
Jump to navigationJump to search

Okay... these are our notes while trying to setup the wiki on katlas.

Upgrading MySQL

For better or worse, I decided to upgrade MySQL to version 4.0 before doing anything else. I mostly followed these instructions.

Warning: do not install MySQL 4.1. It is incompatible with mediawiki. Install version 4.0.

For this I need three RPMs which are all available with only a little digging at mysql.com

  • MySQL-shared-compat-4.0.25-0.i386.rpm
  • MySQL-server-4.0.25-0.i386.rpm
  • MySQL-client-4.0.25-0.i386.rpm

The first of these is required so we don't break dependencies while upgrading. Install it first, with

rpm -iv MySQL-shared-compat-4.0.25-0.i386.rpm

Then upgrade the other two packages

rpm -U MySQL-server-4.0.25-0.i386.rpm
rpm -U MySQL-client-4.0.25-0.i386.rpm

Note the warning the server install gives --

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h katlas.math.toronto.edu password 'new-password'
See the manual for more instructions.

(note however that you need to upgrade the client package before mysqladmin is available to do this!)

I also deleted the local anonymous account, and put a password on the remote anonymous account. (Ask User:Scott for these passwords.)

Apache

I had to fix the server name, from katlas to katlas.math.toronto.edu in /etc/httpd/conf/httpd.conf

I added

AllowOverride FileInfo
AllowOverride AuthConfig

in the httpd.conf file, in the section for /var/www/html, so I could use .htaccess files to rewrite the wiki URLs nicely, and to disallow access to phpMyAdmin.

I added a robots.txt file, to protect the wiki internals from spiders. --Scott 12:44, 19 Aug 2005 (EDT)

I moved the document root from /var/www/html to /www/html. (Actually, I moved everything in /var/www to /www) This required the following steps

  1. in /var/www, as root
    cp -R --preserve * /www
  2. in httpd.conf, replacing /var/www everywhere with /www
  3. in LocalSettings.php replacing /var/www with /www in the $IP line
  4. test everything seems to work!
  5. in /var, as root,
    rm -Rf www

--Scott 12:44, 19 Aug 2005 (EDT)

This messed up webalizer, however, so I modified the appropriate line in /etc/webalizer.conf. I also added a section in http.conf to make /usage world-readable. --Scott 13:03, 19 Aug 2005 (EDT)

Restarting apache is best achieved by (as root)

/usr/sbin/apachectl graceful

or

/etc/rc.d/init.d/httpd restart

--Scott 13:17, 19 Aug 2005 (EDT)

Error logs can be found at /var/log/httpd --Scott 10:33, 26 Aug 2005 (EDT)

We had a nasty (to diagnose!) problem with uploading large files. We had to edit /etc/httpd/conf.d/php.conf, modifying the LimitRequestBody line. --Scott 11:08, 23 Aug 2005 (EDT)

creating new accounts

As root, do something like

$ htpasswd -m /www/.htpasswd sally
New password: *******
Re-type new password: *******
Adding password for user sally

phpMyAdmin

Just unzip'd it into phpMyAdmin, editted the config.inc.php, created a .htpassword file and added a <Directory> entry to httpd.conf --Scott 10:34, 26 Aug 2005 (EDT)

MediaWiki

I added the namespace "Data", as per these instructions, adding

$wgExtraNamespaces =
       array(100 => "Data",
             101 => "Data talk");
$wgNamespacesWithSubpages =
       array( -1 => 0, 0 => 0, 1 => 1, 2 => 1, 3 => 1,
              4 => 0, 5 => 1, 6 => 0, 7 => 1,
              8 => 0, 9 => 1, 10 => 0,11 => 1,
              100 => 1, 101 => 1 );

to LocalSettings.php. (For some reason, the namespace "Knot Data" didn't seem to work?)

Enable <math></math> processing

First, I made the /images directory writable.

Next, I installed ocaml (download the sources, ./configure, make world, make bootstrap, make opt, make install). What a pain! After that, go to the math directory under the wiki installation, and run make.

Finally, edit LocalSettings.php to enable TeX.

Later, we started modifying texvc, to allow more symbols from amssymb, and to allow use of Dror's dbnsymb. This required modifications to Texutil.ml, and recompiling texvc (just run make). --Scott 15:10, 29 Aug 2005 (EDT)

Installing the Font dbnsymb

  1. Download the files dbnsymb.mf and dbnsymb.sty from [1].
  2. Put dbnsymb.mf at "/usr/share/texmf/fonts/source/public".
  3. Put dbnsymb.sty at "/usr/share/texmf/tex/latex/misc".
  4. Run the command "texhhash".

Allowing .zip and .gif uploads

In LocalSettings.php I added the line

$wgFileExtensions = array( 'png','gif','jpg','jpeg','ogg','mp3','pdf','zip');

Marking users as bots

See [2]. Note that all our tables have the prefix mw_. As far as I can tell, you have to guess the user number (or you can log in as that user, and go to Preferences).


Modifying the navigation box

Follow the instructions at [3]

  1. Make changes to LocalSettings.php
  2. edit the pages Mediawiki:todo, Mediawiki:todo-url, Mediawiki:rolfsen, Mediawiki:rolfsen-url, etc. (these pages are protected.)

Note that this will change in mediawiki 1.5, and become a lot easier.

Grab The Knot Atlas.png, resize it to 145x145, save it as /www/html/w/skins/common/images/katlas.png, and put the line

$wgLogo             = "$wgStylePath/common/images/katlas.png";

in LocalSettings.php. Also, grab Favicon.png, convert it to Windows .ico format and save it as favicon.ico at /www/html (not /www/html/w !).

Hacking mediawiki

I modified ImagePage.php so redirects on image pages don't produce a spurious copy of the image. There's a bug on bugzilla, where a different fix is being proposed. There's another (not so good?) solution as an extension.

Fixing search

In file /www/html/w/skins/MonoBook.php within <form name="searchform" ... > add method="post".

Several Wikis

Allow logins on several wikis on the same server: Add the following line to LocalSettings.php after $wgSiteName = ...:

ini_set("session.name", "KnotAtlasSession" );

Subversion

We have a working subversion server going now. (I had to find the RHEL3 rpm, but it was easy after that!)

We have several separate repositories, and it's easy (for root) to create more. Go to one of

to get started.

To create a new repository, type something like

svnadmin create RepositoryName /home/svn

then change the ownership and permissions to match the other repositories. (The easiest way to do this is to login as svn, before using svnadmin, then chmod -R g+w /home/svn/RepositoryName to allow commits via the web.)

There's read-only public access; to commit changes you'll need to create an account. For windows, download TortoiseSVN, for eclipse use subclipse.

Mathematica notebooks are slightly hard to version control. There are several solutions people have come up with.