MediaWikiで画像をアップロードする際に下記のエラーがでたので対応しました。
「mwstore://local-backend/local-public/7/7e/sample.png」用のロックファイルを開くことができませんでした。アップロードディレクトリが正しく設定されており、ウェブサーバーによる書き込みの権限が許可されていることを確認してください。
1.MediaWikiコンテナのphp.ini のfile_uploadsを有効にする。
# docker cp mediawiki:/usr/local/etc/php/php.ini-production ./ # vi php.ini-production
file_uploads = On post_max_size = 16M upload_max_filesize = 16M
:w php.ini (名前を付けて保存
# docker cp php.ini mediawiki:/usr/local/etc/php/
2.LocalSettings.php で$wgUploadDirectory, $wgGroupPermissions などを設定する。
# vi LocalSettings.php #$wgUploadDirectory = '{$IP}/images'; $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'docx' , 'xlsx' , 'pdf'); $wgGroupPermissions['*']['read'] = true;
3.Mediawikiコンテナのimage ディレクトリの所有権を変更する。
# docker exec -it mediawiki chown -R www-data:www-data /var/www/html/images/
4.最後にdocker commitしてdocker-compose 再起動します。
# docker commit mediawiki mediawiki:custom
# docker-compose down
# docker-compose up -d
画像アップロードに対応できました。