, 2006 Rob Church # http://www.mediawiki.org/ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # http://www.gnu.org/copyleft/gpl.html error_reporting( E_ALL ); header( "Content-type: text/html; charset=utf-8" ); @ini_set( "display_errors", true ); # In case of errors, let output be clean. $wgRequestTime = microtime( true ); # Attempt to set up the include path, to fix problems with relative includes $IP = dirname( dirname( __FILE__ ) ); define( 'MW_INSTALL_PATH', $IP ); # Define an entry point and include some files define( "MEDIAWIKI", true ); define( "MEDIAWIKI_INSTALL", true ); // Run version checks before including other files // so people don't see a scary parse error. require_once( "$IP/install-utils.inc" ); install_version_checks(); require_once( "$IP/includes/Defines.php" ); require_once( "$IP/includes/DefaultSettings.php" ); require_once( "$IP/includes/AutoLoader.php" ); require_once( "$IP/includes/MagicWord.php" ); require_once( "$IP/includes/Namespace.php" ); require_once( "$IP/includes/ProfilerStub.php" ); require_once( "$IP/includes/GlobalFunctions.php" ); require_once( "$IP/includes/Hooks.php" ); # If we get an exception, the user needs to know # all the details $wgShowExceptionDetails = true; ## Databases we support: $ourdb = array(); $ourdb['mysql']['fullname'] = 'MySQL'; $ourdb['mysql']['havedriver'] = 0; $ourdb['mysql']['compile'] = 'mysql'; $ourdb['mysql']['bgcolor'] = '#ffe5a7'; $ourdb['mysql']['rootuser'] = 'root'; $ourdb['postgres']['fullname'] = 'PostgreSQL'; $ourdb['postgres']['havedriver'] = 0; $ourdb['postgres']['compile'] = 'pgsql'; $ourdb['postgres']['bgcolor'] = '#aaccff'; $ourdb['postgres']['rootuser'] = 'postgres'; ?> MediaWiki <?php echo( $wgVersion ); ?> Installation

MediaWiki Installation

Setup has completed, your wiki is configured.

Please delete the /config directory for extra security.

" ); } if( file_exists( "./LocalSettings.php" ) ) { writeSuccessMessage(); dieout( '' ); } if( !is_writable( "." ) ) { dieout( "

Can't write config file, aborting

In order to configure the wiki you have to make the config subdirectory writable by the web server. Once configuration is done you'll move the created LocalSettings.php to the parent directory, and for added safety you can then remove the config subdirectory entirely.

To make the directory writable on a Unix/Linux system:

	cd /path/to/wiki
	chmod a+w config
	

Afterwards retry to start the setup.

" ); } require_once( "$IP/install-utils.inc" ); require_once( "$IP/maintenance/updaters.inc" ); class ConfigData { function getEncoded( $data ) { # removing latin1 support, no need... return $data; } function getSitename() { return $this->getEncoded( $this->Sitename ); } function getSysopName() { return $this->getEncoded( $this->SysopName ); } function getSysopPass() { return $this->getEncoded( $this->SysopPass ); } function setSchema( $schema, $engine ) { $this->DBschema = $schema; if ( !preg_match( '/^\w*$/', $engine ) ){ $engine = 'InnoDB'; } switch ( $this->DBschema ) { case 'mysql5': $this->DBTableOptions = "ENGINE=$engine, DEFAULT CHARSET=utf8"; $this->DBmysql5 = 'true'; break; case 'mysql5-binary': $this->DBTableOptions = "ENGINE=$engine, DEFAULT CHARSET=binary"; $this->DBmysql5 = 'true'; break; default: $this->DBTableOptions = "TYPE=$engine"; $this->DBmysql5 = 'false'; } $this->DBengine = $engine; # Set the global for use during install global $wgDBTableOptions; $wgDBTableOptions = $this->DBTableOptions; } } ?>

Checking environment...

Please include all of the lines below when reporting installation problems.

