レンタルサーバー毎の設定
提供: baserCMS公式ガイド
baserCMSをインストールしたサーバーによっては、いくつかの作業を行なっておいたほうが、安定して運用できる場合があります。
ロリポップ!
WAFの無効化
ロリポップが持っている機能で、WAF(ウェブ・アプリケーション・ファイアーウォール)を無効化します。標準では有効になっていますが、baserCMSではルーティング等に影響があるようです。実際の作業の仕方はロリポップ!の公式マニュアル「WAFの設定・解除」をご覧ください。
mbstring.internal_encodingの設定
ページ管理、ブログ管理等で使用するWYSIWYGエディタが正常に表示されない場合、ロリポップの管理画面から「php.ini」の設定を行います。
設定画面に入ると、沢山の設定項目が出てきますが、その中で「mbstring.internal_encoding」の項目を、「未設定」から「UTF-8」に変更してください。この設定を行うことで、サーバーが内部処理につかう文字コードが、baserCMSが使用する文字コード「UTF-8」になり、不具合が解消されます。
具体的な作業方法は、公式サイト「PHPの設定」をご覧ください。
ヘテムル
WAFの一部除外
ブログ記事保存時にWAFが影響して保存できない場合は、一部除外で対応できます。(baserCMS 3.0.8にて確認)
参考:http://heteml.jp/support/manual/waf/#htaccess
.htaccess へ以下を追記してください。
# and/or,</> SiteGuard_User_ExcludeSig sqlinj-22 # select...from... SiteGuard_User_ExcludeSig sqlinj-1 # or...=, and...= SiteGuard_User_ExcludeSig sqlinj-9 # or...--, and...-- SiteGuard_User_ExcludeSig sqlinj-10 # in SiteGuard_User_ExcludeSig sqlinj-21 # group by ... having 1=1 SiteGuard_User_ExcludeSig sqlinj-103 # order by SiteGuard_User_ExcludeSig sqlinj-8 # '-- SiteGuard_User_ExcludeSig sqlinj-13
WAFの無効化
ヘテムルもロリポップと同様に、WAF(ウェブ・アプリケーション・ファイアーウォール)を無効化します。標準では有効になっていますが、baserCMSではルーティング等に影響があるようです。実際の作業の仕方はヘテムルの公式マニュアル「WAFの設定方法」をご覧ください。
mbstring.internal_encodingの設定
ページ管理、ブログ管理等で使用するWYSIWYGエディタが正常に表示されない場合、ヘテムルの管理画面から「php.ini」の設定を行います。
設定画面に入ると、沢山の設定項目が出てきますが、その中で「mbstring.internal_encoding」の項目を、「未設定」から「UTF-8」に変更してください。この設定を行うことで、サーバーが内部処理につかう文字コードが、baserCMSが使用する文字コード「UTF-8」になり、不具合が解消されます。
具体的な作業方法は、公式サイト「php.iniのご利用方法」をご覧ください。
さくらインターネット
テキスト寄贈:馬庭 吾一@株式会社ヒニアラタ
CPIサーバ
http://qiita.com/materializing/items/4aefd8f024bb1b2bb5af も参考になります。
スマートURL ON にならない
CPIサーバでRewriteを有効にするには .htaccess に Options +FollowSymLinks を追記する必要がある。 (Options +FollowSymLinks の記載がないと Internal server error)
参考: http://ameblo.jp/huangke/entry-10429548096.html
CPIサーバ(マネージドプラン、CHMシリーズ)などは記述する内容が変更になったようです。 FollowSymLinksの記述だとInternal server errorになりました。
参考: http://chmz.document.secure.jp/other/Tips-htaccess/
Options +FollowSymLinks ↓ Options +SymLinksIfOwnerMatch
追記
セキュリティ強化のためか、 (baserCMS設置フォルダ)/index.phpファイルのパーミッションが 書き込み許可( -wr-wr-wr- / chmod 666)になったまま、 .htaccessへ Options +SymLinksIfOwnerMatchを記述して RewriteEngine on にすると、Internal server error になるようでした。
FileZilla や SSHでログインして chmod 644 など、 ファイル所有者以外書き込みできないようにしておいてください。
×: -wr-wr-wr- 666 ○: -wr-r--r-- 644
POST時に文字化けする
CPIサーバは mbstring.encoding_translation = On のようで、ブログ記事保存時に文字化けする。 (何故か固定ページは化けないようですが…) 対応方法としては php.ini で各設定して対応します。
参考: http://wataame.sumomo.ne.jp/archives/5103
テキストエディタで「php.ini」としたファイルを作成し、<Ctrl+V>でペースト。 次に、以下の設定を変更します。 mbstring.internal_encoding = EUC-JP を mbstring.internal_encoding = utf-8 と変更 mbstring.encoding_translation = On とあるので、これを mbstring.encoding_translation = Off に変更 作成したら、/usr/home/ユーザー名/ にFTPで設置。 階層的に、「html」と同列に来るようにします。この位置は、ブラウザからは参照できない位置となります。 .htaccess作成、設置 次に、CPIでPHPを使うには、.htaccess ファイルが必要なので作成します。 以下内容を記述。 AddHandler x-httpd-php559 .php #←★php5.5.9を使う宣言 suPHP_ConfigPath /usr/home/ユーザー名 #←★php.iniのパスを記述 1行目の内容は、コントロールパネル、「サポート」タブ → オンラインヘルプ →「PHPについて」を参照の事。 2行目には、先ほどFTPアップロードした php.ini までのパスを記述します。
.htaccess でのSSL対応が有効にならない
CPIサーバでは RewriteCond %{HTTPS} なんとか が有効にならないため、ポート番号で判別する
RewriteCond %{SERVER_PORT} ^80$
参考: http://wataame.sumomo.ne.jp/archives/5121
サンプル
Options +FollowSymLinks suPHP_ConfigPath /usr/home/XXXXXX/conf/ RewriteEngine on RewriteBase / #RewriteCond %{HTTPS} off RewriteCond %{SERVER_PORT} ^80$ RewriteCond %{REQUEST_URI} ^(/inquiry|/admin).*$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L]
PHPバージョン切り替え (CPI オンラインヘルプより)
参考: http://chmz.document.secure.jp/tools/php/
PHP 5.4.39 の場合 AddHandler x-httpd-php5439 .php PHP 5.5.23 の場合 AddHandler x-httpd-php5523 .php PHP 5.6.7 の場合 AddHandler x-httpd-php567 .php
ラピッドサイトVPS
ControlPanelヘアクセス出来ない時の対応
ラピッドサイトのVPS( http://www.rapidsite.jp/ )にて メインドメインのドキュメントルートへbaserCMSやWordpressなど リライトを使ったサイトを設置すると、ラピッドサイトの ControlPanel( http://ドメイン名/ControlPanel/ )へアクセスできなくなってしまいます。
http://www.rapidsite.jp/support/guide_migration/userguide/start_up/e_11326.html
原因
.htaccessへ記載されたリライトの内容の方が有効になってしまい、not foundになってしまうようです。
対応方法
- ドキュメントルート直下に ControlPanel という名前の空のフォルダを設置
- ControlPanelフォルダ内に .htaccessファイルを作成、RewriteEngine Off を記述
これで、 http://ドメイン名/ControlPanel/ で元通りアクセスできるようになります。
※ 参考サイト
http://tetch1987.com/shittakabull/web/rapidsite-vps-install-wordpress-and-eccube#title8
6.ControlPanelへログインできるようにする 「http://ドメイン名/ControlPanel」にアクセスしてもWordpressのテーマが表示されてしまうので修正する 「http://ドメイン名/」に「ControlPanel」のフォルダをアップロード 「http://ドメイン名/ControlPanel/」に「.htaccess」を作成し下記を記入。 RewriteEngine Off
WebArena
BurgerEditor内のCKEditorが動作しない場合の対応
下記の実ファイルがないと、BurgerEditor内のCKEditorが動作しなかった。 実ファイルを設置すると動作するようになりました。
(BurgerEditor自体は正常に動作していました)
/home/burger_editor/js/ckeditor/adapters/jquery.js
アルファメールプレミア
インストール後にテーマのCSS、JSが有効にならない場合の対応
原因
app/.htaccess app/webroot/.htaccess
の2つのファイルに、アクセス制限の記述(Order allow,deny等)が初期状態で記載していますが、 このアクセス制限の記述が許可されていないサーバだった為、 CSSやJS,imgへアクセスすると500 internal server error となっていました。
※インストール画面では、インストールプログラムにて直接CSS,JS,imgを読み込んでいるので、 正常表示されるが、インストール完了直前からはテーマ内のcss,js,imgを読み込む為、 インストール画面では正常に表示されていたが、インストール完了前後で表示が崩れていました。
対応方法
apacheの設定を変更するか、変更できない場合は、 下記のファイル内のアクセス制限の記述をコメントして対応します。
app/.htaccess
#Order allow,deny #Deny from all
app/webroot/.htaccess
#Allow from all
以上です