こんにちは、2022・2023年度 Maximum 代表の Asa (a01sa01to) です。
この度、MaximumのWebサイトを DokuWiki から WordPress へ移行しました!
その裏側などを書ければと思いますー
一応、私個人の独断で移行したわけではないということは書いておきます。が、OB/OGの方々の意見は聞けてないので殴られるかもしれない()
なぜ移行したか
まあ移行する理由なんて「移行前より移行後のほうが便利になりそうだから」しかないと思うんですが、理由について大きく3つ挙げます。これ以外にもいろいろな理由があり移行しています。
syntax
これは慣れの問題でもある気がしますが、DokuWikiの独自のsyntaxが覚えにくい!
syntaxページを見れば解決するんですが、「これを実現するにはどうすればいいんだっけ…?」でいちいち見直す必要があったように思えます。
WordPressなら基本WYSIWYGなので見た目の差異が生じづらく、また構文も(ほぼ)HTMLなので扱いやすいです。(強いて言えばMinifyしないでくれ…)
IAM
これは Maximum 内部の問題なんですが、ユーザーが「admin」「member」「OB/OG」のみで、全員がどれかを共有する、といった運用でした。これはよくない。
運用といえば、メールサーバーもWebサーバーも何もかも1台で建てていたので、それもどうにかしたいというのもありました。
記事管理ができる
これが一番大きかったかなと思います。
これまで講習会などをやっていて、インプットの機会はあってもあまりアウトプットの機会がないように思いました。
私の意見ですが、インプットに加えてアウトプットしたほうが学習効率が断然良いと思ってます。
なのでサークルとしてそういった機会を設けたほうが良いと思いました。
DokuWikiはあくまでWikiなので、ブログ向きではないです。
なので上述した「syntax」「ユーザー認証 / IAM」「記事管理」を踏まえ、WordPressを導入することにしました。
本音
ぶっちゃけ自分たちで作ったほうがよくね?デザインとかも一から作れるし管理も楽だし
↓
どう構築する?今後の管理は(Web系に強い人があまりいないので)どうする?認証めんどくね?など問題の山
↓
とりあえず既存のCMS使うかあ
↓
(先述) WordPressでいっか♪
といった経緯があります。自分たちで作る案は捨てたわけではないです。Webに強い人来てくれ。
移行作業
インスタンスの作成
導入自体はすごく簡単でした。Amazon Lightsail でインスタンスを作るだけ。便利な時代。
ページ移行
ページを移します。1ページずつコピペしました。たいへん。
DokuWiki の構文を WordPress の HTML 形式にするコンバーターでも作ろうかと思ったがコピペのほうが圧倒的に速いので断念。
見出しにはパーマリンクを付与するためのIDとリンクが付与されてしまっていたので、以下の正規表現で一発置換しました。
<h(\d) id="(.+)">(.+)<a(.+)</a></h(\d)>
↓
<h$1>$3</h$5>
また、上がっていた画像ファイルやPDFファイルなどはサーバー内部にそのまま保存されているので、zip化してダウンロードしました。
WordPress はセキュリティ上の問題?で C++ ソースコードなどがアップロードできないので、やむを得ず Private な GitHub リポジトリで運用することにしました。
その他、ベータ版なサイトに2023年度のメンバーのアカウントを追加して、よりよいデザイン・機能にするように調整しました。
公開
全ページが移行終わったので、ページ崩れがないことを確認していよいよ公開です。
まずは、DNS の設定です。
とりあえず、maximum.vc だけ A レコードに IP を指定して…完了!ちゃんとページが表示されました。
次に SSL/TLS 証明書の発行です。
Lightsail では Bitnami というパッケージライブラリを用いているようなので、いつもの Certbot とはやり方が異なっていました。以下の公式記事を参考にしつつ、発行することにします。
ここで www.maximum.vc の設定もしますか?と聞かれたので、楽だと思い “www” のほうも A レコードを設定しました。
DNS の設定は終わったので、サイトのほうを見て崩れていないかを確認します。
どうやら設定がまだ IP アドレスのままだったので、 wp-config.php を変更して適用しました。
また、内部リンクも IP アドレスだったので、サイト内検索をかけて更新します。
全部移行できたので、念のため DokuWiki のサイトにサブドメインを付与して閲覧できるようにしておきます。こちらは SSH 接続して nginx.conf を書き換えました。
そして最後に周知も忘れずに行いました。
今後の課題
春休み中だったので一気に移行しました。パフォーマンス改善やスパム対策なども十分とは言えないので、少しずつ前に進めていければなーと思っています。
何度も言うようですが、やっぱり自分たちで作りたいので今後案を立てたいですね。Web研チームが主体となってやってくれると思うので (←まるなげ) 、協力できればいいなー。乞うご期待。
コメント