Skip to content

Instantly share code, notes, and snippets.

@Trimad
Last active February 5, 2020 20:59
Show Gist options
  • Save Trimad/a32b3a9cbd0002537b357e15087768d7 to your computer and use it in GitHub Desktop.
Save Trimad/a32b3a9cbd0002537b357e15087768d7 to your computer and use it in GitHub Desktop.
MediaWiki in Docker
/*pull the image*/
docker pull mysql:latest
/*Run a container on port 3306 with while setting an environment variable*/
docker run --name revms -p 3306:3306 -e MYSQL_ROOT_PASSWORD=SUPERSECUREPASSWORD -d mysql
/*Access the container with an interactive SSH terminal*/
docker exec -it revms bash
/*Login to mysql with a username and password. Note that there is no space between the '-p' and the password.*/
mysql -u root -pSUPERSECUREPASSWORD
/*Create a database*/
create database revdb;
/*Grant permissions. MediaWiki will not be able to connect to this database otherwise.*/
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SUPERSECUREPASSWORD';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'SUPERSECUREPASSWORD';
FLUSH PRIVILEGES;
EXIT
/*pull the image*/
docker pull mediawiki:latest
/*Run a container with an open HTTP port*/
docker run --name revmw --link revms:mysql -p 8080:80 -d mediawiki
/*Access the container with an interactive SSH terminal*/
docker exec -it revmw bash
/*Get the name of your MediaWiki Docker container*/
docker container list
/*Copy the LocalSettings.php that was generated during setup to the same directory as index.php*/
docker cp C:\Users\tmadden\Downloads\LocalSettings.php c3c8ab6df8f1:/var/www/html/LocalSettings.php
/*Copy a custom logo to replace the default wiki logo*/
docker cp C:\Users\tmadden\Downloads\revolution.png c3c8ab6df8f1:/var/www/html/resources/assets/wiki.png
<?php
# This file was automatically generated by the MediaWiki 1.34.0
# 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.
#
# 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 = "Revolution Group";
$wgMetaNamespace = "Revolution_Group";
## 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 = "http://localhost:8080";
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL path to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
## UPO means: this is also a user preference option
$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = "apache@🌻.invalid";
$wgPasswordSender = "apache@🌻.invalid";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "revms";
$wgDBname = "my_wiki";
$wgDBuser = "root";
$wgDBpassword = "SUPERSECRETPASSWORD";
# MySQL specific settings
$wgDBprefix = "";
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
## 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 = true;
## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale
$wgShellLocale = "C.UTF-8";
## 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";
# Site language code, should be one of the list in ./languages/data/Names.php
$wgLanguageCode = "en";
$wgSecretKey = "4aaf50119d865683935e8708775fe95321508ab554e3413ef3c50c4a3d9cf430";
# 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 = "dff012bd5ab66cc9";
## 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, ie 'vector', 'monobook':
$wgDefaultSkin = "vector";
# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtensions('ExtensionName');
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );
# End of automatically generated settings.
# Add more configuration options below.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment