Обновление до 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
,