Re:シルの日々の戯言。

折れた心が少しだけくっついたから何かを綴ってみるテスト。

手軽に導入できるCMSを探した

スマホゲームアプリ「とつまお!」のデバッグに関連して、GomaAppの公式サイト(フロントページ)を作るか・作らないかで考えが揺れています。
sylve.hatenablog.jp

詳しい事情は(クレジット上はスペシャルサンクスの立ち位置なので)知りませんが、Google Playの規約かなにかで公式サイトがあったほうが好ましいの旨の条項があるようで、どうしよう・・・となっています。
真意としてはプライバシーポリシー掲載のためだと思いますが、どうやらプライバシーポリシーの掲載はGitHubでも構わないらしいので、現状GomaApp公式サイト作成の優先度は低いです。*1

優先度は低いですが、いざ作ると言うときに備えて今のうちから準備を進めておくこととします。

想定されるサーバー環境

現状、公式サイト開設に関連するサーバーをどうするか・ドメインをどうするかの話はできていません。
仮に適当なレンタルサーバーを借りたとしても、ランニングコストを考えると安価なプランとなり、潤沢な機能は期待できないでしょう。

そのため、PHPくらいは動くだろうけどDBは提供されない・有償オプションになるような環境を想定としてなにかうまい手立ては無いかを探していきます。
・・・そんな環境が令和の時代にあるのか?と雑に調べると、意外とそんなシビアな環境は無いっぽい*2ですけど・・・。

