Настройка фермы вики через виртуальные хосты (Apache) - PullRequest
0 голосов
/ 14 марта 2019

В настоящее время я использую Mediawiki в своей стандартной папке Apache, то есть / var / www / html.Теперь мне поручено сделать Mediawiki многоязычным, чего я могу добиться, создав ферму вики путем настройки технически отдельных вики на разных поддоменах через виртуальные хосты, а затем подключив их через расширения Mediawiki.

У меня естьнедавно попробовал поэкспериментировать с виртуальными хостами, хотя я получил его до определенной степени.То есть я настроил и включил оба VH через SSH, но, загрузив de.example.com и en.example.com, я получил только два 404.

Итак, перед тем, как что-то сломать, я просто хотелчтобы спросить вас о моей конкретной проблеме:

Я хочу переместить текущую установку Mediawiki, расположенную в /var/www/html/ в /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.

Поскольку в настоящее время я немного озадачен тем, как этого добиться должным образом, я был бы очень признателен за краткое конкретное руководство по этой конкретной проблеме (то естьтот, который просто возвращает меня в нужное русло?).

Заранее спасибо!

1 Ответ

0 голосов
/ 18 марта 2019

Не существует «единственно верного способа» настроить ферму вики с помощью MediaWiki.Однако есть множество различных решений, задокументированных на https://www.mediawiki.org/wiki/Manual:Wiki_family.

Для небольшой вики-фермы, что-то вроде «Оператор гигантского переключения» из руководства: Wiki_family - разумный способ начать.Этот метод использует преимущество того факта, что MediaWiki обрабатывает файл LocalSettings.php, найденный в корне каталога развертывания MediaWiki, очень рано при обработке каждого запроса, и этот файл может изменять настройки на основе заголовка Host: илидругая информация содержится в запросе.

Чтобы использовать этот метод, вы должны сделать что-то вроде этого:

  1. Загрузить файлы MediaWiki в веб-папку на веб-сервере (например, /var/www/html/),Это уже было сделано в исходном вопросе.
  2. Настройте начальную вики как обычно.Подробнее см. Руководство: руководство по установке на mediawiki.org.Это также уже было сделано в исходном вопросе.
  3. После успешной установки переименуйте сгенерированный LocalSettings.php, чтобы было легко отслеживать, с какой вики он идет (например, LocalSettings_en_example_com.php)
  4. Повторите шаги два и три выше для каждой вики, которую вы хотите создать, создав новый файл LocalSettings.php для каждой вики, а затем переименовав его, чтобы отследить, какую вики он настраивает (LocalSettings_de_example_com.php и т. Д.)
  5. Создайте пользовательский файл LocalSettings.php для выбора правильного LocalSettings_*.php на основе содержимого заголовка Host каждого запроса:

    <?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, что и корневой каталог документа для каждого виртуального хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...