Ruby on Rails上に構築されたRadiant CMSをご存じでしょうか?PHPの世界では、あまり知られていないかもしれませんが、Rubyの世界では誰もが知っている(と勝手に思っていた)CMSのひとつです。Radiant CMSの管理画面は、次のとおり、恐ろしくシンプルな作りになっています。
操作の感覚は、フレームワークを使ってサイトを構築している感じに近いです。高度な機能をプラグインひとつで実現できてしまうWordPressやDrupalのようなCMSとは真逆のコンセプトかもしれません。
Radiant CMSのPHP版クローンFrog CMSとWolf CMS
実は、このRadiant CMSには、Frog CMSというPHP版のクローンが存在しました。このFrog CMSからフォークして生まれたのが、Wolf CMSです。
上記は、Wolf CMSの管理画面ですが、Radiant CMSと比較すると、同じコンセプトで設計されているということが見て取れます。ただし、Wolf CMSは、すでにRadiant CMSのPHP版クローンという範疇を越え、独自の進化の道を歩き始めています。
Wolf CMSのインストール
ということで、以下、Wolf CMSをインストールの手順です。Wolf CMS用のデータベースアカウントは、発行済みということで話を進めます。
先ずは、Wolf CMSのGithubから安定版(Stable Download)をダウンロード。Wolf CMSは、GPL3.0の基に配布されています。
ダウンロードしたフォルダを展開すると、wolfcmsというフォルダが出来上がります。このフォルダのなかにあるwolfというフォルダ内のappフォルダは、次のようなファイルとフォルダで構成されています。
models、views、controllersという3つのフォルダを見れば、Wolf CMSがMVC型のフレームワーク上に構築されているということが分かると思います。Radiant CMSが代表的なMVC型のフレームワークRuby and Rails上に構築されていたのですから、ある意味当然かもしれませんが、それでもこれはWolf CMSの大きなアドバンテージのひとつです。
これらのファイルとフォルダをサーバー内のブラウザからアクセスできる場所に置き、ブラウザからアクセスするとインストールが始まります。なお、Wolf CMSは、MySQL、SQLite3、PostgreSQLの3つのデータベースに対応していますが、今回は、MySQLでWolf CMS用のデータベースアカウントを発行済みということになっています。
上記のチェック画面では、Wolf CMSをインストールしようとしているUbuntuローカルサーバーには、MySQLだけしかセットアップされていないので、MySQLだけがtrueになっているのが分かります。データベースは、ひとつだけあれば良いので、続くふたつのデータベース(SQLite3とPostgreSQL)はfalseのままで先に進みます。
続くConfig file is writableがfalseになっていますが、これはconfig.phpファイルに書き込み権限を与えよという指示です。FTPクライアントやchmodコマンドによってパーミッションを646又は666にセットします。
同じくPublic folder is writableもfalseなので、publicフォルダにも書き込み権限を与えます。FTPクライアントやchmodコマンドによってパーミッションを757又は777にセットします。
最後の行のClean URLs support availableは、_.htaccessというファイルを.htaccessにリネームすれば解決です。
以上の設定が完了すれば、次に進むことができます。次はデータベースの設定です。
前もって発行していたデータベースアカウントを基に、データベースユーザー名 (Database user) とパスワード (Database password)、データベース名 (Database name) などを入力します。管理者権限を持つユーザー名(デフォルトではAdmin)もここで入力します。
また、URL sufficeの欄に、デフォルトで.htmlが入っています。これは静的ページの末尾に.htmlを付与するという設定です。この欄を空欄にすると、静的ページの末尾に.htmlが付かないという設定になります。その下のUse clean URLsのチェックマークを入れたままにしておくと、動的ページで?マークが表示されない設定となります。
最後に、Install Now!ボタンを押します。入力内容に問題なければインストールはこれで完了です。
なお、管理者用の初期パスワードはWolf CMSによって自動発行されますので、インストール結果通知ページに書かれたパスワードをしっかりメモしておいて下さい。
初期設定と日本語化
インストールが完了したら、さっそく管理画面にログインしてみましょう。ここで、config.phpファイルの書き込み権限を削除するようにとの指示が出ると思いますので、FTPクライアントやchmodコマンドによってパーミッションを644又は755に戻しておきます。
ログインに成功したら、忘れないうちにパスワードの変更を行います。ユーザータブをクリックして、自分のユーザー名を選択すれば、ユーザー編集ページに行き着きます。ここでは、パスワードの設定以外に、権限や言語の設定などもできます。ドロップダウンメニューでJapaneseを選択すれば管理画面も日本語化されます。
ちなみに、日本語化ファイルは、wolf/app/i18nフォルダ内にあります。ファイル名はja-message.phpで、このファイルを編集すれば日本語訳を簡単に変更できます。
フレームワーク感覚に近い汎用CMSとは
Wolf CMSの公式サイトにかつて、Discover(発見)というページがあって、ここにWolf CMSはどういうユーザーを想定して作られているかという説明がありました。このページの最後はこんな言葉で締めくくられています。
In short: PHP skills are expected, but not required.
「PHPのスキルがあれば望ましいが、必須というわけではない」という意味で、多少曖昧に聞こえるかもしれませんが、Wolf CMSの立ち位置をうまく説明していると思います。
ほとんどの汎用CMSは、ユーザーにプログラミングを意識させないというコンセプトで設計されています。これによって、ユーザーはコンテンツの作成や管理だけに集中できるというわけですが、プラグインによる機能拡張では補いきれなくなって、独自のカスタマイズが必要になったとき、ベースとなる言語(例えばPHPやRuby)以外に、CMS独自のマクロ関数などを習得しなければならなくなるというケースが多く
これに対してWolf CMSの場合は、サイト構築の段階で、PHPのスキルやフレームワークに対する基礎知識が少しだけ必要ですが、その後は、カスタマイズの程度によってPHPの標準的なスキルやHTML、CSS等の汎用的な知識を積み上げて行くだけでよく、それ以外の余分な学習はほとんど必要ありません。
もちろん、Wolf CMSもプラグインによって機能拡張ができる(まだまだWordPressやDrupalなどとは比較になりませんが…)ので、汎用CMS的な使い方に徹することも可能です。
この記事の表題のとおり、Wolf CMSは汎用CMSとフレームワークの狭間で、ひとり吠える狼といった内容を持つ、ユニークでポテンシャルの高いCMSだといえます。
【追 記】20211114
この記事に出てくるRadiant CMS ( http://radiantcms.org), Wolf CMS (http://www.wolfcms.org), Frog CMS (http://www.madebyfrog.com)の3つの公式サイトはすべて閉鎖されました。GithubアカウントのあるRadiant CMSとWolf CMSにつていは、記事中のリンクをそちらに書き換えています。
Wolf CMSはすでにオワコンではありますが、こういうCMSも昔はあったよという記録のために、この投稿の一部を修正して公開しています。