通过虚拟主机(Apache)设置Wiki场

问题描述 投票:0回答:1

我目前正在我的标准Apache文件夹中运行Mediawiki,即/ var / www / html。我现在的任务是制作Mediawiki多语言,我可以通过创建一个wiki服务器场来创建一个wiki服务器场,方法是通过虚拟主机在不同的子域上设置技术上的个人wiki,然后通过Mediawiki扩展连接它们。

我最近尝试过试验虚拟主机,虽然我只是在一定程度上得到它。也就是说,我设置并通过SSH启用了两个VH,但是加载了de.example.com和en.example.com后,我只得到了两个404。

所以,在崩溃之前,我只是想问你一下我的具体问题:

我想将位于/var/www/html/的Mediawiki的当前安装移动到/var/www/html/de/,并将相同的安装复制到/var/www/html/en/(以便稍后编辑,只是不必重新安装它)。

而且,随后,我希望de.example.com指向/var/www/html/de/和en.example.com在/var/www/html/en/

此外,example.com应链接到de.example.com

由于我现在对如何正确实现这一点感到困惑,所以我真的很感激这个特定问题的快速具体指南(也就是说,在某种意义上让我回到正轨?)。

先感谢您!

apache mediawiki virtualhost
1个回答
0
投票

使用MediaWiki配置Wiki服务器场没有“一种真正的方法”。然而,https://www.mediawiki.org/wiki/Manual:Wiki_family记录了许多不同的解决方案。

对于一个小型wiki农场,类似于Manual:Wiki_family中的"Giant switch statement"是一种合理的开始方式。这种技术利用了MediaWiki在处理每个请求的早期处理MediaWiki部署目录根目录中的LocalSettings.php文件这一事实,该文件可以根据Host:header或请求中的其他信息更改设置。

要使用此方法,您可以执行以下操作:

  1. 将MediaWiki文件上载到Web服务器上的Web文件夹(例如/var/www/html/)。这已在原始问题中完成。
  2. 像往常一样设置初始wiki。有关详细信息,请参阅mediawiki.org上的Manual:Installation guide。这也是原始问题中已经完成的。
  3. 成功安装后,重命名生成的LocalSettings.php,以便于跟踪它所使用的wiki(例如LocalSettings_en_example_com.php
  4. 对于您要创建的每个wiki,重复上面的第二步和第三步,为每个wiki创建一个新的LocalSettings.php文件,然后重命名它以跟踪它配置的wiki(LocalSettings_de_example_com.php等)
  5. 创建自定义LocalSettings.php文件,根据每个请求的Host头的内容选择正确的LocalSettings_*.php<?php // Include common settings to all wikis before this line (eg. database configuration) switch ( $_SERVER['SERVER_NAME'] ) { case 'en.example.com': require_once 'LocalSettings_en_example_com.php'; break; case 'de.example.com': require_once 'LocalSettings_de_example.com.php'; break; default: header( 'HTTP/1.1 404 Not Found' ); echo 'This wiki is not available. Check configuration.'; exit( 0 ); }
  6. 最后,使用与每个虚拟主机的文档根相同的/var/www/html目录,为每个wiki配置多个虚拟主机的Web服务器。
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.