So, bin endlich wieder an besagtem Rechner. In der LocalSettings.php stehen diese Zeilen eingefügt:
wfLoadExtension( 'Elastica' );
require_once "$IP/extensions/Elastica/Elastica.php";
require_once "$IP/extensions/CirrusSearch/CirrusSearch.php";
$wgDebugLogGroups['CirrusSearch'] = "$IP/extensions/CirrusSearch/error.log";
Ich habe zwei Dinge beobachtet:
Die require_once-Zeile mit CirrusSearch bewirkt, dass die Seite http://localhost/index.php/Spezial:Version nicht geladen werden kann (bleibt weiß).
Ist $MW_INSTALL_PATH eine Variable, die im Terminal gesetzt sein muss? In der README heißt der Befehl nämlich
php $MW_INSTALL_PATH/extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php
Edit:
Ich habe mal testweise die Erweiterungen CirrusSearch und Elastica in Version 1.23 installiert (statt 1.27) und damit bekomme ich den obigen Fehler nicht. Allerdings dafür diesen:
$ php extensions/CirrusSearch/maintenance/updateSearchIndexConfig.phpcontent index...
Fetching Elasticsearch version...2.3.5...ok
Scanning available plugins...none
Infering index identifier...Exception encountered, of type "Error"
[14d1c785ec5f2284709452ba] [no req] Error from line 41 of /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Exception/ResponseException.php: Wrong parameters for Elastica\Exception\ResponseException([string $message [, long $code [, Throwable $previous = NULL]]])
Backtrace:
#0 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Exception/ResponseException.php(41): Exception->__construct(array)
#1 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Transport/Http.php(150): Elastica\Exception\ResponseException->__construct(Elastica\Request, Elastica\Response)
#2 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Request.php(166): Elastica\Transport\Http->exec(Elastica\Request, array)
#3 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Client.php(587): Elastica\Request->send()
#4 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Status.php(167): Elastica\Client->request(string, string)
#5 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Status.php(46): Elastica\Status->refresh()
#6 /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Client.php(423): Elastica\Status->__construct(Elastica\Client)
#7 /var/www/mediawiki-1.27.0/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php(932): Elastica\Client->getStatus()
#8 /var/www/mediawiki-1.27.0/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php(205): CirrusSearch\Maintenance\UpdateOneSearchIndexConfig->pickIndexIdentifierFromOption(string)
#9 /var/www/mediawiki-1.27.0/extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php(51): CirrusSearch\Maintenance\UpdateOneSearchIndexConfig->execute()
#10 /var/www/mediawiki-1.27.0/maintenance/doMaintenance.php(103): CirrusSearch\Maintenance\UpdateSearchIndexConfig->execute()
#11 /var/www/mediawiki-1.27.0/extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php(58): require_once(string)
#12 {main}
Vielleicht würde es funktionieren, wenn ich das MediaWiki nochmal neu in Version 1.23 statt 1.27 installiere?
Edit2: Ich habe irgendwo gelesen, dass Elastica nur mit ElasticSearch < 2.0 kompatibel ist und habe das mal installiert (und immer noch die älteren Versionen der Erweiterungen). Jetzt komme ich wieder ein Stückchen weiter:
$ php extensions/CirrusSearch/maintenance/updateSearchIndexConfig.phpcontent index...
Fetching Elasticsearch version...1.7.1...ok
Scanning available plugins...none
Infering index identifier...wikidb_content_first
Picking analyzer...german
Index exists so validating...
Validating number of shards...ok
Validating replica range...ok
Validating shard allocation settings...done
Validating max shards per node...ok
Validating analyzers...ok
Validating mappings...
Validating mapping...ok
Validating cache warmers...
PHP Fatal error: Cannot use 'Bool' as class name as it is reserved in /var/www/mediawiki-1.27.0/extensions/Elastica/Elastica/lib/Elastica/Query/Bool.php on line 15
Edit3: Ich habe mal einen Fehlerbericht aufgemacht.