MediaWiki в Docker
18 ноября 2022
Иногда возникает необходимость создания своей частной wiki на своём сервере. И в этом нет ничего сложного, так как движок находится в открытом доступе и использовать его можно даже в Docker.
MediaWiki — вики-движок, написанный специально для Википедии, используется во многих других проектах фонда Викимедиа, а также частных и государственных организациях. Является свободным ПО и распространяется на условиях общественной лицензии GNU.
Предполагается, что у вас уже имеется контейнер с СУБД MySQL.
Для начала установим и запустим контейнер Mediawiki:
# sudo docker run --name wiki -d --link dbserver:db -p 8086:80 mediawiki
Сервис должен появиться на 8086 порту. Настроим подключение к базе данных и базовые настройки:
В качестве хоста БД указываем «db»:
По каким-то причинам разработчики не стали давать возможность инсталлятору самому создать файл конфигурации, поэтому после окончания процесса настроек автоматически будет скачан файл LocalSettings.php, который необходимо будет подгрузить в контейнер.
Для запрета самостоятельной регистрации пользователей добавляем в файл конфигурации следующую строку:
$wgGroupPermissions['*']['createaccount'] = false;
Для запрета редактирования страниц всем анонимным пользователям:
$wgGroupPermissions['*']['edit'] = false;
А для разрешения загрузки файлов устанавливаем значение параметра $wgEnableUploads в true:
$wgEnableUploads = true;
Удаляем контейнер с wiki. Теперь создаём новый контейнер, но при этом необходимо пробросить файл конфигурации внутрь него. А также создадим том, в который будут загружаться изображения.
# sudo docker run --name wiki -d --link dbserver:db -v wiki_images:/var/www/html/images -v /home/user/LocalSettings.php:/var/www/html/LocalSettings.php -p 8086:80 mediawiki
Если всё сделано правильно, то мы должны увидеть заглавную страницу wiki:







