Creating a katlas mirror on a windows machine: Difference between revisions
No edit summary |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
You'll need to download three things: |
You'll need to download three things: |
||
⚫ | |||
;The Saint WAMP (a pre-built combination of Apache, MySQL and PHP, for windows.) |
;The Saint WAMP (a pre-built combination of Apache, MySQL and PHP, for windows.) |
||
:From http://sourceforge.net/projects/yawamp/ |
:From http://sourceforge.net/projects/yawamp/ |
||
Line 14: | Line 14: | ||
==Install Saint== |
==Install Saint== |
||
Just run the executable. You can just accept all the default choices. ( |
Just run the executable. You can just accept all the default choices. (Although I'd recommend not installing filezilla or hamster.) In the last dialog box, you'll be given the option to start the service (selected by default). Do this! |
||
(Troubleshooting - I installed Saint in a directory without spaces in the path; your results may vary.) |
(Troubleshooting - I installed Saint in a directory without spaces in the path; your results may vary.) |
||
Line 32: | Line 32: | ||
===Change the document root (optional)=== |
===Change the document root (optional)=== |
||
Open httpd.conf, and modify the DocumentRoot line. You'll also need to change the line <code><Directory htdocs></code> to something like <code><Directory "c:\path\to\DocumentRoot\"></code>. Make sure you've created the directory, then restart the Contentserver service using the Apache Service Monitor. |
Open httpd.conf, and modify the DocumentRoot line. You'll also need to change the line <code><Directory htdocs></code> to something like <code><Directory "c:\path\to\DocumentRoot\"></code>. Make sure you've created the directory, then restart the Contentserver service using the Apache Service Monitor. |
||
===Allow .htaccess files to rewrite URLs=== |
|||
katlas depends on a .htaccess file to specifying rewriting rules for URLs. By default, Saint doesn't allow .htaccess files to work. Edit the http.conf file (see above), and uncomment the line |
|||
#LoadModule rewrite_module modules/mod_rewrite.so |
|||
⚫ | |||
AllowOverride None |
|||
⚫ | |||
AllowOverride All |
|||
You'll need to restart the Contentserver service. |
|||
===Start the SQL database=== |
===Start the SQL database=== |
||
Line 71: | Line 80: | ||
Hopefully this will work okay! Fill in the form, making sure you enter: |
Hopefully this will work okay! Fill in the form, making sure you enter: |
||
<pre> |
<pre> |
||
wiki name: Knot Atlas (with the space!) |
|||
database name: wikidb |
database name: wikidb |
||
database table prefix: mw_ |
database table prefix: mw_ |
||
Line 80: | Line 91: | ||
</pre> |
</pre> |
||
If so, do exactly that, and go enjoy your handiwork! |
|||
==Old stuff== |
|||
You'll need to move a few things across from the original katlas LocalSettings.php (and if this is a permanent mirror, look carefully for other things!), in particular the namespace definitions, navigation links and ifpageexists extension: |
|||
At very least, you'll need to edit LocalSettings.php. In the w/ directory in your document root, edit LocalSettings.php. |
|||
⚫ | |||
$wgExtraNamespaces = |
|||
array(100 => "Data", |
|||
101 => "Data_talk", |
|||
102 => "Article", |
|||
103 => "Article_talk"); |
|||
# Enable subpages in the knot data namespace |
|||
$wgNamespacesWithSubpages[100] = 1; |
|||
$wgNamespacesWithSubpages[101] = 1; |
|||
$wgNamespacesWithSubpages[102] = 1; |
|||
$wgNamespacesWithSubpages[103] = 1; |
|||
$wgNavigationLinks = array ( |
|||
Change the line |
|||
array( 'text'=>'mainpage', 'href'=>'mainpage' ), |
|||
⚫ | |||
array( 'text'=>'todo', 'href'=>'todo-url' ), |
|||
$IP = "/www/html/w"; |
|||
array( 'text'=>'rolfsen', 'href'=>'rolfsen-url' ), |
|||
array( 'text'=>'thistlethwaite', 'href'=>'thistlethwaite-url' ), |
|||
array( 'text'=>'links', 'href'=>'links-url' ), |
|||
array( 'text'=>'torus', 'href'=>'torus-url' ), |
|||
array( 'text'=>'manual', 'href'=>'manual-url' ), |
|||
array( 'text'=>'whatsnew', 'href'=>'whatsnew-url' ), |
|||
array( 'text'=>'recentchanges', 'href'=>'recentchanges-url' ), |
|||
array( 'text'=>'randompage', 'href'=>'randompage-url' ), |
|||
array( 'text'=>'help', 'href'=>'helppage' ), |
|||
); |
|||
include("extensions/IfPageExists.php"); |
|||
</pre> |
</pre> |
||
⚫ | |||
<pre> |
|||
$IP = "c:\\path\\to\\document-root\\w"; |
|||
</pre> |
|||
Replace the 3 colons in the next line, beginning ini_set, to semicolons. |
|||
==Setting up texvc== |
|||
⚫ | |||
katlas uses the <nowiki><math></nowiki> tags frequently, so you'll need to get texvc working. First try [[Media:Texvc win32 mediawiki1.4.7.zip|this precompiled binary]]. Put it in /w/math/. Then edit /w/includes/Math.php, replacing the line |
|||
<pre> |
|||
wfDebug( "TeX: ".$cmd ); |
|||
$wgDBuser = "****"; |
|||
with |
|||
$wgDBpassword = "****"; |
|||
$cmd=str_replace("'", "\"", $cmd); |
|||
</pre> |
|||
wfDebug( "TeX: ".$cmd ); |
|||
to |
|||
⚫ | |||
<pre> |
|||
// need to comment this out to work on windows. |
|||
$wgDBuser = "root"; |
|||
/* if( !is_executable( $wgTexvc ) ) { |
|||
$wgDBpassword = ""; |
|||
return $this->_error( 'math_notexvc' ); |
|||
</pre> |
|||
} */ |
|||
⚫ | |||
<pre> |
|||
Then edit LocalSettings.php to enable texvc. |
|||
# $wgUseImageResize = true; |
|||
# $wgUseImageMagick = true; |
|||
# $wgImageMagickConvertCommand = "/usr/bin/convert"; |
|||
</pre> |
|||
and |
|||
<pre> |
|||
# $wgUseTeX = true; |
|||
# $wgMathPath = "{$wgUploadPath}/math"; |
|||
# $wgMathDirectory = "{$wgUploadDirectory}/math"; |
|||
</pre> |
|||
It should be possible to get both ImageMagick and TeX working on a windows server; feel free to add the instructions, or links to them. See the instructions at [http://meta.wikimedia.org/wiki/Running_MediaWiki_on_Windows meta] for starters. |
Latest revision as of 23:26, 9 December 2005
Downloads
You'll need to download three things:
- The Saint WAMP (a pre-built combination of Apache, MySQL and PHP, for windows.)
- From http://sourceforge.net/projects/yawamp/
- Get version 3.4 or greater (with PHP 5).
- The katlas web site
- The latest backup, created nightly, is at http://katlas.math.toronto.edu/backup/web-backup.tar.gz
- You may want to begin downloading this while you install Saint; it's a big download (>200mb).
- The katlas sql database
- Again, the nightly backup is at http://katlas.math.toronto.edu/backup/wikidb-backup.sql.gz
(It is certainly possible to do this without Saint; I've successfully installed all the components separately in the past. --Scott 21:05, 4 Dec 2005 (EST))
Install Saint
Just run the executable. You can just accept all the default choices. (Although I'd recommend not installing filezilla or hamster.) In the last dialog box, you'll be given the option to start the service (selected by default). Do this!
(Troubleshooting - I installed Saint in a directory without spaces in the path; your results may vary.)
Configuring Saint
(See also the Saint README for further details.)
Start the content server
You should see in the system tray the Apache icon. If you'll double click on it, you'll see the Apache Service Monitor showing that the TSW-Controlserver is installed. We need to install the TSW-Contentserver as well.
Under the windows Start menu, find the TSW folder. Go to the WEB subfolder, and select 'TSW Contentserver install'. This should start the Apache Service Monitor. (If it doesn't, start it separately.) Now you'll see the TSW Contentserver. Click start!
(Troubleshooting - perhaps copy and paste the commandline of this shortcut, and run it from a commandline?)
(Troubleshooting - the most likely cause of problems in getting Saint started is already having programs bound the ports 80 (http) and 443 (https). You can quickly check for this by typing netstat -a
at the command line. Using netstat -a -b
will (attempt) to give the name of executable which bound to each port. For example, for some reason Skype binds to ports 80 and 443, and I had to disable it before installing Saint.)
Change the document root (optional)
Open httpd.conf, and modify the DocumentRoot line. You'll also need to change the line <Directory htdocs>
to something like <Directory "c:\path\to\DocumentRoot\">
. Make sure you've created the directory, then restart the Contentserver service using the Apache Service Monitor.
Allow .htaccess files to rewrite URLs
katlas depends on a .htaccess file to specifying rewriting rules for URLs. By default, Saint doesn't allow .htaccess files to work. Edit the http.conf file (see above), and uncomment the line
#LoadModule rewrite_module modules/mod_rewrite.so
Also change the later line
AllowOverride None
to
AllowOverride All
You'll need to restart the Contentserver service.
Start the SQL database
Under the TSW folder in the start menu, go to the DB/MySQL folder, and run MyWinSQLAdmin. Enter whatever username and password you like to create the instance. The SQL administration program automatically minimises to the system tray, as a green traffic light.
Install katlas
Unpack the archives
Move the two .gz files you downloaded from http://katlas.math.toronto.edu/backup/ to your document root directory. If you didn't change it above, the default is Apache2/htdocs under the directory you installed the Saint in. (So quite likely c:\Program Files\TSW\Apache2\htdocs\
.
Unzip and untar as appropriate. Unfortunately the web backup contains some other stuff you don't need; feel free to delete the Topology0506, webalizer, and phpmyadmin directories.
Warning: you may not have the .htaccess file in the document root - it's not in the web backup from katlas. Recreate it containing the lines:
RewriteEngine on RewriteBase / RewriteRule ^wiki/?(.*)$ w/index.php?title=$1 [L]
Import the katlas SQL database
Before we can import the database, we need to create it. If you're comfortable using MySQL, just create a new database called 'wikidb'. Otherwise, use the web interface provided by Saint:
- Go to http://localhost:3000/
- You'll be prompted for a username and password. These are initially
admin
andaccessrequired
. - (optional) Change to English, using the drop down box at the top left of the window.
- Select 'PHPMYADMIN' from the toolbox on the left.
- In the 'Create new database' box, type 'wikidb' and click 'create'.
Now use the command line mysql interface: from the command line, go to c:\path\to\tsw\DB\MySQL4\bin and run mysql -u root -p
. Leave the password blank. Switch the wikidb database with use wikidb
, then import the database, with
source c:\path\to\document-root\wikidb-backup.sql
Get some coffee! (It actually doesn't take too long.)
Prepare the mediawiki installation
Things won't just work out of the box. I think it's best to do a mediawiki install, then re-incorporate KnotAtlas specific settings. In the w/ directory of your document root, delete or rename LocalSettings.php and config/LocalSettings.php
Now open a web browser, and go to http://localhost/w/config/
Hopefully this will work okay! Fill in the form, making sure you enter:
wiki name: Knot Atlas (with the space!) database name: wikidb database table prefix: mw_
Hopefully everything will work, and you'll see
Success! Move the config/LocalSettings.php file into the parent directory, then follow this link to your wiki.
If so, do exactly that, and go enjoy your handiwork!
You'll need to move a few things across from the original katlas LocalSettings.php (and if this is a permanent mirror, look carefully for other things!), in particular the namespace definitions, navigation links and ifpageexists extension:
$wgExtraNamespaces = array(100 => "Data", 101 => "Data_talk", 102 => "Article", 103 => "Article_talk"); # Enable subpages in the knot data namespace $wgNamespacesWithSubpages[100] = 1; $wgNamespacesWithSubpages[101] = 1; $wgNamespacesWithSubpages[102] = 1; $wgNamespacesWithSubpages[103] = 1; $wgNavigationLinks = array ( array( 'text'=>'mainpage', 'href'=>'mainpage' ), array( 'text'=>'todo', 'href'=>'todo-url' ), array( 'text'=>'rolfsen', 'href'=>'rolfsen-url' ), array( 'text'=>'thistlethwaite', 'href'=>'thistlethwaite-url' ), array( 'text'=>'links', 'href'=>'links-url' ), array( 'text'=>'torus', 'href'=>'torus-url' ), array( 'text'=>'manual', 'href'=>'manual-url' ), array( 'text'=>'whatsnew', 'href'=>'whatsnew-url' ), array( 'text'=>'recentchanges', 'href'=>'recentchanges-url' ), array( 'text'=>'randompage', 'href'=>'randompage-url' ), array( 'text'=>'help', 'href'=>'helppage' ), ); include("extensions/IfPageExists.php");
Setting up texvc
katlas uses the <math> tags frequently, so you'll need to get texvc working. First try this precompiled binary. Put it in /w/math/. Then edit /w/includes/Math.php, replacing the line
wfDebug( "TeX: ".$cmd );
with
$cmd=str_replace("'", "\"", $cmd); wfDebug( "TeX: ".$cmd );
You'll also need to comment out:
// need to comment this out to work on windows. /* if( !is_executable( $wgTexvc ) ) { return $this->_error( 'math_notexvc' ); } */
Then edit LocalSettings.php to enable texvc.