Hey all, I'm still having trouble installing MediaWiki on a Solaris machine. I've got someone with more coding experience helping me out. I've posted his latest problem below, please advise. Thanks
The installation seems to be working now.
The problem with those "constant already defined" and duplicate namespace warnings and errors seems to be an issue with relative pathnames and the require_once statement.
I made these changes to config/index.php:
# require_once( "../includes/DefaultSettings.php" ); # require_once( "../includes/MagicWord.php" ); # require_once( "../includes/Namespace.php" ); require_once( "/absolute/path/to/includes/DefaultSettings.php" ); require_once( "/absolute/path/to/includes/MagicWord.php" ); require_once( "/absolute/path/to/includes/Namespace.php" );
And then the configure/install started working.
Here's the output (on Solaris/SunOS 5.9):
MediaWiki 1.3.7 installation
Please include all of the lines below when reporting installation problems. Checking environment...
* PHP 4.3.8: ok * Warning: PHP's register_globals option is enabled. MediaWiki will work correctly, but this setting increases your exposure to potential security vulnerabilities in PHP-based software running on your server. You should disable it if you are able. * PHP server API is apache; ok, using pretty URLs (index.php/Page_Title) * Have XML / Latin1-UTF-8 conversion support. * PHP's memory_limit is 16M. If this is too low, installation may fail! Attempting to raise limit to 20M... ok. * Have zlib support; enabling output compression. * Found GD graphics library built-in, image thumbnailing will be enabled if you enable uploads. * Installation directory: XXX/mediawiki * Script URI path: /mediawiki * MySQL error 1045: Access denied for user: 'root@207.228.226.7' (Using password: NO) * Trying regular user... ok. * Connected to database... 4.0.20-log; enabling MySQL 4 enhancements * Database XXX exists * Creating tables... done. * Initializing data... * Created sysop account XXX. * Initialising log pages... *
Initialising "MediaWiki" namespace... Clearing message cache...Done.
Creating LocalSettings.php...
Success! Move the LocalSettings.php file into the parent directory, then follow this link to your wiki.
When move LocalSettings.php and follow that link, first I get the expected redirect to http://ourdomain/mediawiki/index.php/Main_Page, but then when I go to that page, I don't get anything back.
Here's the exact output from the server:
$ curl -i http://domain/mediawiki/index.php/Main_Page HTTP/1.1 200 OK Date: Thu, 28 Oct 2004 20:08:39 GMT Server: Apache/1.3.31 (Unix) mod_jk/1.2.5 FrontPage/5.0.2.2635 mod_fastcgi/2.4.2 mod_throttle/3.1.2 PHP/4.3.8 mod_ssl/2.8.18 OpenSSL/0.9.7d X-Powered-By: PHP/4.3.8 Vary: Accept-Encoding,Cookie Expires: -1 Cache-Control: private, must-revalidate, max-age=0 Last-modified: Thu, 28 Oct 2004 19:13:27 GMT Content-language: en Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=utf-8
And that's it. No html, no body, no errors.
I've enabled mediawiki debugging, and here's the log:
Start request GET /mediawiki/index.php/Main_Page Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Host: domain Pragma: no-cache User-Agent: curl/7.10.8 (sparc-sun-solaris2.9) libcurl/7.10.8 OpenSSL/0.9.7d ipv6 zlib/1.1.4
SQL: SELECT cur_text FROM cur WHERE cur_namespace='8' AND cur_title='Linktrail' LIMIT 1 SQL: DELETE FROM objectcache WHERE exptime<'2004-10-28 20:08:41' SQL: SELECT value,exptime FROM objectcache WHERE keyname='our_db:messages'
SQL: SELECT 1 FROM user_newtalk WHERE user_ip='XXX.XXX.XXX.XXX' Servr: http://domain SQL: BEGIN SQL: SELECT cur_id FROM cur WHERE cur_namespace=0 AND cur_title='Main_Page' SQL: SELECT cur_touched,cur_is_redirect FROM cur WHERE cur_id=5 We're confused. tryFileCache() - not cacheable SELECT cur_text,cur_timestamp,cur_user,cur_user_text,cur_comment,cur_counter,cur_restrictions,cur_touched FROM cur WHERE cur_id=5 SQL: SELECT cur_text,cur_timestamp,cur_user,cur_user_text,cur_comment,cur_counter,cur_restrictions,cur_touched FROM cur WHERE cur_id=5 SQL: SELECT lcc_cacheobj FROM linkscc WHERE lcc_pageid = 5 SQL: SELECT ss_total_views, ss_total_edits, ss_good_articles FROM site_stats WHERE ss_row_id=1 SQL: UPDATE cur SET cur_counter = cur_counter + 1 WHERE cur_id = 5 SQL: COMMIT ** private caching; Thu, 28 Oct 2004 19:13:27 GMT ** SQL: SELECT cur_id FROM cur WHERE cur_namespace=2 AND cur_title='XXX.XXX.XXX.XXX' SQL: SELECT cur_id FROM cur WHERE cur_namespace=1 AND cur_title='Main_Page' SQL: BEGIN SQL: UPDATE LOW_PRIORITY site_stats SET ss_total_views=(ss_total_views+1),ss_total_edits=(ss_total_edits),ss_good_artic\ les=(ss_good_articles) WHERE ss_row_id=1 SQL: COMMIT SQL: BEGIN SQL: COMMIT Request ended normally
I've also enabled PHP error logging, but nothing is written there. There don't appear to be any PHP errors.
The SQL database access seems to be working. If I run the queries manually, I see the data. The site stats (ss_total_views) are being updated, even though the page isn't actually rendered.
I've repeated the whole thing with language set to "en - English - Unicode" and to "en - English - Latin-1". Same results.
And, finally, if I run the PHP from the command line, then it totally works! Something like this:
$ export PATH_INFO="/Main_Page" $ php index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <meta name="KEYWORDS" content="Main Page" /> <meta name="robots" content="index,follow" /> <link rel="shortcut icon" href="/favicon.ico" />
<title>Main Page - OurWiki</title> <style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/mediawiki/stylesheets/monobook/main.css"; /*]]>*/</style> <link rel="stylesheet" type="text/css" media="print" href="/mediawiki/stylesheets/commonPrint.css"/> ...
So it must be something to do with the environment where the web server is running (user "www", group "other"), but I have no idea how to debug this further.
We don't have root access on the server, so I can't su to www and rerun the script from the command line.
-- Rich Points Rich@RichPoints.com http://RichPoints.com -- Rich Points Rich@RichPoints.com http://RichPoints.com