はじめに|「あのコマンド、どこに書いたっけ……」問題
PCで開発や環境設定をしながら、こんな経験はありませんか?
「あれ、このエラー、前も解決したはずなんだけど……どこにメモしたっけ?」
そう、僕はずっとこの問題に悩んでいました。NotionにメモしたりAppleメモに書いたり、Slackの自分チャンネルに投げてみたり……「どこに書いたか迷子」 状態が慢性化していたんです。特にNASの設定手順とか、カメラのRAWワークフローとか、技術的なTipsは後から絶対見返すのに、散らばりすぎて見つからない!!
そこで思ったわけです。「自分専用のWikiを作ればいいじゃないか」 と。
Synology NASにはもともと「MediaWiki」をインストールできるパッケージが用意されていて、WordPressと共存させながら独自ドメインで公開することも全然できます。しかも外部から https://wiki.kaylog.io でアクセスできるので、外出先でもサッと参照できる。完全に自分だけのナレッジベースですよ、これは。
今回は、MediaWikiのインストールから、セキュリティ警告の対処、DBエラーの解消、独自ドメイン公開まで、実際にハマったポイント込みで全部解説します。保存版でどうぞ!
目次
- MediaWikiをDSMからインストールする
- セキュリティ警告を完全解決する(.htaccess編集)
- DBエラー「Error 1044」を解消する
- wiki.kaylog.ioで公開するための設定
- WikiTextとMarkdownの違いを知っておく
- まとめ
ステップ① MediaWikiをDSMからインストールする
まずは基本から。DSMのパッケージセンターを開いて「MediaWiki」を検索してインストールするだけです。
インストールが完了したら、WebステーションでエイリアスとしてMediaWikiを確認できます。デフォルトでは http://[NASのIP]/mediawiki/ みたいなURLでアクセスできる状態になっています。
🔍 Kay’s Check: WebステーションはDSM 7.2以降の場合、「Web Station」アプリから確認できます。「仮想ホスト」と「PHPプロファイル」が正しく紐付いているかも確認しておきましょう。
この段階ではまだセットアップウィザードが走るだけなので、焦らず進めていきましょう。
ステップ② セキュリティ警告を完全解決する(.htaccess編集)
インストール後、管理画面を開くとこんな警告が表示されました:

