Difference between revisions of "Patent Data Project Wiki"

From edegan.com
Jump to navigation Jump to search
imported>Ed
imported>Ed
Line 117: Line 117:
 
  $wgGroupPermissions['*']['edit'] = false; #Stops editing without an account, globally
 
  $wgGroupPermissions['*']['edit'] = false; #Stops editing without an account, globally
 
  $wgEnableUploads = true; #Note that the max upload size is likely dictated by max_upload_filesize in php.ini
 
  $wgEnableUploads = true; #Note that the max upload size is likely dictated by max_upload_filesize in php.ini
 +
 +
Edit (or create by going to): 
 +
http://www.nber.org/~edegan/w/index.php/MediaWiki:Sidebar
 +
 +
* navigation
 +
** mainpage|mainpage-description
 +
** portal-url|portal
 +
** currentevents-url|currentevents
 +
** recentchanges-url|recentchanges
 +
** randompage-url|randompage
 +
** helppage|help
 +
** Special:MultipleUpload|Upload Multiple Files
 +
* SEARCH
 +
* TOOLBOX
 +
* LANGUAGES
  
 
===Extensions===
 
===Extensions===
Line 128: Line 143:
 
  chmod 777 -R UserMerge/
 
  chmod 777 -R UserMerge/
  
 +
wget http://upload.wikimedia.org/ext-dist/ImportUsers-MW1.18-r91995.tar.gz
 +
tar -xzf ImportUsers-MW1.18-r91995.tar.gz
 +
chmod 777 -R ImportUsers/
  
 +
wget http://upload.wikimedia.org/ext-dist/MultiUpload-MW1.18-r91995.tar.gz
 +
tar -xzf MultiUpload-MW1.18-r91995.tar.gz
 +
chmod 777 -R MultiUpload/
  
 
Add the following to the bottom of LocalSettings.php
 
Add the following to the bottom of LocalSettings.php
 +
 +
#SimpleSecurity
 +
$wgSecurityUseDBHook = true; # Add this to enable the experimental DB hook for stronger security
 +
include_once("{$IP}/extensions/SimpleSecurity/SimpleSecurity.php");
 +
# All other SimpleSecurity directives MUST be specified after the include or the defaults will override them.
 +
$wgSecurityRenderInfo = true;
 +
$wgSecurityAllowUnreadableLinks = false;
 +
$wgPageRestrictions['Category:Servers']['read'] = 'sysop';
 +
$wgSecurityExtraGroups = array(
 +
  'students' => 'Students',
 +
  'faculty' => 'Faculty,
 +
  'staff' => 'Staff',
 +
);
  
 
#Renameuser (this is installed by default in the extensions folder)
 
#Renameuser (this is installed by default in the extensions folder)
Line 138: Line 172:
 
require_once( "$IP/extensions/UserMerge/UserMerge.php" );
 
require_once( "$IP/extensions/UserMerge/UserMerge.php" );
 
$wgGroupPermissions['bureaucrat']['usermerge'] = true;
 
$wgGroupPermissions['bureaucrat']['usermerge'] = true;
 +
 +
#ImportUsers
 +
require_once("$IP/extensions/ImportUsers/SpecialImportUsers.php");
 +
 +
#MultipleUpload
 +
require_once("$IP/extensions/MultiUpload/SpecialMultipleUpload.php");
 +
$wgMaxUploadFiles=10;

Revision as of 17:33, 7 February 2012

The patent data project wiki is intended to be a central location for cooperative development, data dissemination, and information provision for the Patent Data Project at the NBER.

This page details the installation and configuration of the wiki.

Getting the files

See the download page for mediawiki

Do the following:

nber7%> wget http://download.wikimedia.org/mediawiki/1.18/mediawiki-1.18.1.tar.gz

Note that we use mediawiki version 1.18.1.

Installation

The official mediawiki Installation guide

Check that PHP is higher than version 5.2.3 (and not 5.3.1):

nber7%> php -v
PHP 5.3.3 (cli) (built: Jul 22 2010 15:57:00)

Check that MySQL is version 4.0 or higher:

nber7%> mysql -h mysql.nber.org -u wikipatent -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7991397
Server version: 5.1.48-log FreeBSD port: mysql-server-5.1.48

We will also need:

  • ImageMagick or GD is required for image thumbnailing.
  • TeX is required for the in-line display of mathematical formulae.
  • Sendmail is required in order for the system to be able to send e-mails.

Extract the tar.gz and put the files in a directory called 'w' under public_html:

tar xvzf mediawiki-*.tar.gz
mv mediawiki-1.18.1 ../public_html/
cd ../public_html/
mv mediawiki-1.18.1/ w/

Mohan at the NBER created a database for the wiki. Check it's configuration now.

nber7%> mysql -h mysql.nber.org -u wikipatent -p
mysql> show GRANTS;
+----------------------------------------------------------------------------------+
| Grants for wikipatent@%                                                          |
+----------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wikipatent'@'%' IDENTIFIED BY PASSWORD '610973195c4dda6b' |
| GRANT ALL PRIVILEGES ON `patentwiki`.* TO 'wikipatent'@'%'                       |
+----------------------------------------------------------------------------------+
2 rows in set (0.02 sec)

Fix the permissions so we can set up the wiki in directory 'w' (tighten them afterwards):

chmod 777 -R w

Browse to http://www.nber.org/~edegan/w/index.php and click the 'set-up the wiki' link.


Basic Configuration

Make the following choices in the web-based interface (otherwise use the defaults):

Database host: mysql.nber.org
Database name: patentwiki
Database username: wikipatent
Database password: ******** (available from Mohan)
Name of wiki: PDPWiki
Your name: wikiadmin
Password: ******** (same as above)
Password again: ******** (same as above)
Enable user talk page notification: yes
Enable watchlist notification: yes
WikiEditor: yes
Renameuser: yes
Enable file uploads: yes (directory for deleted files: /disk/homes2b/nber/edegan/public_html/w/images/deleted)
Logo Url: /disk/homes2b/nber/edegan/public_html/wiki.png

Then click the final continues...

Save the offered LocalSettings.php file. Then upload it into the w directory, and chmod 777 LocalSettings.php (tighten the security again later).

There where also the following notices:

  • ImageMagick was found
  • intl PECL extension was not available (this is not crucial unless the traffic is high) [1]
  • The uploads directory has a security vulnerability that needs closing [2]

There was also the following database warning:

Warning: You have selected MyISAM as storage engine for MySQL, 
which is not recommended for use with MediaWiki, because:
*it barely supports concurrency due to table locking 
*it is more prone to corruption than other engines 
*the MediaWiki codebase does not always handle MyISAM as it should 

If your MySQL installation supports InnoDB, it is highly recommended 
that you choose that instead. If your MySQL installation does not 
support InnoDB, maybe it's time for an upgrade.

Note that the configuration page is here: http://www.nber.org/~edegan/w/mw-config/index.php

When we browsed to http://www.nber.org/~edegan/w/index.php we got a 500 internal server error. Adding the following code to the top of the page (below <?php) showed a problem with the ctype function. This was resolved by Mohan, who installed php5-ctype.

error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1 );
$wgShowExceptionDetails = true;

Configuration and Extensions

Configuration

Add the following to the bottom of LocalSettings.php

$wgGroupPermissions['*']['edit'] = false; #Stops editing without an account, globally
$wgEnableUploads = true; #Note that the max upload size is likely dictated by max_upload_filesize in php.ini

Edit (or create by going to): http://www.nber.org/~edegan/w/index.php/MediaWiki:Sidebar

  • navigation
    • mainpage|mainpage-description
    • portal-url|portal
    • currentevents-url|currentevents
    • recentchanges-url|recentchanges
    • randompage-url|randompage
    • helppage|help
    • Special:MultipleUpload|Upload Multiple Files
  • SEARCH
  • TOOLBOX
  • LANGUAGES

Extensions

Note that UserRightsList does not appear to work for v1.18 (this has been reported to the author)

From the extensions directory, do the following:

wget http://upload.wikimedia.org/ext-dist/UserMerge-MW1.18-r91995.tar.gz
tar -xzf UserMerge-MW1.18-r91995.tar.gz
chmod 777 -R UserMerge/
wget http://upload.wikimedia.org/ext-dist/ImportUsers-MW1.18-r91995.tar.gz
tar -xzf ImportUsers-MW1.18-r91995.tar.gz
chmod 777 -R ImportUsers/
wget http://upload.wikimedia.org/ext-dist/MultiUpload-MW1.18-r91995.tar.gz
tar -xzf MultiUpload-MW1.18-r91995.tar.gz
chmod 777 -R MultiUpload/

Add the following to the bottom of LocalSettings.php

  1. SimpleSecurity

$wgSecurityUseDBHook = true; # Add this to enable the experimental DB hook for stronger security include_once("{$IP}/extensions/SimpleSecurity/SimpleSecurity.php");

  1. All other SimpleSecurity directives MUST be specified after the include or the defaults will override them.

$wgSecurityRenderInfo = true; $wgSecurityAllowUnreadableLinks = false; $wgPageRestrictions['Category:Servers']['read'] = 'sysop'; $wgSecurityExtraGroups = array(

  'students' => 'Students',
  'faculty' => 'Faculty,
  'staff' => 'Staff',

);

  1. Renameuser (this is installed by default in the extensions folder)

require_once("$IP/extensions/Renameuser/Renameuser.php");

  1. UserMergeAndDelete

require_once( "$IP/extensions/UserMerge/UserMerge.php" ); $wgGroupPermissions['bureaucrat']['usermerge'] = true;

  1. ImportUsers

require_once("$IP/extensions/ImportUsers/SpecialImportUsers.php");

  1. MultipleUpload

require_once("$IP/extensions/MultiUpload/SpecialMultipleUpload.php"); $wgMaxUploadFiles=10;