「レンタルサーバー毎の設定」の版間の差分
提供: baserCMS公式ガイド
(→ヘテムル) |
|||
行58: | 行58: | ||
+ | <br /><br /> | ||
+ | ''テキスト寄贈:[http://hiniarata.jp/ 馬庭 吾一@株式会社ヒニアラタ]'' | ||
+ | == 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/ | ||
+ | |||
+ | <pre> | ||
+ | Options +FollowSymLinks | ||
+ | ↓ | ||
+ | Options +SymLinksIfOwnerMatch | ||
+ | </pre> | ||
+ | |||
+ | ==== 追記 ==== | ||
+ | |||
+ | セキュリティ強化のためか、 | ||
+ | (baserCMS設置フォルダ)/index.phpファイルのパーミッションが | ||
+ | 書き込み許可( -wr-wr-wr- / chmod 666)になったまま、 | ||
+ | .htaccessへ Options +SymLinksIfOwnerMatchを記述して | ||
+ | RewriteEngine on にすると、Internal server error になるようでした。 | ||
+ | |||
+ | FileZilla や SSHでログインして chmod 644 など、 | ||
+ | ファイル所有者以外書き込みできないようにしておいてください。 | ||
+ | |||
+ | <pre> | ||
+ | ×: -wr-wr-wr- 666 | ||
+ | ○: -wr-r--r-- 644 | ||
+ | </pre> | ||
+ | |||
+ | === POST時に文字化けする === | ||
+ | |||
+ | CPIサーバは mbstring.encoding_translation = On のようで、ブログ記事保存時に文字化けする。 | ||
+ | (何故か固定ページは化けないようですが…) 対応方法としては php.ini で各設定して対応します。 | ||
+ | |||
+ | 参考: http://wataame.sumomo.ne.jp/archives/5103 | ||
+ | |||
+ | <pre> | ||
+ | テキストエディタで「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 までのパスを記述します。 | ||
+ | </pre> | ||
+ | |||
+ | http://raining.bear-life.com/cpi/cpi%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7post%E3%81%AE%E5%80%A4%E3%81%8C%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%99%E3%82%8B%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95 | ||
+ | |||
+ | === .htaccess でのSSL対応が有効にならない === | ||
+ | |||
+ | CPIサーバでは RewriteCond %{HTTPS} なんとか が有効にならないため、ポート番号で判別する | ||
+ | |||
+ | RewriteCond %{SERVER_PORT} ^80$ | ||
+ | |||
+ | 参考: http://wataame.sumomo.ne.jp/archives/5121 | ||
+ | |||
+ | サンプル | ||
+ | <pre> | ||
+ | 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] | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | === PHPバージョン切り替え (CPI オンラインヘルプより) === | ||
+ | |||
+ | 参考: http://chmz.document.secure.jp/tools/php/ | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> |
2016年1月15日 (金) 14:43時点における版
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