ただ過酷でシビアな環境を想定しておいたほうが無駄な失望を産まずに済みますし、何より私の手持ちESXi上に仮想マシンを立てて検証するときもLAMPの「M」(MySQL or MariaDB)を入れず・初期設定も行わず・DB作成もやらずに済むため若干らk(ry*3

DBレスで動かせるCMSってあるのか?

近年のWebサイト構築と言うものは、CMS(コンテンツ管理システム)を用いて作られています。CMSがどのようなものかと言うと、早い話がWordPressのようなシステムのことを指し、基本的にWeb操作だけで完結するWebサイト管理システムです。*4
別に昔ながらのHTMLタグ直打ちでも構いませんが、手軽にそれなりに高品質のWebサイトが作成できるため、レンタルサーバーなどで許容されるならCMSを利用したほうが作業時間の節約になります。・・・もちろん、企業サイトのようにガッツリ作り込もうとするとそれ相応の時間は必要ですが・・・。

そんなCMSですが、基本的にLAMP環境が必要になります。雑に表現しているLAMPLinux(OS)/Apache(Webサーバー)/MySQL or MariaDB(データベース)/PHP or Python(プログラム言語)の略称で、いわゆるLinuxでWebシステムを作りたい場合のスタートアップキットみたいなもの・・・と考えてください。*5

そんなスタートアップキットにDBが含まれる状況で、果たしてDBを利用しないCMSと言うものがあるのか?

・・・世の中、思った以上に広いものでDBを利用せずとも使えるCMSがいくつかあったりします。
DBを利用しないと言うことは、変にお膳立てすることもなく必要なファイルをWebサーバーのルートディレクトリのwwwroot(デフォルトだと/var/www/html辺り)に必要なファイルをブチ込むだけのお手軽導入で済んだりします。

お手軽に導入できるヤッター!

・・・と言うことで、いくつか試用してヨサゲなものをフィードバックすることとします。

baserCMS

basercms.net

厳密にはDBレスではありませんが、SQLiteにも対応したCMSです。
SQLiteは、いわゆる組み込み型DBで仰々しい設定不要で利用可能なDBです。データベースをファイルとして管理するため、データの移行も簡単に行える一方、高負荷時の耐性に難があるとされています。

そんなSQLiteに対応しているので、導入の観点では必要なファイルをwwwrootに配置し、WebUIから少しばかりの初期設定を行うだけで利用可能になります。
更に謳い文句としては「国産オープンソース」なので、ドキュメントはすべて日本語化されていると言う素晴らしい利点があります。

企業のフロントページを作成するのに適したCMSとのことなので、今回のようなインディーズゲームの公式サイトには都合のいいCMSと言えます。

その一方、企業のフロントページに特化したCMSなので自由度は正直低く、ゴリゴリにカスタマイズを加えて「ぼくのかんがえたさいきょーのほーむぺーじ」を作るのには不向きです。

今回調査した中ではGomaApp公式サイトを作成するには一番適したCMSですが、借りる予定のレンタルサーバーでSQLiteが利用可能かどうかと言う問題点が残るので、完全完璧・・・と言う訳ではありません。

Pico CMS

picocms.org

あまり国内向けの情報がありませんが、DBレスで利用可能な簡易CMSです。
一応CMSではあるものの、Markdown形式で記載されたファイルをHTMLファイルに変換してWebページとして表示させるタイプなので、管理画面などはありません。

こちらも導入に必要なファイルをwwwrootに配置するだけで準備完了です。上記の通りMarkdown形式で書かれたファイルをHTMLとして扱われる設計のため、Markdown記法を知っておく必要はあるものの、あまり複雑怪奇なスキルを求められないのである意味シンプルなCMSです。

ただし、私が一人で管理するならまだしも、GomaAppの公式サイトとして利用する場合は・・・。*6
また、Pico CMS本体自体が2020年8月末で更新が途絶え、テーマファイルやプラグインがPico CMSの旧バージョン向けで更新が止まっていることを鑑みると積極的に採用すべきかどうか悩ましい部分があります。
・・・が、設計思考は凄く素敵なCMSなので今後も適切に更新が続くと言う場合、個人的に使ってみたいCMSです。

Bludit

www.bludit.com

同じくあまり国内向けの情報はありません。・・・もっと言うと公式サイトの下部に「日本語」と書かれた項目があるものの、「PAGE NOT FOUND」と表示されます。一応日本語関連のドキュメントはあるにはありますが、怪しいミラーサイトでしか存在しません。・・・が、日本語自体には対応しているCMSです。

例のごとく導入はかんたんで、必要なファイルをwwwrootに配置し、WebUIからインストーラーを叩くだけ・・・ですが、インストーラーとは名ばかりで・・・

  1. 言語選択(日本語選択可)
  2. 管理者アカウントのパスワード設定
  3. おわり

・・・凄く簡単です。

ここまでお手軽にも関わらず、しっかりとした管理画面が搭載されているため、一般的なCMSのような設定が一通り可能です。公式ドキュメントは日本語非対応なのに、インストーラーで日本語を選べば管理画面の大半が日本語化されるので、ガチのCMS初心者以外は戸惑うことは少ないでしょう。
一応こちらもMarkdown対応ですが、WYSIWYGエディタにも対応しているため、先程のPico CMSよりは取っつきやすいCMSだと思われます。

借りるレンタルサーバー次第ですが、もしbaserCMSの要件であるSQLite非対応との場合はこちらがGomaApp公式サイトで利用するCMSの候補となりそうです。

最終的にどうなるのやら・・・

今のところはレンタルサーバーをどうするかと言う部分で止まっていますが、場合によっては自宅サーバーって手もアリじゃね?・・・と話を持ち出したりしているので、最終的な顛末がどうなるかは不透明ですが、とりあえず手軽に導入できそうなCMS選定は実施できたのでヨシとします。・・・あ、しるべさん宅にGomaAppのWebサーバー設置は無理ですよ?*7

しかし、いずれのCMSも手軽に導入できると言うことは気軽に試せて検証ができるので、素晴らしい限りです。
早いところ方針が決まって欲しいところですが、こればかりはリアル生活の都合もあるので今は外堀を埋めて「さぁ作れるぞい?」とある意味追い詰めることを(!?)進めていこうと思います。

・・・まぁ、実際にサーバーどうするかが決まった後は早々にCMS導入・カスタマイズ作業があるでしょうし、採用候補として挙げているbaserCMSとBluditのカスタマイズ方法を調べておかないと・・・ですね。

*1:どうやら公式サイトを持たず、GitHubにプライバシーポリシーを掲載する事例が結構多いようです。

*2:調べてて思ったのは、安価なプランでもDBあり・もっと具体的にWordPress対応を謳うプランが大半なんですね。・・・まぁ、リソースケチってるので快適性がどうかは知りませんけど。

*3:dnf/aptコマンド一発で入って、コマンド数発で設定終わりますし、ガバガバ設定で良いならコマンド数発でDB作成できますけど・・・。

*4:WordPress自体、ブログサイト向けの印象が強いですが、汎用性の高いCMSとして利用されることが多いです。

*5:ちなみに、Apacheの代替でnginxを利用して(nginxの読みが「エンジンエックス」と呼ばれるため「E」が宛てられ)LEMPとされる場合もあるようです。

*6:知人とは言えど開発者兼代表に「オマエのサイトMarkdown記法で作る方式だから、Unityで利用するC#以外にMarkdown記法も覚えろwww」と言うのは、流石に無いな・・・。

*7:IPoE接続環境なので容易には設置できない・PPPoE接続はVPN用にしてる・通信の振り分けが面倒臭いのでウチには設置したくないetc