c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月4日 at 11:14

c5704をLinuxBean(ubuntu派生)にインストールしましたので記録として残しておきます。

# インストール対象
 ver5.7.0.4

# インストール環境
 OS
  beanLinux 3.2.0-67-generic
  Ubuntu 12.04.5 
 
 DB
  mysql Ver 14.14 Distrib 5.5.38  

 WEBサーバー
  Apache/2.4.10 (Ubuntu)

 PHP
  5.5.17  

# 結果報告
grin インストールはなんとかできた。
sad インストール時に日本語を選択してインストールを行い、その時の画面も日本語だったが、インストール完了後は英語になってしまう。
ログイン時に言語選択できるようにして日本語を選択してログインしても英語(デフォルト)表示のまま。


# 記録

◆mysqlにログインしてDBとユーザを作成する
$ mysql -u root -p
mysql> CREATE DATABASE (DB名) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
mysql> flush privileges;
mysql> grant all on (DB名).* to (ユーザID)@localhost identified by '(パスワード)';

◆本家サイトからconcrete5のzipファイルをDLしてドキュメントルート配下に解凍する。
そのあとディレクトリ名をリネーム。
$ cd /var/www/html/
$ sudo unzip /home/●●●/DlFile/concrete5.7.0.4.zip
$ sudo mv concrete5.7.0.4 concrete57

◆concrete5インストール
ブラウザでhttp://localhost/concrete57/にアクセス。
言語はjapaneseを選択。

ここで必要環境が整っているか環境チェックが入ります。
以下の3点で警告が出ました。

【警告1つめ】
”MySQL PDO エクステンション有効”(がNG)
PODエクステンションが読み込まれていません。

→データベースを読み書きする性質上、PDO「PHP Data Objects」を使えるよう設定してあげなければいけないらしい。
php.iniに "extension=pdo_mysql.so" の記述を追加すればいいだけ?簡単!
・・・と思いきやそれでも解決しない。
さらに調べてみるとそもそもmysql.soがインストールされていないことが判明。
しかしこのmysql.soのインストールでも泥沼にはまり、コンパイルが通らず悪戦苦闘。
ようやくmysql.soのインストールを終えて、この警告は解消。

【警告2つめ】
”画像編集が利用可能”(がNG)

→concrete5 ver5.7系では画像の色調加工などの処理もCMS上で行えるようになります。
おそらくそのためのライブラリみたいなのがいるってことかな?

ubuntuではphp5-cliをインストールしただけではGDライブラリは使用できないらしい。

php5-gdをインストールしてみたところ、警告が解消した。
$ sudo apt-get install php5-gd


【警告3つめ】
”アップロードファイルと設定ファイルのディレクトリに書き込み可能”(がNG)
concrete5ではCMS自身が更新する以下の3つのディレクトリに書き込み権限をつけてあげないといけない。
packages
application/config
application/files

上の3つのディレクトリのグループをwww-data(apache2のデフォルトグループ)にする
$ sudo chown -R root:www-data packages/
$ sudo chown -R root:www-data application/config/
$ sudo chown -R root:www-data application/files/

上の3つのディレクトリのグループに書き込み権限つけてあげる
$ sudo chmod -R 775 packages/
$ sudo chmod -R 775 application/files/
$ sudo chmod -R 775 application/config/


◆最後の落とし穴
環境チェックも全てクリアしたし、これでようやくインストールできると安堵。
次の画面でサイト名、DBなどの情報を記入してインストール実行。

いざインストールを開始すると「管理情報の追加」処理あたりでエラーになってしまう。
エラーの文面からPDOドライバがどうのと言っているらしいことがわかった。
「DBALException::driverExceptionDuringQuery(Object(PDOException),」

phpinfo()でPDO周りの設定を確認してみる。
$ php -r "phpinfo();" | grep -i pdo
/etc/php5/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>    (←ここにあるべきmysqlの記述がない!)

さらに調べると、php5-mysqlをインストールすれば良いことがわかった。
sudo apt-get install php5-mysql

その結果
$ php -r "phpinfo();" | grep -i pdo
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini
PDO
PDO support => enabled
PDO drivers => mysql (←ビンゴ!)
pdo_mysql
PDO Driver for MySQL => enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

そのあとDBを作り直してからmysqlとapacheを再起動してリトライしてみたらインストール完了まで進んでくれた。

タグ:

インストール直後の環境情報

2014年10月4日 at 11:23
念の為インストール直後の環境情報を残しておきます。

# concrete5 Version
5.7.0.4

# concrete5 Packages
None

# concrete5 Overrides
languages/it_IT, languages/nl_NL, languages/da_DK, languages/el_GR, languages/sv_SE, languages/tr_TR, languages/sl_SI, languages/de_DE, languages/fr_FR, languages/ru_RU, languages/ja_JP, languages/fi_FI

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.10 (Ubuntu)

# Server API
apache2handler

# PHP Version
5.5.17-2+deb.sury.org~precise+1

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, json, libxml, mbstring, mhash, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, Phar, posix, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, Zend OPcache, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 8M
sql.safe_mode - Off
upload_max_filesize - 2M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 1440
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 2000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
 

Re: c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月4日 at 11:24
ありがとうございます。
日本語版開発メンバーはmacが多いのでlinuxの情報は貴重です。
僕はlinux mint を使っていますが、taskselでLAMP環境を作っています。
ぜひ今後もLinux情報お願いしまーす。
 

Re: c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月4日 at 11:36
コメントありがとうございます。
自分はlinux初心者なので勉強がてら触っているという感じですが、また不具合等あれば随時フォーラムにあげていこうと思います。
 

Re: c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月6日 at 0:47
10/5 追記

少し経ってから気づいたのですが、
画面下部に「An unexpected error occurred. Module 'PDO' already loaded」のエラーメッセージが出ていました。

モジュール' PDO 'は既にロードされた・・?

インストール前の環境チェックで出た【警告1つめ】の対応として、
php.iniに”extension=pdo_mysql.so”を追記していたのですが、ここの1行をコメントアウトすると、エラーメッセージは表示されなくなりました。
気になったのでphp.iniの”extension=pdo_mysql”を記述していない状態で、もう一度最初からインストールしなおしたところ、環境チェックでひっかかることなくインストール完了まで進み、エラーメッセージの表示もありませんでした。
 

Re: c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月6日 at 12:46
違っていたら申し訳ないのですが、
Debian系は、インストールすると、勝手に有効になるなので
phpのエクステンションの追加時にはphp.iniはあまり触らなかったと思います。
 

Re: c5704をローカル環境へインストールしてみた(ubuntu)

2014年10月6日 at 12:56
acliss19xxさん

なるほど!そういうことでしたら納得がいきますね。
おかげさまでスッキリしました。ありがとうございます。