LoginSignup
5
5

More than 5 years have passed since last update.

Azure WebSitesでbaserCMS詰め放題サーバの作り方

Last updated at Posted at 2015-01-01

Azure WebSitesでbaserCMS詰め放題サーバの作り方

前回、WordPress + SqliteをAzure WebSitesに詰め放題ってのをやったのですが、福岡在住って事もあり、地元で開発されていたオープンソースCMSエンジンである、baserCMSというプロダクトを入れてみようかなと思いました。

baserCMSについて

baserCMS http://basercms.net/ は、シンプルで扱いやすい管理画面機能を有する、国産のCMSです。日本語のドキュメントも多く、福岡県の企業にて開発された経緯から、福岡ではよく耳にするプロダクトです。

Azure WebSites の準備

作成はごく普通に準備してもらえればと思います、マウス操作だけでサクッと作れますので、ここでは説明しません、普通に空のWebSitesを作ってください。1分もあればできあがりです。

バージョンをPHP5.5へ

出来上がったサイトをクリックし、PHP 5.5へバージョンを切り替えてください。構成 > PHPバージョン > 5.5でokです。

設定できたら、下のメニューバーから保存を忘れずに行ってください。

既定のドキュメント

構成 > 既定のドキュメントは、他の言語のファイルオーダーも書いてありますので、以下に変更しました。

  • index.htm
  • index.html
  • index.php

設定できたら、下のメニューバーから保存を忘れずに行ってください。

仮想アプリケーションとディレクトリ

CakePHPは、フレームワークの構造故なのですが、app\webrootにドキュメントルートを設定します、これにより上位にはアクセスできなくなりますし、よりセキュアに運用可能でしょう。

このあたりはRailsなども同じですね。デフォルトのドキュメントルートから変更します。

├─app
│  ├─Config
│  ├─Console
│  ├─Controller
・・・・省略
│  ├─View
│  └─webroot(ここがドキュメントルート)
└─lib

構成 > 仮想アプリケーションとディレクトリから

/ site\wwwroot\app\webrootと設定しました。
設定できたら、下のメニューバーから保存を忘れずに行ってください。

baserCMSのカスタマイズ

Windows IIS PHP + SQLiteでのbaserCMS

BaserCMSは、CakePHPをベース普通に動作するみたいなのですが、どうも過去に不具合があったらしく?インストーラーから、残念ながらSQLiteインストール時に選択できませんでした。今回は費用対効果を狙っており、MySQLすら立てない運用って事で、不具合覚悟でSQLiteを有効にしました(使ってみた感じでは特に不具合が何かわからないのですが・・・)。

lib\Baser\Controller\InstallationsController.phpの修正

597行目あたりの、SQLiteの利用可否チェックをコメントアウトしました。

        /* SQLite利用可否チェック */
        // windowsは一旦非サポート
//      if (version_compare(preg_replace('/[a-z-]/', '', phpversion()), '5', '>=') && (DS != '\\')) {
            if (in_array('sqlite', $pdoDrivers)) {
                $dbFolderPath = APP . 'db' . DS . 'sqlite';
                if (is_writable(dirname($dbFolderPath)) && $folder->create($dbFolderPath, 0777)) {
                    $dbsource['sqlite'] = 'SQLite';
                }
            }
//      }

app\webrooの修正

今回はスマートURL(index.phpをURLから外す)でインストールから稼働まで行いますので、web.configでURL Rewriteを行います。

app\webroot\web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
    <rewrite>
        <rules>
            <rule name="WordPress Rule" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php?url={R:0}" />
            </rule>
        </rules>
    </rewrite>
    </system.webServer>
</configuration>

FTPでアップロード

あとは、できたフォルダをそのままアップロードしてもらえればOKです。
以下の図を参考にしてください。

サイトへアクセス

ブラウザでサイトにアクセスしてインストールを開始してください。詳しいインストール方法はbaserCMSのサイトなどを参照ください。

インストール結果

Cake PHPとAzure WebSites

手順の途中では、ファイルの書き換えなど特殊なところがありましたが、これはインストーラーでのSQLite対応を行うためで、それら以外は、CakePHPベースのアプリケーションのインストール作業となります、この事から多くのCakePHPで開発されたアプリケーションが稼働すると思われます。また、今回はAzureでしたが同様の手順でWindows ServerとIISでも稼働させる事が可能です。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5