前も似たようなこと書いた気がするけど...
検証用に local で一時的に立ててるものなので色々ご注意ください。
build
docker hub から引っ張ってくると mediawiki が古い (多分) ので公式 repository を clone して build します
$ git clone https://github.com/wikimedia/mediawiki-docker.git $ docker build --rm -t mediawiki:latest mediawiki-docker/stable/
run
立てます、動けばいいので色々適当です
$ docker run -it -d -e MYSQL_ROOT_PASSWORD="root" --name mysql mysql $ docker run -it -d -e MEDIAWIKI_DB_PASSWORD="root" -e MEDIAWIKI_DB_TYPE="mysql" -p 8080:80 --link mysql:mysql --name mediawiki mediawiki:latest
ここからは http://localhost:8080 にアクセスしつつ色々進めます。
途中に入れる db への接続先は
$ docker inspect -f '{{ .NetworkSettings.IPAddress }}' mysql
最後まで行くと LocalSettings.php 入れてねって言われます。
local settings
今回は oauth extension をとにかく早く動かしたかったので mail 系を全部無効にしました (しないと認証求められるので)
$wgEnableEmail = false; $wgEnableUserEmail = false; # UPO ... $wgEmailAuthentication = false;
入れます
$ docker cp ./LocalSettings.php mediawiki:/var/www/html/
oauth extension
OAuth extension を download してきます
ここら辺です
Download MediaWiki extension - MediaWiki
適当なところに copy して解凍します
$ docker cp ./OAuth-*.tar.gz mediawiki:/tmp/ $ docker exec mediawiki tar xzf /tmp/OAuth-*.tar.gz -C /var/www/html/extensions
LocalSettings.php に設定を追記して update します
とりあえず誰でも consumer を追加できるようにしたいのでそんな感じにします
$ docker exec mediawiki sh -c "echo \"wfLoadExtension( 'OAuth' );\" >> /var/www/html/LocalSettings.php" $ docker exec mediawiki bash -c "echo $'\$wgGroupPermissions[\'user\'][\'mwoauthproposeconsumer\'] = true;' >> /var/www/html/LocalSettings.php" $ docker exec mediawiki php /var/www/html/maintenance/update.php
consumer registration は http://localhost:8080/index.php/Special:OAuthConsumerRegistration