升级到 Ubuntu 16.04 删除了我的 MediaWiki 安装,如何恢复它?

升级到 Ubuntu 16.04 删除了我的 MediaWiki 安装,如何恢复它?

我已经从 Ubuntu 14.04 升级到 16.04,我发现没有mediawiki包裹, 因为Debian 于 2015 年 12 月放弃了它,因为它已经过时了,而且没人愿意维护它

我昨天安装了 MediaWiki,现在升级后却不行了。我该如何让它恢复运行?

答案1

这个答案假定您从现在开始愿意自己维护 MediaWiki。

此外,它会将 MediaWiki 安装在您的 Web 服务器的真实文档根目录中。以前,这将是一个别名,而真正的安装路径将位于 下/var/lib/mediawiki,但现在由您而不是 Debian/Ubuntu 维护者来维护它,因此最简单的方法是将其放在其真实路径下。

在此答案中,网站的文档根目录是/srv/apache2/public_html,而 wiki 在 Web 服务器上的位置是/wiki(例如http://myserver/wiki),因此完整路径为/srv/apache2/public_html/wiki。您需要调整这些路径以适合您自己的设置。

下载最新的 MediaWiki并将其直接解压到您的 Web 服务器上应有的路径。

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

如果你将任何图像上传到你的 wiki,你将images在 中有一个目录/var/lib/mediawiki。将其复制到新的安装目录:

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

您会发现 MediaWiki 所依赖的几个 PHP 软件包未安装在 PHP 7 上,这是 Ubuntu 16.04 的新标准 PHP 版本。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

如果您用于 wiki 的数据库用户没有修改数据库结构的权限,则脚本将失败。使用脚本--dbuser--dbpass选项为 MySQL 用户提供更多权限。如果您有文件AdminSettings.php,请使用其中的详细信息 - MediaWiki 不再读取此文件本身,从现在起您应该删除此文件。

现在可以重新启动 Apache 并在您的网站上查看您的 wiki:

service apache2 restart

我在访问我的 wiki 时遇到的最后一个问题:MediaWiki 1.25+ 禁用皮肤自动发现并告诉我要wfLoadSkin( 'Vector' );在我的中添加一个明确的内容LocalSettings.php

相关内容