edwardspec / mediawiki-aws-s3

Extension:AWS allows MediaWiki to use Amazon S3 (instead of the local directory) to store images.
https://www.mediawiki.org/wiki/Extension:AWS
GNU General Public License v2.0
42 stars 32 forks source link

S3 settings in LocalSettings.php ignored #72

Closed raschiapedane closed 9 months ago

raschiapedane commented 9 months ago

I'm trying to configure this extension in a private test wiki (v 1.40.1). I installed everything as per instructions but the wiki continues to upload files using local backend. This is my LocalSettings.php


<?php
require_once "/var/secrets/db.php";

# This file was automatically generated by the MediaWiki 1.40.1
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/MainConfigSchema.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings

# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
        exit;
}

## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

$wgSitename = "testwiki";
$wgMetaNamespace = "Testwiki";

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "";

## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://XXXX.XXXXX.com";

## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;

## The URL paths to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
        '1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
        'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
];

## UPO means: this is also a user preference option

$wgEnableEmail = false;
$wgEnableUserEmail = true; # UPO

$wgEmergencyContact = "";
$wgPasswordSender = "";

$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;

## Database settings
$wgDBtype = "postgres";

# Postgres specific settings
$wgDBport = "5432";
$wgDBmwschema = "mediawiki";

# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";

## Shared memory settings
$wgMainCacheType = CACHE_ACCEL;
$wgMemCachedServers = [];

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;

# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;

# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = "it";

# Time zone
$wgLocaltimezone = "UTC";

## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";

$wgSecretKey = "XXXXXXXXX";

# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";

# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = "XXXXXXXXXX";

## 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.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";

# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";

# The following permissions were set based on your choice in the installer
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = false;

## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = "vector";

# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );

# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'AWS' );
wfLoadExtension( 'CodeEditor' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );

# End of automatically generated settings.
# Add more configuration options below.
$wgAWSRegion = 'eu-west-1';
$wgBucketName = 'XXXXX-image-XX-XXXX-1-XXXXXXXXXX';
$wgAWSBucketTopSubdirectory='/images';

$wgDebugLogGroups['FileOperation'] = '/tmp/file.log';
$wgFileBackends['s3']['privateWiki'] = true; 

and this is a sample of information stored into '/tmp/file.log'


2023-11-29 08:14:10 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FileBackendStore::ingestFreshFileStats: File mwstore://local-backend/local-thumb/0/02/SCR-20231129-cfd.png/96px-SCR-20231129-cfd.png does not exist
2023-11-29 08:35:29 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FileBackendStore::ingestFreshFileStats: File mwstore://local-backend/local-thumb/0/02/SCR-20231129-cfd.png/96px-SCR-20231129-cfd.png does not exist
2023-11-29 08:35:56 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FileBackendStore::ingestFreshFileStats: File mwstore://local-backend/local-public/archive/0/02/20231129083556!SCR-20231129-cfd.png does not exist
2023-11-29 08:35:56 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FSFileBackend::getFileListInternal: non-existent directory: '/var/www/html/images/thumb/0/02/SCR-20231129-cfd.png'
2023-11-29 08:35:56 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FileBackendStore::ingestFreshFileStats: File mwstore://local-backend/local-thumb/0/02/SCR-20231129-cfd.png/48px-SCR-20231129-cfd.png does not exist
2023-11-29 08:35:56 ip-10-0-0-223.eu-west-1.compute.internal my_wiki: FileBackendStore::ingestFreshFileStats: File mwstore://local-backend/local-thumb/archive/0/02/20231129083556!SCR-20231129-cfd.png/96px-SCR-20231129-cfd.png does not exist`

Any idea on how to fix?

edwardspec commented 9 months ago

You have a typo in the name of variable $wgAWSBucketName ("AWS" is missing).