[PR] 本記事にはプロモーションが含まれています。

MediaWiki|AlmaLinux 9の自宅サーバーに入れて、/wiki/記事名 の短いURLで使うまで

自宅サーバー構築
➔ 自宅サーバー構築メモの目次はこちら

【2026年9月28日時点の情報です】

すでに Web サーバー(Apache)およびデータベース(MariaDB)が稼働している AlmaLinux 9 環境へ、MediaWiki を導入する手順です。

構築手順

1.1. PHPモジュールのインストール:MediaWikiに必要なモジュールを追加します。

MediaWikiの動的処理に必要なPHPモジュールを導入し、Apacheへ反映させます。

Bash
sudo dnf install -y php php-cli php-common php-mysqlnd php-gd php-xml php-mbstring php-json php-intl php-zip
sudo systemctl restart httpd

2.2. MariaDBのデータベース・ユーザー作成:Wiki専用のデータベースを作成します。

既存のMariaDBにログインし、MediaWiki専用のDBとユーザーを作成します。

SQL
sudo mysql -u root -p

-- MySQLシェル内で実行
CREATE DATABASE wikidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'YOUR_SECURE_PASSWORD';
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3.3. MediaWikiのダウンロードと展開:Web公開ディレクトリへ配置します。

アーカイブを取得し、/var/www/html/wiki 配下へ展開してApacheユーザーへ所有権を変更します。

Bash
cd /tmp
curl -O https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz
tar -xvzf mediawiki-1.41.0.tar.gz
sudo mv mediawiki-1.41.0 /var/www/html/wiki

# 所有権の変更
sudo chown -R apache:apache /var/www/html/wiki

4.4. Apacheリライト設定と.htaccessの作成:/wiki/記事名 形式を有効化します。

スラッグ形式のショートURLを有効化するため、Apacheのオーバーライド許可とリライトルールを設定します。

/etc/httpd/conf/httpd.conf のディレクトリ設定を確認・編集します。

Apache
<Directory "/var/www/html">
    AllowOverride All
    Require all granted
</Directory>

/var/www/html/wiki/.htaccess を作成します。

Bash
sudo nano /var/www/html/wiki/.htaccess

.htaccess の記述内容:

Apache
RewriteEngine On

# /wiki/記事名 へのアクセスを index.php に書き換える
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?title=$1 [PT,L,QSA]

Apacheを再起動して設定を適用します。

Bash
sudo systemctl restart httpd

初期セットアップ(Webブラウザ操作)

  1. CloudflareのDNS設定でドメインをサーバーIPに向け、Proxy(オレンジの雲マーク)を有効にします。
  2. ブラウザで
    https://your-domain.com/wiki
    にアクセスします。
  3. 「set up the wiki」 をクリックし、画面指示に従って言語やデータベース情報(wikidb / wikiuser / パスワード)を入力します。
  4. インストール完了時にダウンロードされる LocalSettings.php を、サーバーの /var/www/html/wiki/ 直下に配置します。

LocalSettings.php の最終調整(Cloudflare & スラッグ対応)

Cloudflare経由のHTTPS通信とスラッグ表示を完了させるため、LocalSettings.php の最下部に以下を追記します。

PHP
// ショートURL(スラッグ)設定
$wgScriptPath = "/wiki";
$wgArticlePath = "{$wgScriptPath}/$1";

// Cloudflare / HTTPS プロキシ対応
$wgServer = "https://your-domain.com";
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
}

適切なパーミッションを設定します。

Bash
sudo chown apache:apache /var/www/html/wiki/LocalSettings.php
sudo chmod 600 /var/www/html/wiki/LocalSettings.php

トラブルシューティング:初期セットアップ時の注意点

Q. 「既定値として選択された外装は有効である必要があります。」と表示される

  • 原因:
    インストーラーの「オプション」設定画面で、有効化(チェック)していないスキン(外装)を「既定の外装」に指定している場合に発生します。
  • 対処法:
    1. 「外装(スキン)」一覧で、既定にしたいスキン(Vectorなど)のチェックボックスにチェックを入れる。
    2. または、「既定の外装」ドロップダウンでチェックが入っているスキンを選び直す。

動作確認

[https://your-domain.com/wiki/メインページ] へアクセスし、以下が正常に機能していれば完了です。

MediaWiki:動作確認
  • SSL保護(https)が正常に適用されていること
  • URLが /wiki/記事名 のスラッグ形式で表示されること
  • ページの作成・編集およびデータベース保存が正常に行えること

MediaWiki は、Apache と MariaDB の上で動いています。Web サーバーの入れ方は「Apache の記事」、データベースは「MariaDB の記事」、外からの公開は「Cloudflare Tunnel の記事」に、自宅サーバーの記事の一覧は「自宅サーバー構築メモ」にまとめています。

コメント