" ); } print "
  • Found database drivers for:"; $DefaultDBtype = ''; foreach (array_keys($ourdb) AS $db) { if ($ourdb[$db]['havedriver']) { if ( $DefaultDBtype == '' ) { $DefaultDBtype = $db; } print " ".$ourdb[$db]['fullname']; } } print "
  • \n"; if( ini_get( "register_globals" ) ) { ?>
  • Warning: PHP's register_globals option is enabled. Disable it if you can.
    MediaWiki will work, but your server is more exposed to PHP-based security vulnerabilities.
  • Fatal: magic_quotes_runtime is active! This option corrupts data input unpredictably; you cannot install or use MediaWiki unless this option is disabled.
  • Fatal: magic_quotes_sybase is active! This option corrupts data input unpredictably; you cannot install or use MediaWiki unless this option is disabled.
  • Fatal: mbstring.func_overload is active! This option causes errors and may corrupt data unpredictably; you cannot install or use MediaWiki unless this option is disabled.
  • Fatal: zend.ze1_compatibility_mode is active! This option causes horrible bugs with MediaWiki; you cannot install or use MediaWiki unless this option is disabled.

    Cannot install MediaWiki.

    " ); } if( ini_get( "safe_mode" ) ) { $conf->safeMode = true; ?>
  • Warning: PHP's safe mode is active. You may have problems caused by this, particularly if using image uploads.
  • safeMode = false; } $sapi = php_sapi_name(); print "
  • PHP server API is $sapi; "; $script = defined('MW_INSTALL_PHP5_EXT') ? 'index.php5' : 'index.php'; if( $wgUsePathInfo ) { print "ok, using pretty URLs ($script/Page_Title)"; } else { print "using ugly URLs ($script?title=Page_Title)"; } print "
  • \n"; $conf->xml = function_exists( "utf8_encode" ); if( $conf->xml ) { print "
  • Have XML / Latin1-UTF-8 conversion support.
  • \n"; } else { dieout( "PHP's XML module is missing; the wiki requires functions in this module and won't work in this configuration. If you're running Mandrake, install the php-xml package." ); } # Check for session support if( !function_exists( 'session_name' ) ) dieout( "PHP's session module is missing. MediaWiki requires session support in order to function." ); # session.save_path doesn't *have* to be set, but if it is, and it's # not valid/writable/etc. then it can cause problems $sessionSavePath = mw_get_session_save_path(); $ssp = htmlspecialchars( $sessionSavePath ); # Warn the user if it's not set, but let them proceed if( !$sessionSavePath ) { print "
  • Warning: A value for session.save_path has not been set in PHP.ini. If the default value causes problems with saving session data, set it to a valid path which is read/write/execute for the user your web server is running under.
  • "; } elseif ( is_dir( $sessionSavePath ) && is_writable( $sessionSavePath ) ) { # All good? Let the user know print "
  • Session save path ({$ssp}) appears to be valid.
  • "; } else { # Something not right? Warn the user, but let them proceed print "
  • Warning: Your session.save_path value ({$ssp}) appears to be invalid or is not writable. PHP needs to be able to save data to this location for correct session operation.
  • "; } # Check for PCRE support if( !function_exists( 'preg_match' ) ) dieout( "The PCRE support module appears to be missing. MediaWiki requires the Perl-compatible regular expression functions." ); $memlimit = ini_get( "memory_limit" ); $conf->raiseMemory = false; if( empty( $memlimit ) || $memlimit == -1 ) { print "
  • PHP is configured with no memory_limit.
  • \n"; } else { print "
  • PHP's memory_limit is " . htmlspecialchars( $memlimit ) . ". "; $n = intval( $memlimit ); if( preg_match( '/^([0-9]+)[Mm]$/', trim( $memlimit ), $m ) ) { $n = intval( $m[1] * (1024*1024) ); } if( $n < 20*1024*1024 ) { print "Attempting to raise limit to 20M... "; if( false === ini_set( "memory_limit", "20M" ) ) { print "failed.
    " . htmlspecialchars( $memlimit ) . " seems too low, installation may fail!"; } else { $conf->raiseMemory = true; print "ok."; } } print "
  • \n"; } $conf->turck = function_exists( 'mmcache_get' ); if ( $conf->turck ) { print "
  • Turck MMCache installed
  • \n"; } $conf->xcache = function_exists( 'xcache_get' ); if( $conf->xcache ) print "
  • XCache installed
  • "; $conf->apc = function_exists('apc_fetch'); if ($conf->apc ) { print "
  • APC installed
  • "; } $conf->eaccel = function_exists( 'eaccelerator_get' ); if ( $conf->eaccel ) { $conf->turck = 'eaccelerator'; print "
  • eAccelerator installed
  • \n"; } if( !( $conf->turck || $conf->eaccel || $conf->apc || $conf->xcache ) ) { echo( '
  • Couldn\'t find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching.
  • ' ); } $conf->diff3 = false; $diff3locations = array_merge( array( "/usr/bin", "/usr/local/bin", "/opt/csw/bin", "/usr/gnu/bin", "/usr/sfw/bin" ), explode( PATH_SEPARATOR, getenv( "PATH" ) ) ); $diff3names = array( "gdiff3", "diff3", "diff3.exe" ); $diff3versioninfo = array( '$1 --version 2>&1', 'diff3 (GNU diffutils)' ); foreach ($diff3locations as $loc) { $exe = locate_executable($loc, $diff3names, $diff3versioninfo); if ($exe !== false) { $conf->diff3 = $exe; break; } } if ($conf->diff3) print "
  • Found GNU diff3: $conf->diff3.
  • "; else print "
  • GNU diff3 not found.
  • "; $conf->ImageMagick = false; $imcheck = array( "/usr/bin", "/opt/csw/bin", "/usr/local/bin", "/sw/bin", "/opt/local/bin" ); foreach( $imcheck as $dir ) { $im = "$dir/convert"; if( file_exists( $im ) ) { print "
  • Found ImageMagick: $im; image thumbnailing will be enabled if you enable uploads.
  • \n"; $conf->ImageMagick = $im; break; } } $conf->HaveGD = function_exists( "imagejpeg" ); if( $conf->HaveGD ) { print "
  • Found GD graphics library built-in"; if( !$conf->ImageMagick ) { print ", image thumbnailing will be enabled if you enable uploads"; } print ".
  • \n"; } else { if( !$conf->ImageMagick ) { print "
  • Couldn't find GD library or ImageMagick; image thumbnailing disabled.
  • \n"; } } $conf->IP = dirname( dirname( __FILE__ ) ); print "
  • Installation directory: " . htmlspecialchars( $conf->IP ) . "
  • \n"; // PHP_SELF isn't available sometimes, such as when PHP is CGI but // cgi.fix_pathinfo is disabled. In that case, fall back to SCRIPT_NAME // to get the path to the current script... hopefully it's reliable. SIGH $path = ($_SERVER["PHP_SELF"] === '') ? $_SERVER["SCRIPT_NAME"] : $_SERVER["PHP_SELF"]; $conf->ScriptPath = preg_replace( '{^(.*)/config.*$}', '$1', $path ); print "
  • Script URI path: " . htmlspecialchars( $conf->ScriptPath ) . "
  • \n"; // We may be installing from *.php5 extension file, if so, print message $conf->ScriptExtension = '.php'; if (defined('MW_INSTALL_PHP5_EXT')) { $conf->ScriptExtension = '.php5'; print "
  • Installing MediaWiki with php5 file extensions
  • \n"; } else { print "
  • Installing MediaWiki with php file extensions
  • \n"; } print "
  • Environment checked. You can install MediaWiki.
  • \n"; $conf->posted = ($_SERVER["REQUEST_METHOD"] == "POST"); $conf->Sitename = ucfirst( importPost( "Sitename", "" ) ); $defaultEmail = empty( $_SERVER["SERVER_ADMIN"] ) ? 'root@localhost' : $_SERVER["SERVER_ADMIN"]; $conf->EmergencyContact = importPost( "EmergencyContact", $defaultEmail ); $conf->DBtype = importPost( "DBtype", $DefaultDBtype ); ?> DBserver = importPost( "DBserver", "localhost" ); $conf->DBname = importPost( "DBname", "wikidb" ); $conf->DBuser = importPost( "DBuser", "wikiuser" ); $conf->DBpassword = importPost( "DBpassword" ); $conf->DBpassword2 = importPost( "DBpassword2" ); $conf->SysopName = importPost( "SysopName", "WikiSysop" ); $conf->SysopPass = importPost( "SysopPass" ); $conf->SysopPass2 = importPost( "SysopPass2" ); $conf->RootUser = importPost( "RootUser", "root" ); $conf->RootPW = importPost( "RootPW", "" ); $useRoot = importCheck( 'useroot', false ); $conf->LanguageCode = importPost( "LanguageCode", "en" ); ## MySQL specific: $conf->DBprefix = importPost( "DBprefix" ); $conf->setSchema( importPost( "DBschema", "mysql4" ), importPost( "DBengine", "InnoDB" ) ); ## Postgres specific: $conf->DBport = importPost( "DBport", "5432" ); $conf->DBmwschema = importPost( "DBmwschema", "mediawiki" ); $conf->DBts2schema = importPost( "DBts2schema", "public" ); /* Check for validity */ $errs = array(); if( $conf->Sitename == "" || $conf->Sitename == "MediaWiki" || $conf->Sitename == "Mediawiki" ) { $errs["Sitename"] = "Must not be blank or \"MediaWiki\""; } if( $conf->DBuser == "" ) { $errs["DBuser"] = "Must not be blank"; } if( ($conf->DBtype == 'mysql') && (strlen($conf->DBuser) > 16) ) { $errs["DBuser"] = "Username too long"; } if( $conf->DBpassword == "" && $conf->DBtype != "postgres" ) { $errs["DBpassword"] = "Must not be blank"; } if( $conf->DBpassword != $conf->DBpassword2 ) { $errs["DBpassword2"] = "Passwords don't match!"; } if( !preg_match( '/^[A-Za-z_0-9]*$/', $conf->DBprefix ) ) { $errs["DBprefix"] = "Invalid table prefix"; } error_reporting( E_ALL ); /** * Initialise $wgLang and $wgContLang to something so we can * call case-folding methods. Per Brion, this is English for * now, although we could be clever and initialise to the * user-selected language. */ $wgContLang = Language::factory( 'en' ); $wgLang = $wgContLang; /** * We're messing about with users, so we need a stub * authentication plugin... */ $wgAuth = new AuthPlugin(); /** * Validate the initial administrator account; username, * password checks, etc. */ if( $conf->SysopName ) { # Check that the user can be created $u = User::newFromName( $conf->SysopName ); if( is_a($u, 'User') ) { // please do not use instanceof, it breaks PHP4 # Various password checks if( $conf->SysopPass != '' ) { if( $conf->SysopPass == $conf->SysopPass2 ) { if( !$u->isValidPassword( $conf->SysopPass ) ) { $errs['SysopPass'] = "Bad password"; } } else { $errs['SysopPass2'] = "Passwords don't match"; } } else { $errs['SysopPass'] = "Cannot be blank"; } unset( $u ); } else { $errs['SysopName'] = "Bad username"; } } $conf->License = importRequest( "License", "none" ); if( $conf->License == "gfdl" ) { $conf->RightsUrl = "http://www.gnu.org/copyleft/fdl.html"; $conf->RightsText = "GNU Free Documentation License 1.2"; $conf->RightsCode = "gfdl"; $conf->RightsIcon = '${wgScriptPath}/skins/common/images/gnu-fdl.png'; } elseif( $conf->License == "none" ) { $conf->RightsUrl = $conf->RightsText = $conf->RightsCode = $conf->RightsIcon = ""; } else { $conf->RightsUrl = importRequest( "RightsUrl", "" ); $conf->RightsText = importRequest( "RightsText", "" ); $conf->RightsCode = importRequest( "RightsCode", "" ); $conf->RightsIcon = importRequest( "RightsIcon", "" ); } $conf->Shm = importRequest( "Shm", "none" ); $conf->MCServers = importRequest( "MCServers" ); /* Test memcached servers */ if ( $conf->Shm == 'memcached' && $conf->MCServers ) { $conf->MCServerArray = array_map( 'trim', explode( ',', $conf->MCServers ) ); foreach ( $conf->MCServerArray as $server ) { $error = testMemcachedServer( $server ); if ( $error ) { $errs["MCServers"] = $error; break; } } } else if ( $conf->Shm == 'memcached' ) { $errs["MCServers"] = "Please specify at least one server if you wish to use memcached"; } /* default values for installation */ $conf->Email = importRequest("Email", "email_enabled"); $conf->Emailuser = importRequest("Emailuser", "emailuser_enabled"); $conf->Enotif = importRequest("Enotif", "enotif_allpages"); $conf->Eauthent = importRequest("Eauthent", "eauthent_enabled"); if( $conf->posted && ( 0 == count( $errs ) ) ) { do { /* So we can 'continue' to end prematurely */ $conf->Root = ($conf->RootPW != ""); /* Load up the settings and get installin' */ $local = writeLocalSettings( $conf ); echo "
  • \n"; echo "

    Generating configuration file...

    \n"; echo "
  • \n"; $wgCommandLineMode = false; chdir( ".." ); $ok = eval( $local ); if( $ok === false ) { dieout( "Errors in generated configuration; " . "most likely due to a bug in the installer... " . "Config file was: " . "
    " .
    				htmlspecialchars( $local ) .
    				"
    " . "" ); } $conf->DBtypename = ''; foreach (array_keys($ourdb) as $db) { if ($conf->DBtype === $db) $conf->DBtypename = $ourdb[$db]['fullname']; } if ( ! strlen($conf->DBtype)) { $errs["DBpicktype"] = "Please choose a database type"; continue; } if (! $conf->DBtypename) { $errs["DBtype"] = "Unknown database type '$conf->DBtype'"; continue; } print "
  • Database type: {$conf->DBtypename}
  • \n"; $dbclass = 'Database'.ucfirst($conf->DBtype); $wgDBtype = $conf->DBtype; $wgDBadminuser = "root"; $wgDBadminpassword = $conf->RootPW; ## Mysql specific: $wgDBprefix = $conf->DBprefix; ## Postgres specific: $wgDBport = $conf->DBport; $wgDBmwschema = $conf->DBmwschema; $wgDBts2schema = $conf->DBts2schema; $wgCommandLineMode = true; $wgUseDatabaseMessages = false; /* FIXME: For database failure */ require_once( "$IP/includes/Setup.php" ); chdir( "config" ); $wgTitle = Title::newFromText( "Installation script" ); error_reporting( E_ALL ); print "
  • Loading class: $dbclass"; $dbc = new $dbclass; if( $conf->DBtype == 'mysql' ) { $mysqlOldClient = version_compare( mysql_get_client_info(), "4.1.0", "lt" ); if( $mysqlOldClient ) { print "
  • PHP is linked with old MySQL client libraries. If you are using a MySQL 4.1 server and have problems connecting to the database, see http://dev.mysql.com/doc/mysql/en/old-client.html for help.
  • \n"; } $ok = true; # Let's be optimistic # Decide if we're going to use the superuser or the regular database user $conf->Root = $useRoot; if( $conf->Root ) { $db_user = $conf->RootUser; $db_pass = $conf->RootPW; } else { $db_user = $wgDBuser; $db_pass = $wgDBpassword; } # Attempt to connect echo( "
  • Attempting to connect to database server as $db_user..." ); $wgDatabase = Database::newFromParams( $wgDBserver, $db_user, $db_pass, '', 1 ); # Check the connection and respond to errors if( $wgDatabase->isOpen() ) { # Seems OK $ok = true; $wgDBadminuser = $db_user; $wgDBadminpassword = $db_pass; echo( "success.
  • \n" ); $wgDatabase->ignoreErrors( true ); $myver = $wgDatabase->getServerVersion(); } else { # There were errors, report them and back out $ok = false; $errno = mysql_errno(); $errtx = htmlspecialchars( mysql_error() ); switch( $errno ) { case 1045: case 2000: echo( "failed due to authentication errors. Check passwords." ); if( $conf->Root ) { # The superuser details are wrong $errs["RootUser"] = "Check username"; $errs["RootPW"] = "and password"; } else { # The regular user details are wrong $errs["DBuser"] = "Check username"; $errs["DBpassword"] = "and password"; } break; case 2002: case 2003: default: # General connection problem echo( "failed with error [$errno] $errtx.\n" ); $errs["DBserver"] = "Connection failed"; break; } # switch } #conn. att. if( !$ok ) { continue; } } else /* not mysql */ { error_reporting( E_ALL ); $wgSuperUser = ''; ## Possible connect as a superuser if( $useRoot ) { $wgDBsuperuser = $conf->RootUser; echo( "
  • Attempting to connect to database \"postgres\" as superuser \"$wgDBsuperuser\"..." ); $wgDatabase = $dbc->newFromParams($wgDBserver, $wgDBsuperuser, $conf->RootPW, "postgres", 1); if (!$wgDatabase->isOpen()) { print " error: " . $wgDatabase->lastError() . "
  • \n"; $errs["DBserver"] = "Could not connect to database as superuser"; $errs["RootUser"] = "Check username"; $errs["RootPW"] = "and password"; continue; } } echo( "
  • Attempting to connect to database \"$wgDBname\" as \"$wgDBuser\"..." ); $wgDatabase = $dbc->newFromParams($wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, 1); if (!$wgDatabase->isOpen()) { print " error: " . $wgDatabase->lastError() . "
  • \n"; } else { $myver = $wgDatabase->getServerVersion(); } } if ( !$wgDatabase->isOpen() ) { $errs["DBserver"] = "Couldn't connect to database"; continue; } print "
  • Connected to $myver"; if ($conf->DBtype == 'mysql') { if( version_compare( $myver, "4.0.14" ) < 0 ) { dieout( " -- mysql 4.0.14 or later required. Aborting." ); } $mysqlNewAuth = version_compare( $myver, "4.1.0", "ge" ); if( $mysqlNewAuth && $mysqlOldClient ) { print "; You are using MySQL 4.1 server, but PHP is linked to old client libraries; if you have trouble with authentication, see http://dev.mysql.com/doc/mysql/en/old-client.html for help."; } if( $wgDBmysql5 ) { if( $mysqlNewAuth ) { print "; enabling MySQL 4.1/5.0 charset mode"; } else { print "; MySQL 4.1/5.0 charset mode enabled, but older version detected; will likely fail."; } } print "
  • \n"; @$sel = $wgDatabase->selectDB( $wgDBname ); if( $sel ) { print "
  • Database " . htmlspecialchars( $wgDBname ) . " exists
  • \n"; } else { $err = mysql_errno(); $databaseSafe = htmlspecialchars( $wgDBname ); if( $err == 1102 /* Invalid database name */ ) { print ""; continue; } elseif( $err != 1049 /* Database doesn't exist */ ) { print ""; continue; } print "
  • Attempting to create database...
  • "; $res = $wgDatabase->query( "CREATE DATABASE `$wgDBname`" ); if( !$res ) { print "
  • Couldn't create database " . htmlspecialchars( $wgDBname ) . "; try with root access or check your username/pass.
  • \n"; $errs["RootPW"] = "<- Enter"; continue; } print "
  • Created database " . htmlspecialchars( $wgDBname ) . "
  • \n"; } $wgDatabase->selectDB( $wgDBname ); } else if ($conf->DBtype == 'postgres') { if( version_compare( $myver, "PostgreSQL 8.0" ) < 0 ) { dieout( " Postgres 8.0 or later is required. Aborting." ); } } if( $wgDatabase->tableExists( "cur" ) || $wgDatabase->tableExists( "revision" ) ) { print "
  • There are already MediaWiki tables in this database. Checking if updates are needed...
  • \n"; if ( $conf->DBtype == 'mysql') { # Determine existing default character set if ( $wgDatabase->tableExists( "revision" ) ) { $revision = $wgDatabase->escapeLike( $conf->DBprefix . 'revision' ); $res = $wgDatabase->query( "SHOW TABLE STATUS LIKE '$revision'" ); $row = $wgDatabase->fetchObject( $res ); if ( !$row ) { echo "
  • SHOW TABLE STATUS query failed!
  • \n"; $existingSchema = false; $existingEngine = false; } else { if ( preg_match( '/^latin1/', $row->Collation ) ) { $existingSchema = 'mysql4'; } elseif ( preg_match( '/^utf8/', $row->Collation ) ) { $existingSchema = 'mysql5'; } elseif ( preg_match( '/^binary/', $row->Collation ) ) { $existingSchema = 'mysql5-binary'; } else { $existingSchema = false; echo "
  • Warning: Unrecognised existing collation
  • \n"; } if ( isset( $row->Engine ) ) { $existingEngine = $row->Engine; } else { $existingEngine = $row->Type; } } if ( $existingSchema && $existingSchema != $conf->DBschema ) { print "
  • Warning: you requested the {$conf->DBschema} schema, " . "but the existing database has the $existingSchema schema. This upgrade script ". "can't convert it, so it will remain $existingSchema.
  • \n"; $conf->setSchema( $existingSchema, $conf->DBengine ); } if ( $existingEngine && $existingEngine != $conf->DBengine ) { print "
  • Warning: you requested the {$conf->DBengine} storage " . "engine, but the existing database uses the $existingEngine engine. This upgrade " . "script can't convert it, so it will remain $existingEngine.
  • \n"; $conf->setSchema( $conf->DBschema, $existingEngine ); } } # Create user if required if ( $conf->Root ) { $conn = $dbc->newFromParams( $wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, 1 ); if ( $conn->isOpen() ) { print "
  • DB user account ok
  • \n"; $conn->close(); } else { print "
  • Granting user permissions..."; if( $mysqlOldClient && $mysqlNewAuth ) { print " If the next step fails, see http://dev.mysql.com/doc/mysql/en/old-client.html for help."; } print "
  • \n"; dbsource( "../maintenance/users.sql", $wgDatabase ); } } } print "
    \n";
    			chdir( ".." );
    			flush();
    			do_all_updates();
    			chdir( "config" );
    			print "
    \n"; print "
    \n"; writeSuccessMessage(); } else { fclose( $f ); die("

    An error occured while writing the config/LocalSettings.php file. Check user rights and disk space then try again.

    \n"); print "\n"; } } while( false ); } ?> posted ) { echo "

    Something's not quite right yet; make sure everything below is filled out correctly.

    \n"; } ?>

    Site config

    Preferably a short word without punctuation, i.e. "Wikipedia".
    Will appear as the namespace name for "meta" pages, and throughout the interface.

    Displayed to users in some error messages, used as the return address for password reminders, and used as the default sender address of e-mail notifications.

    Select the language for your wiki's interface. Some localizations aren't fully complete. Unicode (UTF-8) is used for all localizations.

    • ScriptPath}/config/$script?License=cc&RightsUrl=[license_url]&RightsText=[license_name]&RightsCode=[license_code]&RightsIcon=[license_button]" ); $icon = urlencode( "$wgServer$wgUploadPath/wiki.png" ); $ccApp = htmlspecialchars( "http://creativecommons.org/license/?partner=$partner&exit_url=$exit&partner_icon_url=$icon" ); print "choose"; ?> License == "cc" ) { ?>
      • RightsIcon ) . "\" alt='(Creative Commons icon)' />", "hidden" ); ?>
      • RightsText ), "hidden" ); ?>
      • RightsCode ), "hidden" ); ?>
      • RightsUrl ) . "\">" . htmlspecialchars( $conf->RightsUrl ) . "", "hidden" ); ?>

    A notice, icon, and machine-readable copyright metadata will be displayed for the license you pick.

    An admin can lock/delete pages, block users from editing, and do other maintenance tasks.
    A new account will be added only when creating a new wiki database.

    The password cannot be the same as the username.

    • turck ) { echo "
    • "; aField( $conf, "Shm", "Turck MMCache", "radio", "turck" ); echo "
    • "; } if( $conf->xcache ) { echo( '
    • ' ); aField( $conf, 'Shm', 'XCache', 'radio', 'xcache' ); echo( '
    • ' ); } if ( $conf->apc ) { echo "
    • "; aField( $conf, "Shm", "APC", "radio", "apc" ); echo "
    • "; } if ( $conf->eaccel ) { echo "
    • "; aField( $conf, "Shm", "eAccelerator", "radio", "eaccel" ); echo "
    • "; } ?>

    An object caching system such as memcached will provide a significant performance boost, but needs to be installed. Provide the server addresses and ports in a comma-separated list.

    MediaWiki can also detect and support eAccelerator, Turck MMCache, APC, and XCache, but these should not be used if the wiki will be running on multiple application servers.

    E-mail, e-mail notification and authentication setup

    Use this to disable all e-mail functions (password reminders, user-to-user e-mail, and e-mail notifications) if sending mail doesn't work on your server.

    The user-to-user e-mail feature (Special:Emailuser) lets the wiki act as a relay to allow users to exchange e-mail without publicly advertising their e-mail address.

    For this feature to work, an e-mail address must be present for the user account, and the notification options in the user's preferences must be enabled. Also note the authentication option below. When testing the feature, keep in mind that your own changes will never trigger notifications to be sent to yourself.

    There are additional options for fine tuning in /includes/DefaultSettings.php; copy these to your LocalSettings.php and edit them there to change them.

    If this option is enabled, users have to confirm their e-mail address using a magic link sent to them whenever they set or change it, and only authenticated e-mail addresses can receive mails from other users and/or change notification mails. Setting this option is recommended for public wikis because of potential abuse of the e-mail features above.

    Database config

    $errs[DBpicktype]\n"; ?>

    If your database server isn't on your web server, enter the name or IP address here.

    If you only have a single user account and database available, enter those here. If you have database root access (see below) you can specify new accounts/databases to be created. This account will not be created if it pre-exists. If this is the case, ensure that it has SELECT, INSERT, UPDATE, and DELETE permissions on the MediaWiki database.

    checked="checked" />  

    If the database user specified above does not exist, or does not have access to create the database (if needed) or tables within it, please check the box and provide details of a superuser account, such as root, which does.

    If you need to share one database between multiple wikis, or between MediaWiki and another web application, you may choose to add a prefix to all the table names to avoid conflicts.

    Avoid exotic characters; something like mw_ is good.

    Select one:

    InnoDB is best for public web installations, since it has good concurrency support. MyISAM may be faster in single-user installations. MyISAM databases tend to get corrupted more often than InnoDB databases.

    Select one:

    EXPERIMENTAL: You can enable explicit Unicode charset support for MySQL 4.1 and 5.0 servers. This is not well tested and may cause things to break. If upgrading an older installation, leave in backwards-compatible mode.

    The username specified above (at "DB username") will have its search path set to the above schemas, so it is recommended that you create a new user. The above schemas are generally correct: only change them if you are sure you need to.

    Installation successful!

    To complete the installation, please do the following:

    1. Download config/LocalSettings.php with your FTP client or file manager
    2. Upload it to the parent directory
    3. Delete config/LocalSettings.php
    4. Start using your wiki!

    If you are in a shared hosting environment, do not just move LocalSettings.php remotely. LocalSettings.php is currently owned by the user your webserver is running under, which means that anyone on the same server can read your database password! Downloading it and uploading it again will hopefully change the ownership to a user ID specific to you.

    EOT; } else { echo <<

    Installation successful! Move the config/LocalSettings.php file to the parent directory, then follow this link to your wiki.

    You should change file permissions for LocalSettings.php as required to prevent other users on the server reading passwords and altering configuration data.

    EOT; } } function escapePhpString( $string ) { return strtr( $string, array( "\n" => "\\n", "\r" => "\\r", "\t" => "\\t", "\\" => "\\\\", "\$" => "\\\$", "\"" => "\\\"" )); } function writeLocalSettings( $conf ) { $conf->PasswordSender = $conf->EmergencyContact; $magic = ($conf->ImageMagick ? "" : "# "); $convert = ($conf->ImageMagick ? $conf->ImageMagick : "/usr/bin/convert" ); $rights = ($conf->RightsUrl) ? "" : "# "; $hashedUploads = $conf->safeMode ? '' : '# '; switch ( $conf->Shm ) { case 'memcached': $cacheType = 'CACHE_MEMCACHED'; $mcservers = var_export( $conf->MCServerArray, true ); break; case 'turck': case 'xcache': case 'apc': case 'eaccel': $cacheType = 'CACHE_ACCEL'; $mcservers = 'array()'; break; default: $cacheType = 'CACHE_NONE'; $mcservers = 'array()'; } if ( $conf->Email == 'email_enabled' ) { $enableemail = 'true'; $enableuseremail = ( $conf->Emailuser == 'emailuser_enabled' ) ? 'true' : 'false' ; $eauthent = ( $conf->Eauthent == 'eauthent_enabled' ) ? 'true' : 'false' ; switch ( $conf->Enotif ) { case 'enotif_usertalk': $enotifusertalk = 'true'; $enotifwatchlist = 'false'; break; case 'enotif_allpages': $enotifusertalk = 'true'; $enotifwatchlist = 'true'; break; default: $enotifusertalk = 'false'; $enotifwatchlist = 'false'; } } else { $enableuseremail = 'false'; $enableemail = 'false'; $eauthent = 'false'; $enotifusertalk = 'false'; $enotifwatchlist = 'false'; } $file = @fopen( "/dev/urandom", "r" ); if ( $file ) { $secretKey = bin2hex( fread( $file, 32 ) ); fclose( $file ); } else { $secretKey = ""; for ( $i=0; $i<8; $i++ ) { $secretKey .= dechex(mt_rand(0, 0x7fffffff)); } print "
  • Warning: \$wgSecretKey key is insecure, generated with mt_rand(). Consider changing it manually.
  • \n"; } # Add slashes to strings for double quoting $slconf = array_map( "escapePhpString", get_object_vars( $conf ) ); if( $conf->License == 'gfdl' ) { # Needs literal string interpolation for the current style path $slconf['RightsIcon'] = $conf->RightsIcon; } $localsettings = " # This file was automatically generated by the MediaWiki installer. # If you make manual changes, please keep track in case you need to # recreate them later. # # See includes/DefaultSettings.php for all configurable settings # and their default values, but don't forget to make changes in _this_ # file, not there. # If you customize your file layout, set \$IP to the directory that contains # the other MediaWiki files. It will be used as a base to locate files. if( defined( 'MW_INSTALL_PATH' ) ) { \$IP = MW_INSTALL_PATH; } else { \$IP = dirname( __FILE__ ); } \$path = array( \$IP, \"\$IP/includes\", \"\$IP/languages\" ); set_include_path( implode( PATH_SEPARATOR, \$path ) . PATH_SEPARATOR . get_include_path() ); require_once( \"\$IP/includes/DefaultSettings.php\" ); # If PHP's memory limit is very low, some operations may fail. " . ($conf->raiseMemory ? '' : '# ' ) . "ini_set( 'memory_limit', '20M' );" . " if ( \$wgCommandLineMode ) { if ( isset( \$_SERVER ) && array_key_exists( 'REQUEST_METHOD', \$_SERVER ) ) { die( \"This script must be run from the command line\\n\" ); } } ## Uncomment this to disable output compression # \$wgDisableOutputCompression = true; \$wgSitename = \"{$slconf['Sitename']}\"; ## The URL base path to the directory containing the wiki; ## defaults for all runtime URL paths are based off of this. \$wgScriptPath = \"{$slconf['ScriptPath']}\"; \$wgScriptExtension = \"{$slconf['ScriptExtension']}\"; ## For more information on customizing the URLs please see: ## http://www.mediawiki.org/wiki/Manual:Short_URL \$wgEnableEmail = $enableemail; \$wgEnableUserEmail = $enableuseremail; \$wgEmergencyContact = \"{$slconf['EmergencyContact']}\"; \$wgPasswordSender = \"{$slconf['PasswordSender']}\"; ## For a detailed description of the following switches see ## http://www.mediawiki.org/wiki/Extension:Email_notification ## and http://www.mediawiki.org/wiki/Extension:Email_notification ## There are many more options for fine tuning available see ## /includes/DefaultSettings.php ## UPO means: this is also a user preference option \$wgEnotifUserTalk = $enotifusertalk; # UPO \$wgEnotifWatchlist = $enotifwatchlist; # UPO \$wgEmailAuthentication = $eauthent; \$wgDBtype = \"{$slconf['DBtype']}\"; \$wgDBserver = \"{$slconf['DBserver']}\"; \$wgDBname = \"{$slconf['DBname']}\"; \$wgDBuser = \"{$slconf['DBuser']}\"; \$wgDBpassword = \"{$slconf['DBpassword']}\"; # MySQL specific settings \$wgDBprefix = \"{$slconf['DBprefix']}\"; # MySQL table options to use during installation or update \$wgDBTableOptions = \"{$slconf['DBTableOptions']}\"; # Experimental charset support for MySQL 4.1/5.0. \$wgDBmysql5 = {$conf->DBmysql5}; # Postgres specific settings \$wgDBport = \"{$slconf['DBport']}\"; \$wgDBmwschema = \"{$slconf['DBmwschema']}\"; \$wgDBts2schema = \"{$slconf['DBts2schema']}\"; ## Shared memory settings \$wgMainCacheType = $cacheType; \$wgMemCachedServers = $mcservers; ## To enable image uploads, make sure the 'images' directory ## is writable, then set this to true: \$wgEnableUploads = false; {$magic}\$wgUseImageMagick = true; {$magic}\$wgImageMagickConvertCommand = \"{$convert}\"; ## If you want to use image uploads under safe mode, ## create the directories images/archive, images/thumb and ## images/temp, and make them all writable. Then uncomment ## this, if it's not already uncommented: {$hashedUploads}\$wgHashedUploadDirectory = false; ## If you have the appropriate support software installed ## you can enable inline LaTeX equations: \$wgUseTeX = false; \$wgLocalInterwiki = \$wgSitename; \$wgLanguageCode = \"{$slconf['LanguageCode']}\"; \$wgProxyKey = \"$secretKey\"; ## Default skin: you can change the default skin. Use the internal symbolic ## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook': \$wgDefaultSkin = 'monobook'; ## For attaching licensing metadata to pages, and displaying an ## appropriate copyright notice / icon. GNU Free Documentation ## License and Creative Commons licenses are supported so far. {$rights}\$wgEnableCreativeCommonsRdf = true; \$wgRightsPage = \"\"; # Set to the title of a wiki page that describes your license/copyright \$wgRightsUrl = \"{$slconf['RightsUrl']}\"; \$wgRightsText = \"{$slconf['RightsText']}\"; \$wgRightsIcon = \"{$slconf['RightsIcon']}\"; # \$wgRightsCode = \"{$slconf['RightsCode']}\"; # Not yet used \$wgDiff3 = \"{$slconf['diff3']}\"; # When you make changes to this configuration file, this will make # sure that cached pages are cleared. \$configdate = gmdate( 'YmdHis', @filemtime( __FILE__ ) ); \$wgCacheEpoch = max( \$wgCacheEpoch, \$configdate ); "; ## End of setting the $localsettings string // Keep things in Unix line endings internally; // the system will write out as local text type. return str_replace( "\r\n", "\n", $localsettings ); } function dieout( $text ) { die( $text . "\n\n\n" ); } function importVar( &$var, $name, $default = "" ) { if( isset( $var[$name] ) ) { $retval = $var[$name]; if ( get_magic_quotes_gpc() ) { $retval = stripslashes( $retval ); } } else { $retval = $default; } return $retval; } function importPost( $name, $default = "" ) { return importVar( $_POST, $name, $default ); } function importCheck( $name ) { return isset( $_POST[$name] ); } function importRequest( $name, $default = "" ) { return importVar( $_REQUEST, $name, $default ); } $radioCount = 0; function aField( &$conf, $field, $text, $type = "text", $value = "", $onclick = '' ) { global $radioCount; if( $type != "" ) { $xtype = "type=\"$type\""; } else { $xtype = ""; } $id = $field; $nolabel = ($type == "radio") || ($type == "hidden"); if ($type == 'radio') $id .= $radioCount++; if( $nolabel ) { echo "\t\t\n"; } global $errs; if(isset($errs[$field])) echo "" . $errs[$field] . "\n"; } function getLanguageList() { global $wgLanguageNames, $IP; if( !isset( $wgLanguageNames ) ) { require_once( "$IP/languages/Names.php" ); } $codes = array(); $d = opendir( "../languages/messages" ); /* In case we are called from the root directory */ if (!$d) $d = opendir( "languages/messages"); while( false !== ($f = readdir( $d ) ) ) { $m = array(); if( preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $f, $m ) ) { $code = str_replace( '_', '-', strtolower( $m[1] ) ); if( isset( $wgLanguageNames[$code] ) ) { $name = $code . ' - ' . $wgLanguageNames[$code]; } else { $name = $code; } $codes[$code] = $name; } } closedir( $d ); ksort( $codes ); return $codes; } #Check for location of an executable # @param string $loc single location to check # @param array $names filenames to check for. # @param mixed $versioninfo array of details to use when checking version, use false for no version checking function locate_executable($loc, $names, $versioninfo = false) { if (!is_array($names)) $names = array($names); foreach ($names as $name) { $command = "$loc".DIRECTORY_SEPARATOR."$name"; if (file_exists($command)) { if (!$versioninfo) return $command; $file = str_replace('$1', $command, $versioninfo[0]); if (strstr(`$file`, $versioninfo[1]) !== false) return $command; } } return false; } # Test a memcached server function testMemcachedServer( $server ) { $hostport = explode(":", $server); $errstr = false; $fp = false; if ( !function_exists( 'fsockopen' ) ) { $errstr = "Can't connect to memcached, fsockopen() not present"; } if ( !$errstr && count( $hostport ) != 2 ) { $errstr = 'Please specify host and port'; var_dump( $hostport ); } if ( !$errstr ) { list( $host, $port ) = $hostport; $errno = 0; $fsockerr = ''; $fp = @fsockopen( $host, $port, $errno, $fsockerr, 1.0 ); if ( $fp === false ) { $errstr = "Cannot connect to memcached on $host:$port : $fsockerr"; } } if ( !$errstr ) { $command = "version\r\n"; $bytes = fwrite( $fp, $command ); if ( $bytes != strlen( $command ) ) { $errstr = "Cannot write to memcached socket on $host:$port"; } } if ( !$errstr ) { $expected = "VERSION "; $response = fread( $fp, strlen( $expected ) ); if ( $response != $expected ) { $errstr = "Didn't get correct memcached response from $host:$port"; } } if ( $fp ) { fclose( $fp ); } if ( !$errstr ) { echo "
  • Connected to memcached on $host:$port successfully"; } return $errstr; } function database_picker($conf) { global $ourdb; print "\n"; foreach(array_keys($ourdb) as $db) { if ($ourdb[$db]['havedriver']) { print "
  • "; aField( $conf, "DBtype", $ourdb[$db]['fullname'], 'radio', $db, 'onclick'); print "
  • \n"; } } print "\n"; } function database_switcher($db) { global $ourdb; $color = $ourdb[$db]['bgcolor']; $full = $ourdb[$db]['fullname']; print "
    $full specific options\n"; } function printListItem( $item ) { print "
  • $item
  • "; } ?>

    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or read it online

    _

    MediaWiki is Copyright © 2001-2007 by Magnus Manske, Brion Vibber, Lee Daniel Crocker, Tim Starling, Erik Möller, Gabriel Wicke and others.

    thornton moore holleran

    thornton moore holleran

    gone greta bellis

    greta bellis

    question 94 seville sts mirror

    94 seville sts mirror

    hold kegan browder

    kegan browder

    great wood county odeh

    wood county odeh

    wonder colorado springs time shares

    colorado springs time shares

    between veterinarians with alzheimers

    veterinarians with alzheimers

    am doral alegria

    doral alegria

    block moss terrarium

    moss terrarium

    require kings dominion louisville kentucky

    kings dominion louisville kentucky

    soon fossil hipp

    fossil hipp

    forward southcarolina inmate search

    southcarolina inmate search

    fraction police records elmira ny

    police records elmira ny

    party cutters supply enumclaw

    cutters supply enumclaw

    eat outer banks beachfront rentals

    outer banks beachfront rentals

    go midpacific lumber

    midpacific lumber

    catch the woodbridge co ltd

    the woodbridge co ltd

    person tcl voc

    tcl voc

    gentle aircraft rescue decal

    aircraft rescue decal

    cause home depot w 2

    home depot w 2

    draw winona fireworks

    winona fireworks

    too toilet gets clogged

    toilet gets clogged

    chance pendeja teniendo sexo

    pendeja teniendo sexo

    trade sherwin williams pint

    sherwin williams pint

    length auxiliary navicular

    auxiliary navicular

    prove constipation in infancy

    constipation in infancy

    quick faith defined nvl

    faith defined nvl

    won't cannon xl3

    cannon xl3

    separate david big papi ortiz

    david big papi ortiz

    stand 1018 s lulu wichita

    1018 s lulu wichita

    post vip concert tickets ozzfest

    vip concert tickets ozzfest

    train space shuttle boarders

    space shuttle boarders

    sister car rental peniscola spain

    car rental peniscola spain

    repeat stanozolol safety

    stanozolol safety

    tire assembly of stovepipe

    assembly of stovepipe

    perhaps rigging innovations inc

    rigging innovations inc

    metal paul makovsky

    paul makovsky

    same rwi construction arizona

    rwi construction arizona

    best mwr lodging ft mcpherson

    mwr lodging ft mcpherson

    swim sidewinder reamer holder

    sidewinder reamer holder

    tube peter naismith

    peter naismith

    keep toolia

    toolia

    full commerical spy

    commerical spy

    come icom ic m72

    icom ic m72

    beat bwt zones 51

    bwt zones 51

    stay erik carrera downey robert

    erik carrera downey robert

    matter education for life acle

    education for life acle

    speech transylvania 1887

    transylvania 1887

    should ebeneezer church atlanta

    ebeneezer church atlanta

    book harcum college computer technology

    harcum college computer technology

    lie befsx41 cisco pix

    befsx41 cisco pix

    five chinese type 56 lmg

    chinese type 56 lmg

    machine bridgehampton polo

    bridgehampton polo

    test generador de crc

    generador de crc

    protect magenta from rocky horror

    magenta from rocky horror

    dream point dalco map

    point dalco map

    object oscommerce wordpress integration

    oscommerce wordpress integration

    few m83513 13

    m83513 13

    warm rolla missouri drivers license

    rolla missouri drivers license

    strong saltlick las vegas

    saltlick las vegas

    chief duck sweet pickles orange

    duck sweet pickles orange

    captain yogi inn lewistown

    yogi inn lewistown

    held mistral barrels

    mistral barrels

    much vogt power louisville ky

    vogt power louisville ky

    throw eluminx

    eluminx

    double normandy sword beach

    normandy sword beach

    agree southern comfort shoes sandals

    southern comfort shoes sandals

    girl boca resevoir camp ground

    boca resevoir camp ground

    never boatmate trailers

    boatmate trailers

    person liyan wan

    liyan wan

    change denver dykes on bikes

    denver dykes on bikes

    science durango early learning center

    durango early learning center

    numeral over the knee backbreaker

    over the knee backbreaker

    save doublewide mortgage rates

    doublewide mortgage rates

    here aerosur s a

    aerosur s a

    baby kukui sausage company

    kukui sausage company

    get sarah mclinden

    sarah mclinden

    copy gillette chevrolet dealership

    gillette chevrolet dealership

    answer church landing merideth nh

    church landing merideth nh

    where chainsaw start cord jammed

    chainsaw start cord jammed

    mountain steve vaughn vaughns racing

    steve vaughn vaughns racing

    went dingle berries candies

    dingle berries candies

    ear giant black seahorses

    giant black seahorses

    box wwu volleyball camps

    wwu volleyball camps

    change horse therepy logan utah

    horse therepy logan utah

    lift monogram coco door mats

    monogram coco door mats

    clean colossal or giant squid

    colossal or giant squid

    space wooster ohio synagogues

    wooster ohio synagogues

    led pro life quites

    pro life quites

    sharp canon sd700 is battery

    canon sd700 is battery

    wave halloween adventure whitehall pa

    halloween adventure whitehall pa

    symbol trace hitt

    trace hitt

    quiet nsck codes

    nsck codes

    sent logitech itouch software

    logitech itouch software

    market pacific diecast corp

    pacific diecast corp

    rise skip trace guarentee

    skip trace guarentee

    occur pam bono lamb

    pam bono lamb

    receive ael burge

    ael burge

    then bloodroot fund

    bloodroot fund

    correct weatherman shane carter

    weatherman shane carter

    sail high school kismet kansas

    high school kismet kansas

    soil louisville intl sdf

    louisville intl sdf

    new goji drink

    goji drink

    provide tallest roolercoaster

    tallest roolercoaster

    favor electrican carrollton va

    electrican carrollton va

    search foxtail palm

    foxtail palm

    but toy accident genitals he man

    toy accident genitals he man

    climb suzanne summers sweetener

    suzanne summers sweetener

    office pool kickboards

    pool kickboards

    organ dighton rehoboth class of

    dighton rehoboth class of

    trade user mapped section open word

    user mapped section open word

    expect umax magic scan

    umax magic scan

    atom draco famous greek

    draco famous greek

    through quilt shop randall road

    quilt shop randall road

    phrase stephanie golubski

    stephanie golubski

    own kenmore f70

    kenmore f70

    us oney ok

    oney ok

    nothing kyriakidis

    kyriakidis

    two define xocoatl

    define xocoatl

    send orgasmic thumbnails

    orgasmic thumbnails

    molecule zach folzenlogen

    zach folzenlogen

    four igal dubov

    igal dubov

    earth tide chart norwalk ct

    tide chart norwalk ct

    other peddie aquatics

    peddie aquatics

    language address kona village resort

    address kona village resort

    most sports illustrated appalachian

    sports illustrated appalachian

    paint leisure ancient greece

    leisure ancient greece

    act j c a lyrics

    j c a lyrics

    branch lyl white

    lyl white

    sleep citizen titanium aqualand review

    citizen titanium aqualand review

    shoe pictures adelie penguins

    pictures adelie penguins

    act black diamond drill sharpener

    black diamond drill sharpener

    meet bat guano history cave

    bat guano history cave

    line curecrete chemical company

    curecrete chemical company

    word mattress performance reviews

    mattress performance reviews

    bird entek door handles

    entek door handles

    success nhc healthcare chattanooga

    nhc healthcare chattanooga

    shape boxspring covers

    boxspring covers

    any bluestone farms

    bluestone farms

    speech reactivate cricket service

    reactivate cricket service

    when jessica braid

    jessica braid

    common treadmill revews

    treadmill revews

    look servere learning disabled

    servere learning disabled

    table berthe morisot the cradle

    berthe morisot the cradle

    sat massage therapy warehouse

    massage therapy warehouse

    event demitri peachtree

    demitri peachtree

    square hawkes cushing ma

    hawkes cushing ma

    voice delta atlanta nonstop moscow

    delta atlanta nonstop moscow

    summer st georg amberg germany

    st georg amberg germany

    skin minutea

    minutea

    smile greenthumb nursery

    greenthumb nursery

    third kristen klimkowski

    kristen klimkowski

    money monroe labret body jewelry

    monroe labret body jewelry

    colony whitetail deer field dress

    whitetail deer field dress

    window csp medical hypnotherapy

    csp medical hypnotherapy

    truck alsa force channel

    alsa force channel

    ice argosy casnino ohio

    argosy casnino ohio

    best fitness 19 in yucaipa

    fitness 19 in yucaipa

    cut barbara streisand fucking video

    barbara streisand fucking video

    safe threading vs waxing

    threading vs waxing

    settle marmalade boy episode 35

    marmalade boy episode 35

    young mibar

    mibar

    roll phone number for usstratcom

    phone number for usstratcom

    safe shoe security tags

    shoe security tags

    win eye lash ailments

    eye lash ailments

    noise scams mortgage accelerator

    scams mortgage accelerator

    doctor belmawr new jersey

    belmawr new jersey

    hot minnesota prison inmate locater

    minnesota prison inmate locater

    break sports acupuncture ceu

    sports acupuncture ceu

    melody category bahrain wikimedia commons

    category bahrain wikimedia commons

    tree em4100

    em4100

    page blood chocolate download

    blood chocolate download

    water unistat

    unistat

    radio gruas en espa ol

    gruas en espa ol

    mouth vstar 1100 forums

    vstar 1100 forums

    a comfort range sentinel

    comfort range sentinel

    cell john deere grill gaurd

    john deere grill gaurd

    poor masonry block house construction

    masonry block house construction

    thought vladimir kush prints

    vladimir kush prints

    key sleigh sims 2

    sleigh sims 2

    dead horvath llinois

    horvath llinois

    road baltimore auctioneer clothes

    baltimore auctioneer clothes

    flow wisconsin private college scholarships

    wisconsin private college scholarships

    circle penelope boarding bag

    penelope boarding bag

    shout 1957 chevy brake shoes

    1957 chevy brake shoes

    quiet westerdam cruise critics

    westerdam cruise critics

    nine ted fio rito bio

    ted fio rito bio

    chair powerdvd 5 0 patch

    powerdvd 5 0 patch

    my sony davhdx267w reviews

    sony davhdx267w reviews

    talk gayblog x version

    gayblog x version

    pretty w56 transmission pdf

    w56 transmission pdf

    stand diatomite legislation california

    diatomite legislation california

    don't holabird coupons

    holabird coupons

    out maintain wsus server database

    maintain wsus server database

    wife garlic and ticks

    garlic and ticks

    women united healhcare

    united healhcare

    water v 8 fusion and sodium

    v 8 fusion and sodium

    work russell gahagan

    russell gahagan

    industry currency of orania

    currency of orania

    shall construction firring

    construction firring

    age maple syrup festival mi

    maple syrup festival mi

    chick sir maurice wynne

    sir maurice wynne

    motion animated civic gif

    animated civic gif

    invent pariser dermatology specialists

    pariser dermatology specialists

    against flag lebanon coloring page

    flag lebanon coloring page

    take ardell lashes dscount

    ardell lashes dscount

    create atlas fap82t

    atlas fap82t

    dry haverty pronounced

    haverty pronounced

    glad little rock tax assessor

    little rock tax assessor

    written martin lawrence susanville ca

    martin lawrence susanville ca

    either the saffires

    the saffires

    top maness dam

    maness dam

    bird fish creek wi foreclosures

    fish creek wi foreclosures

    break federal reserve deposit reclassification

    federal reserve deposit reclassification

    feed driving school hyannis

    driving school hyannis

    corn aoki pet gate

    aoki pet gate

    weather knetfilter ubuntu

    knetfilter ubuntu

    cross aztec artifact reproductions

    aztec artifact reproductions

    green eva airways tepic

    eva airways tepic

    only buckey tel 13 75

    buckey tel 13 75

    whether graph of animal cell

    graph of animal cell

    drive hackett and mckenna cement

    hackett and mckenna cement

    draw liveaboard tubbataha

    liveaboard tubbataha

    against controlled drinking

    controlled drinking

    close corona beer gift baskets

    corona beer gift baskets

    include seminal fluid burns

    seminal fluid burns

    noon riette van zyl

    riette van zyl

    between seton castle east lothian

    seton castle east lothian

    me turkish seige of vienna

    turkish seige of vienna

    chart thermowire

    thermowire

    boy 2008 bernd patrick obergfell

    2008 bernd patrick obergfell

    best vandervert construction

    vandervert construction

    hot heritage park delray beach

    heritage park delray beach

    toward crab won tons recipe

    crab won tons recipe

    thus piaggio taxi

    piaggio taxi

    feed shovelhead blueprints

    shovelhead blueprints

    dark shinobue flute

    shinobue flute

    valley meile washers

    meile washers

    done geeks guide to women

    geeks guide to women

    sound home remedy pest control

    home remedy pest control

    feed exotic costmes

    exotic costmes

    coat desinstalador de directx 9

    desinstalador de directx 9

    joy v h fuelpak problems

    v h fuelpak problems

    skin chemaid laboratories incorporated

    chemaid laboratories incorporated

    you wii mote technabob

    wii mote technabob

    full junior volleyball dimensions

    junior volleyball dimensions

    share moris luugage and gifts

    moris luugage and gifts

    bat birdzilla keeping a list

    birdzilla keeping a list

    each oregonian obituary

    oregonian obituary

    especially catechist training programs

    catechist training programs

    cow round vents phone holder

    round vents phone holder

    wall texas toll road 130

    texas toll road 130

    the krista xavier

    krista xavier

    blood salvation army brisbane citadel

    salvation army brisbane citadel

    few michael freerksen

    michael freerksen

    verb names of demonds

    names of demonds

    rather sayings by elmer fudd

    sayings by elmer fudd

    wild grandcentral ring share

    grandcentral ring share

    quotient dame rose macaulay

    dame rose macaulay

    women montgomery flagg

    montgomery flagg

    dear pen hadow

    pen hadow

    I subaru wrx 2004 rotor

    subaru wrx 2004 rotor

    stone yvonne reyburn

    yvonne reyburn

    sleep lenine miedo lyrics

    lenine miedo lyrics

    excite parkinson benefit atlanta cantore

    parkinson benefit atlanta cantore

    experiment dog agility bark camp

    dog agility bark camp

    exercise jaqua s gun shop

    jaqua s gun shop

    result central america poster temple

    central america poster temple

    nation huperzine wiki

    huperzine wiki

    deep benjamin spell new orleans

    benjamin spell new orleans

    cry graduated compression stocking procedures

    graduated compression stocking procedures

    blow ab exercise rocker ball

    ab exercise rocker ball

    fall violent femmes torrent

    violent femmes torrent

    excite teeside university computer science

    teeside university computer science

    I judge stong

    judge stong

    substance michelle maulkin

    michelle maulkin

    after original sources itouch

    original sources itouch

    it anti duke

    anti duke

    wait c dyer signed prints

    c dyer signed prints

    side lom opplevelser

    lom opplevelser

    morning haller aids activist

    haller aids activist

    them bugeye tilt front end

    bugeye tilt front end

    join the palace jerome arizona

    the palace jerome arizona

    town nafferton farm cottages

    nafferton farm cottages

    nature nutrimed plus nutritional supplements

    nutrimed plus nutritional supplements

    cat texas lvn nursing schools

    texas lvn nursing schools

    neighbor iustitia et clementia

    iustitia et clementia

    an inexpensive stationary recumbent bikes

    inexpensive stationary recumbent bikes

    inch anis del mono

    anis del mono

    colony inverted v antenna calulations

    inverted v antenna calulations

    forward hybrid cats russia

    hybrid cats russia

    act m jenkins kentwood mi

    m jenkins kentwood mi

    surface ocunty of riverside

    ocunty of riverside

    blue madras car racing

    madras car racing

    ready peyote and medical journals

    peyote and medical journals

    term nineball entertainment

    nineball entertainment

    colony tylertown ms county

    tylertown ms county

    world ballybunion golf pro shop

    ballybunion golf pro shop

    cloud thinkpad numlock

    thinkpad numlock

    nor rowing jewlery

    rowing jewlery

    nose hydraulic wellhead control panel

    hydraulic wellhead control panel

    stead raytown south hs

    raytown south hs

    string geneanology of name bean

    geneanology of name bean

    dead 2007 hamburger meat recall

    2007 hamburger meat recall

    this preserved artichokes

    preserved artichokes

    planet datsun cyclone wheel

    datsun cyclone wheel

    bought veteran s day sentiments

    veteran s day sentiments

    proper telecaster mahogany body

    telecaster mahogany body

    where paws and claws cheates

    paws and claws cheates

    least lampe berger home fragrances

    lampe berger home fragrances

    enter melanoma mole bleeding

    melanoma mole bleeding

    gas ls magazine young and fresh

    ls magazine young and fresh

    dictionary target salon chair

    target salon chair

    phrase convertidores ca ca

    convertidores ca ca

    office woolgar atwood gill

    woolgar atwood gill

    instrument brian leist in colorado

    brian leist in colorado

    molecule 440x knives

    440x knives

    came harrison schaen

    harrison schaen

    music hp 1320 printer canada

    hp 1320 printer canada

    this buttonhole flower

    buttonhole flower

    cut case ih 9270 pto

    case ih 9270 pto

    million ark diagnostics inc

    ark diagnostics inc

    poem cyno definition of cyno

    cyno definition of cyno

    substance greg hazley

    greg hazley

    own steubenville pottery gardenia

    steubenville pottery gardenia

    phrase isslc certification missouri

    isslc certification missouri

    fair phil hoyle bsa

    phil hoyle bsa

    serve bold chex mix

    bold chex mix

    father delaware chaps

    delaware chaps

    prove gq mens gifts

    gq mens gifts

    tail calderona plant

    calderona plant

    push vmaxx parts

    vmaxx parts

    support personell services bozeman mt

    personell services bozeman mt

    which hotel europa innsbruck

    hotel europa innsbruck

    car the pouf hairstyle

    the pouf hairstyle

    broke venom nitrous kits

    venom nitrous kits

    push dog mukwonago day care

    dog mukwonago day care

    period pinus parviflora blue wave

    pinus parviflora blue wave

    ran vaisnavi

    vaisnavi

    watch kvj fairdeal

    kvj fairdeal

    river planting columbine seeds outdoors

    planting columbine seeds outdoors

    coat boat ankers

    boat ankers

    hold savickas pronounced

    savickas pronounced

    how resume powerpc diagnostic

    resume powerpc diagnostic

    represent dusty perrin

    dusty perrin

    told aiba boxing

    aiba boxing

    year starhill solutions

    starhill solutions

    better personalise oeufs paques

    personalise oeufs paques

    car hot tamil actress natasha

    hot tamil actress natasha

    claim north indianapolis restaurants

    north indianapolis restaurants

    mark steelhead rigs

    steelhead rigs

    page jason boron bethel park

    jason boron bethel park

    home gum nebula images

    gum nebula images

    thing simmons carter mattress

    simmons carter mattress

    beat case xx elephant toenail

    case xx elephant toenail

    ground wapakoneta united methodist church

    wapakoneta united methodist church

    next pauley pavillion

    pauley pavillion

    science peter tompkins ww2 spy

    peter tompkins ww2 spy

    while unemployment insurance barrie

    unemployment insurance barrie

    food jk dual battery

    jk dual battery

    water johnson tree farm

    johnson tree farm

    river firedepartment sussession planning

    firedepartment sussession planning

    agree phlebitis va disabilities agents

    phlebitis va disabilities agents

    lone naval officers retirement

    naval officers retirement

    make ethel irene epperson

    ethel irene epperson

    music the historyof sewing machiines

    the historyof sewing machiines

    clock endstage alzheimer s

    endstage alzheimer s

    state top down nanofabrication premier

    top down nanofabrication premier

    probable pat krysta

    pat krysta

    lie jesse governor minnesota

    jesse governor minnesota

    how david highton ark

    david highton ark

    animal el paso bumper stickers

    el paso bumper stickers

    fig american laser hair removal

    american laser hair removal

    tail mary novack

    mary novack

    pound richard slinkard

    richard slinkard

    prove cumin carraway seed

    cumin carraway seed

    person ancient roman gladiator shelter

    ancient roman gladiator shelter

    finish minimum wage munich

    minimum wage munich

    smell dubai striders

    dubai striders

    neck ankh tattoo designs

    ankh tattoo designs

    take ge gb 20 battery

    ge gb 20 battery

    claim pish saddle

    pish saddle

    city kart lookup

    kart lookup

    multiply sword xl 850

    sword xl 850

    similar left eye lopes

    left eye lopes

    bit sunshine organic products

    sunshine organic products

    property voltmaster gen sets

    voltmaster gen sets

    direct munga bunga s brute forcer

    munga bunga s brute forcer

    age springfield xd 45 cal

    springfield xd 45 cal

    hill curvy bosoms

    curvy bosoms

    decimal nick s fish market honolulu

    nick s fish market honolulu

    chick renaldo lapuz brother

    renaldo lapuz brother

    energy cairns holiday package deals

    cairns holiday package deals

    keep missile game 3ed

    missile game 3ed

    region paramount instruments kelowna

    paramount instruments kelowna

    yellow uniform plumbing code 708 8

    uniform plumbing code 708 8

    letter coppell youth soccer field

    coppell youth soccer field

    century sweet tereza

    sweet tereza

    tone 2 7 hectoliters

    2 7 hectoliters

    fear richard holzem

    richard holzem

    loud sickerville

    sickerville

    ocean facts on nenana alaska

    facts on nenana alaska

    fall brett george bobble

    brett george bobble

    degree delores coco navarro

    delores coco navarro

    segment unimog u1300l

    unimog u1300l

    push gallery sonja roesch houston

    gallery sonja roesch houston

    at breakfast restaurant vaudreuil

    breakfast restaurant vaudreuil

    blue marajuana size

    marajuana size

    tie aileen williams wilmington nc

    aileen williams wilmington nc

    party travel to ajijic

    travel to ajijic

    turn health hazard compounds

    health hazard compounds

    fig glen e hazen

    glen e hazen

    control knotted crotchrope

    knotted crotchrope

    break rapidan community services board

    rapidan community services board

    or ernest hemingway ppt

    ernest hemingway ppt

    tube 1936 terraplane

    1936 terraplane

    wish c508us ram

    c508us ram

    dance shawnee county apprasier

    shawnee county apprasier

    thus stick figure comic

    stick figure comic

    modern edgeloop modeling

    edgeloop modeling

    office chateau yquem 1996

    chateau yquem 1996

    either kl consulting simpsonville sc

    kl consulting simpsonville sc

    total nalgene health hazard

    nalgene health hazard

    cover old goat jokes

    old goat jokes

    school

    executive protection

    such cases

    high level

    road map

    car insurance

    heterodox and by subfield

    office receive row

    Range Rover

    back against

    hard yet

    came again

    health clubs

    tiny little

    regular basis

    natural alpha

    eyes closed

    pet food

    business plan

    Barrier Reef

    Italian restaurant

    motor vehicles

    birth control

    home business

    year old

    wait until

    rolled over

    buyers market

    search engines

    online casinos

    reject the

    popular vote

    opposite sex

    great way

    year old

    Australian Democrats

    World War

    quickly got

    good health

    on this visit

    heavy duty

    home business

    used luxury

    easy way

    North America

    Kenshiro Abbe

    Pestilence

    about infinity

    tropical vacation

    last minute

    green tea

    generic drugs

    good health

    The various specialized

    However medicine often

    short sale

    steering wheel

    year old

    exhaust system

    get compensation

    National Park

    stay away

    Las Vegas

    international travel

    long black

    mommas big

    Aboriginal art

    such services

    mass destruction

    would never

    they should be subject to test

    I remember playing

    snowmobile racing

    good idea

    great way

    evolved over

    rubbing against

    high heels

    get back

    web sites

    fast food

    here must big high

    pull away

    Yahoo Messenger

    market value

    feel good

    a person using economic

    felt him

    freely reprinted

    to the beginning

    patrol boats

    computer program

    length album quotes

    low libido

    if in the long

    honey wilder nude

    didnt seem

    mariska hargitay nude pic

    great way

    latina corina real butts

    web page

    cholo love poems

    of body systems and diseases

    custom xxx subliminal messages

    caused due

    horses men sex

    however some emit

    teen models loli upskirt

    presidential system

    bang bus jerzy

    true during hundred five

    beautiful men in bondage

    World War

    world widest pussy

    of truth

    megaman lesbian hentai

    real estate

    extreme ladyboy

    serial killer

    ponygirl pictures

    Dmitri Shostakovich

    naked babes stripping

    discounted prices

    latest schoolgirl model galleries

    indicate radio

    brazilian women nude

    decide which

    grandmom porn

    body builders

    mandira bedi nude

    North America

    preity zinta nude image

    broadly with this definition

    brandy ledford sex

    Pavane pour

    i love vulvas

    facial hair

    gigistar teen model

    make love

    love boots delicious

    online dating

    hot mom sex tgp

    Razor said

    black wife white cock

    control over

    female weight lifters nude

    in Mahler's Symphony

    worlds bigest boobs

    healthy diet

    dayly amature porne

    of truth

    erotic anaglyph

    previous authorization

    vaginal tattoo templates

    rely on their subjects

    naked river phoenix

    production since

    nude welsh girls

    having sex

    liz phair tits photo

    wide range

    sex video gearshift

    web sites

    busty girls of webshots

    wedding favor

    danish girls naked

    little bit

    histoire erotique gay

    affiliate program

    ball honeys pursuajon hardcore

    virtual communities

    urdu sex book free

    loose fitting

    illegally young naked boys

    makes sense

    nashville tn sex guide

    Intrinsa patches

    nude lotilas

    baby boy

    arizona nudist rv parks

    unlimited music

    milfs in texas

    Costa Rica

    pink pather sex video

    of the Jewish people

    jane skinner topless

    two kids

    black girl booty

    right now

    european topless beach photos

    move around

    yung girls sucking dick

    web sites

    caseyscam nude

    but false for another

    perfect ten naked women

    infected

    vacuum pump pussy videos

    life coach

    nude chic picks

    which means

    fucked up facials

    Prime Minister

    yvone strahovski nude

    fish mountain

    nude celina gomez

    rental car

    jessa zaragosa nude

    A laser is an optical

    asheley tisdale nude

    high quality

    forty year old milfs

    Internet marketing

    sex searchengine

    high technology

    russian sex slaves

    and added others

    jill hennessy nude free

    Nuttall's book Bomb

    tits heels and hose

    hotel room

    illegal teens xxx

    Murray River

    nude amateur american men

    great way

    big booty ebony xxx

    which point

    amateur action bbs bust

    act why ask men

    ashley leggat nipple slips

    long distance

    bowling green ky escorts

    who was causing

    erotic old enema drawings

    United Kingdom

    xxx password share

    household estate

    kat la ink nude

    distance learning

    teenage sex school girls

    watch satellite

    amature adult photos

    didnt see

    hourse sex videos

    soaking wet

    fishing tits

    year old

    lena katina naked

    sucked him

    red heads porn

    domestic violence

    anunturi sex

    web site

    mature escorts milton keynes

    feel better

    sandra teen model asleep

    Italian Recipe

    fake olsen twins nude

    ultraviolet light

    mature wives with boys

    high quality

    saggy tiny boobs

    female sexual

    pittsburgh amateurs

    feel better

    sumo sex

    inner city

    bigbut sex

    light touch

    sharp nipples

    music videos

    sexy teen strippers

    seized car

    arab men fucking gay

    would always

    mercedes naked terrell

    ice cream

    beautiful butts gallery

    new puppy

    britney spears naked fakes

    parts manufacturing

    true stories first ejaculation

    scuba diving

    nude granny photos

    real life

    nude lisa simpson

    heart disease

    sarah chalke nude fakes

    great place

    thehun yellow page

    in the world

    caseycam and nude

    for Peirce

    butifull pussy

    hosting service