警告:アップロードの既定ディレクトリ
/volume1/web_packages/mediawiki/images/に、任意のスクリプト実行に関する脆弱性があります。
「え、インストールしたばっかりなのにもう脆弱性……?」
落ち着いて確認すると、images/ ディレクトリに配置されている .htaccess の設定が古くて、PHPファイルの実行制限が不十分だったのが原因でした。
修正手順
SSHでNASにログインして(またはFile Stationから)、以下のファイルを編集します:
/volume1/web_packages/mediawiki/images/.htaccess
修正前の内容(デフォルト):
apache
<IfModule headers_module>
Header set X-Content-Type-Options nosniff
</IfModule>
<IfModule php7_module>
php_flag engine off
</IfModule>
<IfModule php_module>
php_flag engine off
</IfModule>
RemoveHandler .php
<FilesMatch "\.ph(p[3457]?s?|tml)$">
SetHandler None
</FilesMatch>
修正後の内容:
apache
<IfModule headers_module>
Header set X-Content-Type-Options nosniff
</IfModule>
<IfModule php7_module>
php_flag engine off
</IfModule>
<IfModule php_module>
php_flag engine off
</IfModule>
RemoveHandler .php .php3 .php4 .php5 .php7 .phtml .pht .phps
<FilesMatch "\.ph(p[3-8]?s?|tml|t)$">
SetHandler None
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Deny from all
</IfModule>
</FilesMatch>
Options -ExecCGI
主な変更点は3つ。RemoveHandler の対象拡張子を増やしたこと、FilesMatch のパターンを最新のPHPバージョンまでカバーするよう拡張したこと、そして Require all denied と Options -ExecCGI でCGI実行自体を無効化したことです。
保存してMediaWikiの管理画面をリロードすると……警告が消えました!! 完全解決です。
🔍 Kay’s Check:
.htaccessの編集はFile Stationのテキストエディタでできないので、SSH(sudo vi)を使うか、一旦ダウンロードしてテキストエディターで編集してアップロードするのがおすすめです。バックアップを取ってから編集しましょう。
ステップ③ DBエラー「Error 1044」を解消する
セットアップウィザードを進めていくと、次のエラーで止まりました:
Error 1044: Access denied for user 'Kay'@'localhost' to database 'kaylog'
Query: CREATE DATABASE `kaylog` CHARACTER SET utf8
「あー、DB作成権限がないやつだ……」
MySQLのユーザー Kay に、データベースを新規作成する権限が付いていなかったのが原因です。Synologyのパッケージ管理では、インストール時に自動でMySQLユーザーを作ってくれるんですが、権限が最小限に絞られていることがあります。
解決方法:phpMyAdminでSQLを実行
DSMのパッケージセンターから「phpMyAdmin」を開いて、SQLタブで以下を実行します:
sql
CREATE DATABASE `kaylog` CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON `kaylog`.* TO 'Kay'@'localhost';
FLUSH PRIVILEGES;
これで kaylog データベースを手動で作成しつつ、Kay ユーザーに必要な権限を付与できます。
その後、MediaWikiのセットアップウィザードに戻って「データベース名:kaylog」「ユーザー:Kay」で再実行 → インストール完了!!
🔍 Kay’s Check:
FLUSH PRIVILEGES;を忘れずに。これを実行しないと権限変更がすぐ反映されないことがあります。
ステップ④ wiki.kaylog.ioで公開するための設定
ここが今回のハイライトです。QuickConnectのURL(quickconnect.to/xxxx)ではなく、ちゃんとした独自ドメインで公開したかったんです。
前提状況
kaylog.io(ポート80/443):WordPressがすでに稼働中- MediaWikiはWebステーションのエイリアスとして同居
「WordPressと共存できるの?」 という不安がありましたが、結論から言うと全く問題なしです。Webステーションは仮想ホストで別ポータルを作れるので、ドメインが違えばポート競合しません。
手順
1. Webステーションで新しいポータルを作成
Webステーション → ポータル → 作成で、wiki.kaylog.io(HTTP 80 / HTTPS 443)を新規追加します。アプリケーションとして「MediaWiki」を割り当てましょう。
2. CloudflareのDNS設定
wiki のAレコードを追加します。ここで重要なのがグレーの雲(DNSのみ) にすること!!
オレンジの雲(プロキシ経由)にしてしまうと、Let’s Encryptの証明書取得時にCloudflareのIPが見えてしまって、NASのIPにDV(ドメイン認証)が通りません。
🔍 Kay’s Check: Let’s Encryptの取得が終わったら、オレンジの雲に戻してもOKです。ただし証明書更新のタイミングで同じ問題が起きるので、グレーのままのほうが管理が楽です。
3. Let’s Encryptの証明書取得
DSM → コントロールパネル → セキュリティ → 証明書 → 追加で、wiki.kaylog.io に対してLet’s Encryptの証明書を取得します。
4. LocalSettings.phpを編集する
ここが404解決の鍵です!!
SSHで以下のファイルを開きます:
/volume1/web_packages/mediawiki/LocalSettings.php
以下の2行を修正します:
php
$wgServer = "https://wiki.kaylog.io";
$wgScriptPath = ""; // ← ここを空文字にする!
デフォルトでは $wgScriptPath = "/mediawiki"; になっていますが、これをそのままにしておくと https://wiki.kaylog.io/mediawiki/index.php にリダイレクトされて404になります。独自ドメインのルートで動かす場合は必ず空文字にしましょう。
「これに気づくまで30分溶けた……」
5. 証明書の割り当て設定
DSM → コントロールパネル → セキュリティ → 証明書 → 設定 で、wiki.kaylog.io:80 と wiki.kaylog.io:443 に先ほど取得した証明書を割り当てます。
これで https://wiki.kaylog.io にアクセスすると……証明書警告なし、完璧に表示されました!!
Kay’s Voice: WordPressが動いているNASと同居できて、しかも独自ドメインで証明書付き公開まで無料でできます。Synologyのパッケージ環境、本当によくできていますね。
ステップ⑤ WikiTextとMarkdownの違いを知っておく
Wikiができあがったあと、「よし、いままでNotionに書いてたメモをコピペしよう!」と思ってMarkdownをそのまま貼り付けると……見事に崩れます。
MediaWikiはMarkdownではなく「WikiText」という独自記法を使っています。主な違いはこちらです:
| 要素 | Markdown | WikiText |
|---|---|---|
| 見出し(大) | ## 見出し | == 見出し == |
| 見出し(小) | ### 見出し | === 見出し === |
| 箇条書き | - リスト | * リスト |
| 番号リスト | 1. 番号 | # 番号 |
| 太字 | **太字** | '''太字''' |
| リンク | [text](URL) | [URL text] |
| URLをそのまま表示 | 自動リンクになることも | <nowiki>URL</nowiki> |
🔍 Kay’s Check: MediaWiki拡張機能の「VisualEditor」を有効にすると、Wikiを書くのが格段に楽になります。WordのようなGUIで編集できるので、WikiTextを覚えなくてもOKです。パッケージセンターではなくMediaWiki管理画面の「拡張機能」から有効化できます。
まとめ
- MediaWikiはDSMのパッケージセンターから簡単にインストールできます:ただしセキュリティ警告とDBエラーはほぼ確実に踏むので、この記事の手順を参考にしてください。
- WordPressと同じNASで完全共存できます:Webステーションの仮想ホスト機能を使えばポート競合しません。既存の
kaylog.ioへの影響もゼロです。 - 独自ドメイン公開の鍵は
$wgScriptPath = "";:ここを空にしないと404地獄に落ちます。Cloudflareはグレーの雲(DNSのみ)でLet’s Encryptを通してから設定しましょう。
締めの一言
「ナレッジが散らばる問題」、Synology NASを持っているなら完全解決できます。
これからNASの設定手順だけじゃなくて、カメラのセットアップメモ、Lightroomのプリセット管理フロー、機材リストなんかも全部ここに集約していく予定です。「NASが自分専用の脳みそ」 になる感覚、最高ですよ。
Synologyユーザーで同じ悩みを抱えている方、ぜひ試してみてください!!


コメント