Don't use the root directory for English - use separate folders for each
wiki installation. I host about 50 wikis on the same server, some with their
own domain names, some under a common name.
wikis.site.com/wiki1
wikis.site.com/wiki2
wikis.site.com/wiki3
wikis.site.com/wiki4
All under /var/www/wikis: ./wiki1 ./wiki2 ./wiki3 and so on.
Sites with a different domain I keep separate: /var/www/site1
/var/www/site2 etc...
Just copy the wiki software into each folder and set it up as usual. The
main trick is to prevent session mixing, since the same user can access a
wiki on the same domain. Just add a line to LocalSettings here:
$wgSitename = "YourWikiName";
ini_set("session.name", "{$wgSitename}Session"); // Added line
That allows a user to save their login on each wiki, even when it is in the
same domain.
Here's my whole process for creating a brand new wiki (Fedora Core 4 -
pretty much the same for Mandrake too, except you don't need paths for
useradd and service commands)
ssh to server
su
cd /var/www/wikis
mkdir newwiki
cd newwiki
cp -R /home/mhart/mediawiki-1.5.x/* ./
chmod a+w config
mysql -p (enter password)
mysql> create database newwikidb;
mysql> grant all privileges on newwikidb.* to
'newwiki_user'@'localhost'
identified by 'newwiki_password';
mysql> quit
Then I browse to the site:
mysite.com/newwiki and run the setup. Then...
cp config/LocalSettings.php ./
chmod a-w config
vi LocalSettings.php
then find the $wgSiteName and add the line I showed above (ini_set)
:wq (write and quit)
cd .. (now I'm in /var/www/wikis)
/usr/sbin/useradd -d /var/www/wikis/newwiki newwiki
passwd newwiki (enter password twice)
chown -R newwiki newwiki
chgrp -R apache newwiki
vi /etc/vsftpd/chroot_list (to add that user to the chroot list for FTP
access - I already configured vsftpd for chrooting)
:wq
Then I create a backup cron job for the user - my default mediawiki install
has a mysql\ folder in for database backup:
crontab -e
50 23 * * * /home/mhart/backup.sh /var/www/wikis/newwiki/mysql newwikidb
newwiki (parameters are path for backup, database name, owner name)
:wq
And I'm done - takes me five minutes :-)
If the wiki is on a different website, I use Apache vhosting:
vi /etc/httpd/conf/httpd.conf
(find the virtual hosting stuff)
<VirtualHost 111.222.33.44>
ServerName
whatever.com
DocumentRoot /var/www/whatever
TransferLog /var/www/whatever/logs
</VirtualHost>
:wq
Then restart Apache:
/sbin/service httpd restart
An extra 90 seconds :-)
- MHart
----- Original Message -----
From: "Laurie Lewis" <ldlewis(a)swiftdsl.com.au>
To: <mediawiki-l(a)Wikimedia.org>
Sent: Wednesday, December 14, 2005 6:47 PM
Subject: [Mediawiki-l] Small Wiki Farm
Sorry but any assistance gratefully accepted. I am
very new to this and
trying to set up a number of wikis on the one site. All of them will
deal with the same topic they are just in different languages. I have
been playing around with it for a while but seem to just keep breaking
it. I also found this article but I am having some problems following
it.
How do I create a small wiki farm?
After copying the mediawiki source tree in /opt/mediawiki/ you need to
run something like:
mkdir .../wiki
cd .../wiki
mkdir images
ln -s /opt/mediawiki/languages /opt/mediawiki/maintenance \
/opt/mediawiki/skins /opt/mediawiki/redirect.php .
cp -a /opt/mediawiki/config/ .
chown www-data: config/
cp /opt/mediawiki/index.php index.php
Then add /opt/mediawiki to the commands which set the include_path in
config/index.php and add something like this to the main index.php:
ini_set( "include_path", "/opt/mediawiki:." ); # line added
require_once( 'includes/Defines.php' ); # this line used to include
'./includes/Defines.php'
* make sure your webserver can read from /opt/mediawiki
What I have done so far.
Mkdir mediawiki //Placed all the mediawiki files into this
directory
Created directories for
French
Danish
Spanish
German
Using root directory for English
Created symbolic links for all files and directories in /mediawiki in
each language based directory
Ran the installation process for each language based wiki and moved
LocalSettings.php
For each wiki I am using a separate database as when I tried to use one
database with prefixes it did not work - It would not show appropriate
languages for each wiki but got stuck on one.
The only settings that different in each of the wiki's is basically the
languagecode and databasename. I have tried moving nearly all the
settings from the LocalSettings.php to a CommonSettings.php file and
calling it with an include_once statement but this just seems to break
things also.
Can anyone give me some very simple instructions on how to do this.
Thanks
Laurie
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)Wikimedia.org
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l