AzureにMediaWikiを入れた時のメモ
前回から続かなかった。
Azure AppServiceのWebAppServiceにMediaWikiをインストール。結構ハマったのでメモ。(かなり長時間上手くいかなかったのでちょっとやさぐれております。)
まず全体の流れはこれ。
Cross-Post: Creating a Corporate Wiki in Azure | Azure App Service and Functions team Blog
ちなみにチュートリアル通りのバージョンを入れていくと後で不幸になるので新しいやつを入れましょう。今回は結果として1.31.1を使っています。
SQLiteの場合:特に何も。
Azure SQL Databaseの場合:俺には無理だった。
→include下のどこか深いところにあるDatabaseMssql.phpの何か接続文字列のデータ設定してんなってところに$connectionInfo['database'] = "(データベース名直書き)";
→しかし、最後に 「新しいページを作成できませんでした。 そのページは既に存在します。」と言われた。
→ver1.32.0と1.31.1の両方で同じ現象が発生することを確認
→撤収
Azure Database for MySQLの問題:俺でも何とかなった。
・Azure上のMySQLはMyISAMエンジンが無いのでインストーラがこける
→maintenanceディレクトリ下のtables.sql、1500行目を適当に改変して強引にインストール
CREATE TABLE /*_*/searchindex (
-- Key to page_id
si_page int unsigned NOT NULL,
-- Munged version of title
si_title varchar(255) NOT NULL default '',
-- Munged version of body text
si_text mediumtext NOT NULL
) /*ENGINE=MyISAM DEFAULT CHARSET=utf8*/;
CREATE UNIQUE INDEX /*i*/si_page ON /*_*/searchindex (si_page);
--CREATE FULLTEXT INDEX /*i*/si_title ON /*_*/searchindex (si_title);
--CREATE FULLTEXT INDEX /*i*/si_text ON /*_*/searchindex (si_text);
CREATE UNIQUE INDEX /*i*/si_title ON /*_*/searchindex (si_page);
CREATE UNIQUE INDEX /*i*/si_text ON /*_*/searchindex (si_page);
→一応動いたけど検索するとエラー。そりゃそうだ。
→撤収かなあ
→
HeidiSQL - MariaDB, MySQL, MSSQL and PostgreSQL made easy を入れてポチポチいじってたらFULLTEXT INDEXを付けられた!
(1ケ1ケ変更しては更新しないとエラーになるw)
検索でけた。
Auth_remoteuser:
AzureADでシングルサインオンすると@〰.onmicrosoft.comが邪魔で管理者権限で入れない。
$wgAuthRemoteuserUserNameReplaceFilter でスカッと解決。
短いURL:
MediaWikiのインストールディレクトリ名から"wiki"という名前を消し、 web.configを上の方に出てくる記事の
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="wikiRule1" stopProcessing="true">
<match url="^wiki/(.*)$" />
<action type="Rewrite" url="/mediawiki-1.26.3/index.php?title={UrlEncode:{R:1}}" />
</rule>
<rule name="wikiRule2" stopProcessing="true">
<match url="^wiki/$" />
<action type="Rewrite" url="/mediawiki-1.26.3/index.php" />
</rule>
<rule name="wikiRule4" stopProcessing="true">
<match url="^/*$" />
<action type="Rewrite" url="/mediawiki-1.26.3/index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
のディレクトリ名を変更したら動いた。
→文字化け
→
MediaWiki + Short URL + IIS で日本語の URL が文字化けしてしまう - Qiita
ちなみにコイツ↓は動かない。
Manual:Short URL/IIS8.5 - MediaWiki
後はエクステンション入れて遊びますか。