CPI に concrete5 5.7 & 8 をインストール
※ このガイドは2017年2月20日時点に執筆されたものです。CPIの仕様変更やconcrete5のバージョンアップにより、将来的に内容が変わる可能性があります。
concrete5 のファイルを CPI にアップロードする方法は3つあります。PHPスクリプト、SSH、もしくは FTP で concrete5 ファイルをアップロードする方法の3つです。そのうち PHPスクリプトと、SSH を使う方法を紹介します。
concrete5のダウンロード: Simple Downloader を使う
PHPスクリプトを使って、簡単に concrete5 ファイルをアップロードできます。詳細は、Simple Downloader の紹介をご覧ください。
トップにある index.html は concrete5 のファイルではなくCPIの契約時にダミーで入ってるファイルですので消してください。
concrete5 ダウンロード: SSH編
まず、CPIのサーバーにSSHでログインできるようにセットアップしましょう。CPIのヘルプのSSHについてなどを参考にしてください。SSHでログインすると、下記のようにドキュメントルート(html)のひとつ上のディレクトリにいる状態だと思います。
% ls _smartrelease_except html log
concrete5を入手します。SSHが使えるサーバーなので、wgetで取得できます。ダウンロードリンクURLはこちらのダウンロードページより取得してください。
% wget [concrete5.7 & 8 ダウンロードリンク] -O concrete5.zip % unzip concrete5.zip
unzipで解凍後の状態は下記のようになります。繰り返しになりますが、ドキュメントルートはhtmlディレクトリで、そのひとつ上に展開された形です。
% ls -la total 34032 drwx---r-x 6 aaXXXmXXXX cst 512 Feb 12 13:10 . drwxr-xr-x 282 root 0 6144 Feb 12 12:49 .. drwxr-xr-x 2 aaXXXmXXXX cst 512 Jul 20 2012 _smartrelease_except drwxr-xr-x 6 aaXXXmXXXX cst 512 Jan 10 09:26 concrete5-8.1.0 -rw-r--r-- 1 aaXXXmXXXX cst 34780432 Feb 12 13:10 concrete5.zip drwxr-xr-x 4 aaXXXmXXXX cst 512 Oct 21 2011 html drwxr-xr-x 2 www www 512 Feb 12 11:04 log
解凍したconcrete5のディレクトリの中身を、htmlディレクトリの中に移しましょう。
% cp -r concrete5-8.1.0/* html % rm -r concrete5-8.1.0
htmlディレクトリに移動して中身を見てみましょう。ちゃんと展開されていますね。
% cd html/ % ls -la total 28 drwxr-xr-x 8 aaXXXmXXXX cst 512 Feb 12 13:13 . drwx---r-x 6 aaXXXmXXXX cst 512 Feb 12 13:10 .. -rw-r--r-- 1 aaXXXmXXXX cst 1085 Feb 12 13:13 LICENSE.TXT drwxr-xr-x 18 aaXXXmXXXX cst 512 Feb 12 13:13 application drwxr-xr-x 2 aaXXXmXXXX cst 512 Feb 18 2005 cgi-bin drwxr-xr-x 20 aaXXXmXXXX cst 512 Feb 12 13:13 concrete -rw-r--r-- 1 aaXXXmXXXX cst 5020 Jan 16 2004 index.html -rw-r--r-- 1 aaXXXmXXXX cst 42 Feb 12 13:13 index.php drwxr-xr-x 2 aaXXXmXXXX cst 512 Feb 12 13:13 packages -rw-r--r-- 1 aaXXXmXXXX cst 494 Feb 12 13:13 robots.txt drwxr-xr-x 2 aaXXXmXXXX cst 512 Feb 12 13:13 updates
index.html は concrete5 のファイルではなくCPIの契約時にダミーで入ってるファイルですので消してください。
PHP 7 利用の設定
さて、これでサーバーに展開できましたので、サイトにアクセスしてみましょう。…残念ながら、インストール画面は表示されません。500エラーが発生し、真っ白な画面が表示されます。これはCPIのPHPのデフォルト設定との相性の問題なので、慌てずにPHPの設定を変更しましょう。
本稿の執筆時点では、デフォルトのPHPバージョンはPHP 5.5.27です。
5.7.5 以降は PHP 7 にも対応しているので、PHP7に変更し、php.ini を設定します。
CPIコントロールパネルの[お客様情報 > プログラムのパスとサーバの情報 > PHP iniの設定情報]にアクセスし、該当するバージョンの php.iniを取得しましょう。
画面からphp.iniをコピーし、サーバー上のドキュメントルートにphp.iniファイルを作成、内容をペーストします。次に、php.iniの中から下記の記述を探し、
mbstring.http_input = auto
設定を pass に変更します。
mbstring.http_input = pass
とりあえず、これで動きます。念のため、下記の設定も、それぞれ変更しておいた方がトラブルが少ないかと思います。
mbstring.language = neutral mbstring.encoding_translation = Off
php.ini をユーザーディレクトリトップに配置し、FTP等で FTP親ディレクトリに php.ini という名前で設置します。パスは /usr/home/【ユーザーID】/php.ini となるので、ユーザーIDをコントロールパネルなどから調べてください。
参考までに、上記の修正を行った php.ini がこちらから取得できます。
.htaccess (プリティーURL & php.ini の対応)
次に .htaccess ファイルを作成します。
また、インストール後にプリティーURLを有効にすると、エラーでサイトにアクセスできなくなりますが、これもCPIの仕様です。まとめて .htaccess に設定します。
Options +SymLinksIfOwnerMatch
を追加してください。
また、さきほど追加した php.ini を読みに行くよう設定する
suPHP_ConfigPath /usr/home/【ユーザーID】
というコードを追加してください。ユーザーID は、前述したように、CPI ウェブコントロールパネルより、ユーザーIDと表示されえいる場所から取得できます。
.htaccess全体はこのようになります。
Options +SymLinksIfOwnerMatch AddHandler x-httpd-php70 .php suPHP_ConfigPath /usr/home/【ユーザーID】 # -- concrete5 urls start -- RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}/index.html !-f RewriteCond %{REQUEST_FILENAME}/index.php !-f RewriteRule . index.php [L] # -- concrete5 urls end --
また、インストール後にプリティーURLを有効にすると、エラーでサイトにアクセスできなくなりますが、これもCPIの仕様です。まとめて .htaccess に設定します。
インストール
データベースアクセス情報を入力すれば、インストールできます。
以上