Обновление до Ubuntu 16.04 удалило мою установку MediaWiki, как мне вернуть ее обратно?

Я обновил Ubuntu 14.04 до 16.04 и обнаружил, что нет mediawiki пакет, потому что Debian удалил его в декабре 2015 года как устаревший, и никто не хотел его поддерживать.

Вчера у меня была рабочая установка MediaWiki, а после обновления - нет. Как я могу восстановить его и запустить?

1 ответ

Решение

Этот ответ предполагает, что вы теперь готовы сами поддерживать MediaWiki.

Кроме того, он установит MediaWiki в настоящий корневой каталог документов вашего веб-сервера. Ранее это был псевдоним, а реальный путь установки /var/lib/mediawiki, но теперь вам нужно поддерживать его вместо сопровождающих Debian/Ubuntu, проще всего поставить его под реальный путь.

В этом ответе корень документа веб-сайта /srv/apache2/public_html и местоположение вики на веб-сервере /wiki (например http://myserver/wiki), делая полный путь /srv/apache2/public_html/wiki, Вам нужно будет адаптировать эти пути под ваши собственные настройки.

Загрузите последнюю версию MediaWiki и распакуйте ее прямо по пути на вашем веб-сервере.

wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz
tar xvf mediawiki-1.26.2.tar.gz
mv mediawiki-1.26.2 /srv/apache2/public_html/wiki
cd /srv/apache2/public_html/wiki
chown -R www-data:www-data .

Редактировать файл LocalSettings.php и измените настройкуMW_INSTALL_PATH от /var/lib/mediawiki на новый путь.

Сделайте то же самое в файле /etc/apache2/conf-available/mediawiki.conf

Если вы загрузили изображения в свою вики, у вас будет images каталог в /var/lib/mediawiki, Скопируйте его в новый каталог установки:

cp -a /var/lib/mediawiki/images .

Вы обнаружите, что некоторые из пакетов PHP, на которые опирается MediaWiki, не установлены для PHP 7, который является новой стандартной версией PHP для Ubuntu 16.04. MediaWiki прекрасно работает с PHP 7, но вам нужно установить эти пакеты вручную и включить их:

apt-get install libapache2-mod-php7.0 php-apcu php-gd php-json php-mysql php-xml
phpenmod apcu gd json pdo_mysql dom
a2enmod php7.0
a2enconf mediawiki

Я использовал APC для кэширования и обнаружил, что MediaWiki использует традиционный модуль APC, который не включен в PHP 7. Я исправил это, используя вместо этого модуль APCu. В коде MediaWiki замените apc_* звонки с apcu_* звонки:

sed -i 's/apc_/apcu_/g' includes/libs/objectcache/APCBagOStuff.php
sed -i 's/apc_/apcu_/g' includes/objectcache/ObjectCache.php

Запустите скрипт обновления, чтобы обновить структуру базы данных MediaWiki:

cd maintenance/
php update.php

Если пользователь базы данных, который вы используете для вики, не имеет прав на изменение структуры базы данных, сценарий завершится ошибкой. Используйте сценарий --dbuser а также --dbpass варианты, чтобы предоставить пользователю MySQL больше привилегий. Если у вас есть AdminSettings.php файл, используйте детали там - MediaWiki больше не читает этот файл сам, и вы должны удалить этот файл с этого момента.

Теперь должна быть возможность перезапустить Apache и увидеть вашу вики на вашем сайте:

service apache2 restart

Последняя проблема, с которой я столкнулся при посещении моей вики: MediaWiki 1.25+ отключила автообнаружение скина, и мне сказали добавить явное wfLoadSkin( 'Vector' ); к моему LocalSettings.php,

Другие вопросы по тегам