Mediawiki setup
Typical configuration options
In LocalSettings.php (possible locations: /var/lib/mediawiki/, /var/lib/mediawiki/config/, or /etc/mediawiki/)
Change your logo (picture in top-left corner):
$wgLogo = "http://urlpath/to/my/logo/picture.png";
Disable new user creation:
$wgGroupPermissions['*']['createaccount'] = false;
Disable editing and creating pages by anonymous users:
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createpage'] = false;
Disable reading by anonymous users, except for certain pages:
$wgGroupPermissions['*']['read'] = false; $wgWhitelistRead = array ( "Main Page", "Special:Userlogin");
Creating another wiki on the same webserver
- create a new directory (say wiki2) in the document root.
- lndir the /opt/mediawiki to the new directory,
- assign the appropriate permissions to directories and
- visit the wiki (http://localhost/wiki2) for configuration. Make sure that the database name, user and table prefix are different for this wiki.
Recovering wiki after upgrade
This is what happened: I upgraded Ubuntu to 8.04 and all of a sudden my wiki was unreachable... Investigation showed that there is a new mediawili installed, wiping almost all of the old configuration, including the /var/lib/mediawiki-?? with links.
Luckily I had the Localhost.php with settings in the old /etc/mediawiki-?? directory that was not wiped. After investigating I found that the content of the wiki remained in the mysql database. That gave me a hope, and this is what I did:
- recreated mysql passwords for the wikiuser and mysql-root. You can reset root password - stop mysql and start the daemon with no-
- reset mysql root password
sudo /etc/init.d/mysql stop sudo mysqld --skip-grant-tables mysql -u root mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit sudo mysqladmin shutdown -u root sudo /etc/init.d/mysql start
- Change mysql wikiuser password
$ mysql -u root -p mysql> use mysql; mysql> update user set password=PASSWORD("NEWPASSWORD") where User='wikiuser'; mysql> flush privileges; mysql> quit
- created a new root directory for the wiki (actually several for several wiki's)
sudo mkdir /var/lib/wiki
- used lndir to create links in the new directory
cd /var/lib/wiki lndir <insert your parameters here>
- added the following fragment to set up mediawiki with apache2: create/add this in /etc/mediawiki/apache.cnf
Alias /wiki /var/lib/wiki #=== My wiki === <Directory /var/lib/wiki/> Options +FollowSymLinks AllowOverride All order allow,deny allow from all </Directory> # some directories must be protected <Directory /var/lib/wiki/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /var/lib/wiki/upload> Options -FollowSymLinks AllowOverride None </Directory>
- made sure /etc/apache2/conf.d has a link to the file above (in /etc/mediawiki/apache.conf)
- started web pointing to http://example.com/wiki and
- set all the parameters as before, except using the new mysql passwords as appropriate.
- compared the newly created Localsettings.php with my old (if present) and copied that into /var/lib/wiki, and set the permissions so that it could not be changed by anyone or read by anyone but the www-data (webserver).