SOY CMS(1.2.7b)をCPIサーバへのインストール方法のメモ

  • 投稿日:
  • by
  • カテゴリ:

ここ最近、CPIサーバの「シェアードプラン」でSOY CMSのインストーラー付きで提供開始されました。

共用サーバー「シェアードプラン」CMS 20種類をインストーラー付きで提供開始

先週に、CPIサーバへ悪戦苦闘しながら、SOY CMSをインストールしました。せっかくなのでメモとして、その手順を記載しときます。SOY CMS 1.2.7b SQLiteのインストーラーなし版です。

CPIサーバで利用できるPHP

CPIサーバでは、PHPのいくつかのバージョン(5.2.8、5.2.4、4.4.9、4.4.7)を利用することができます。
SOY CMSはPHP 5.2.0以上が推奨ですので、必然的に5.2.x系になります。ここでは、5.2.8を使うことにします。

SOYをドキュメントルートへアップ

ダウンロードしたSOYを解凍すると、「soycms_1.2.7b_sqlite」というフォルダになっていますので、これを「cms」とリネームしてドキュメントルートへアップします。

php.iniを編集して任意のディレクトリにアップ

CPIサーバでは、利用するPHPのphp.iniをサーバの任意のディレクトリにアップする必要があります。そこで、サーバ管理のコントロールパネルから、PHP 5.2.8のphp.iniをコピーして、適当なテキストファイルにペーストし、SOYの動作するためのいくつかの拡張モジュールを有効にし、テキストファイルを「php.ini」という名前にして保存し、サーバのドキュメントルートへアップします。

有効にしたPHPの拡張モジュールは以下です。(注意:ローカル環境で設定してあったphp.iniと整合性を図るため、SOYの動作に関係のない拡張モジュールも有効にしている可能性はあります。)

extension=php_gd2.dll
extension=php_gettext.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mcrypt.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdf.dll
extension=php_pdo.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll
extension=php_ps.dll
extension=php_paradox.dll

また、以下のように設定を変更します。

mbstring.internal_encoding = UTF-8
magic_quotes_gpc = Off

.htaccessの作成

CPIサーバでは、PHPを使用するためには、php.iniのアップだけでは動作しません。そこで「.htaccess」の作成が必要です。

.htaccessに以下のように記述し、ドキュメントルートにアップします。

.htaccessの記述

AddHandler x-httpd-php528 .php


Options +FollowSymLinks
RewriteEngine On


suPHP_ConfigPath <サーバのドキュメントルートパス>


deny from all

また、php.iniと.htaccessは、ドキュメントルートにアップしても、SOYが正常に動作しません。

正常に動作させるためには、以下のディレクトリにもphp.iniと.htaccessをアップする必要があります。但し、この場合の.htaccessは下記だけで十分です。

.htaccessの記述

AddHandler x-httpd-php528 .php

ディレクトリ

hoge/admin/
hoge/soycms/
hoge/app/

初期設定

「http://hoge.com/cms/admin」へアクセスし、初期設定を行ないます。

500エラーがでたら...

初期設定の際に、「.htaccessを上書きします」という表示がでるはずです。そこでOKをしないと先に進めないのでOKを押すと、500エラーがでます。

これは、今回の案件がドメイン移行の真っ最中だったので、そのために500エラーがでた可能性もあるかもしれません。(このあたりはよく分かりませんが...)

500エラーがでた場合は、以下のようにドキュメントルートの.htaccessをコメントアウトしてください。そうするとアクセスできるようになります。(コメントアウトする理由は、後でコメントアウトした箇所が必要になるからです。)

.htaccessの記述

AddHandler x-httpd-php528 .php


Options +FollowSymLinks
RewriteEngine On


suPHP_ConfigPath <サーバのドキュメントルートパス>


deny from all


# @generated by SOY CMS at 2010-xx-xx xx:xx:xx
#RewriteEngine on
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME}/index.php !-f
#RewriteCond %{REQUEST_FILENAME}/index.html !-f
#RewriteCond %{REQUEST_FILENAME}/index.htm !-f
#RewriteCond %{REQUEST_URI} !/index.php/
#RewriteRule ^(.*)$ index.php/$1 [L]

ページ作成

このままページの新規作成でどんどんページを作っていきます。

コメントアウトを外す

トップページができたら、次は下層ページを作成していくことになると思いますが、このままでは、ページが作成できても、下層ページが「ページの確認」では表示されません。(ダイナミック編集では確認することはできます。)

理由は、先程、コメントアウトした.htaccessが原因です。そのせいで、下層ページの生成ができていない状況になっていますので、コメントアウトを外します。

.htaccessの記述

AddHandler x-httpd-php528 .php


Options +FollowSymLinks
RewriteEngine On


suPHP_ConfigPath <サーバのドキュメントルートパス>


deny from all


# @generated by SOY CMS at 2010-xx-xx xx:xx:xx
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.htm !-f
RewriteCond %{REQUEST_URI} !/index.php/
RewriteRule ^(.*)$ index.php/$1 [L]

これで下層ページの確認も行えるようになります。

あとがき

こんな感じで、いろいろと悪戦苦闘しながら、CPIサーバへインストールしました。それなりに自分の知識不足なところも分かったような気がします。また、このエントリで書いた部分で不要な箇所があればご指摘いただければ幸いです。

最後に、このエントリーがSOY CMSを使うすべての人への良き情報になれば幸いです。

参考

追記

10月5日

誤字脱字を訂正しました。また、SOYの動作が5.2.2以上となっていましたので、5.2.0に訂正しました。