mlog

技術系・日常系記事など。

vagrantでEC CUBE3の開発環境を整える

EC CUBE3のセットアップをvagrant仮想環境で行う。

vagrant仮想環境を構築

本番環境を想定してcent os6.6で構築。

vagrant box add centos66 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box
vagrant init centos66
vagrant up

仮想環境内でEC-Cubeのシステム要件を満たす

参考:http://www.ec-cube.net/product/system.php
Comporserでパッケージ管理をするのが楽そう。 -> composerはphpで書かれたライブラリしかインストールできない。C言語で実装されたライブラリはpeclを使ってインストールする。

# yumにレポジトリを追加する
sudo yum install epel-release -y
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

# php extensionに必要なシステムパッケージをインストールする
sudo yum install libzip libxml2 zlib-devel -y

# php5.6と必要なライブラリをインストールする
sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-mysql php-pgsql php-xml php-soap php-openssl -y

# httpm mysqlをインストール
sudo yum install httpd -y
sudo yum install mysql mysql-server mysql-devel -y
sudo chkconfig --add httpd
sudo chkconfig --add mysqld

mysql設定

mysql_secure_installation # 初期設定
create database eccube;
create user eccube@localhost@localhost identified by 'password';
grant all on eccube.* to eccube;

eccube3インストール

1.サイトのDocumentRootが、EC-CUBEのhtmlのフォルダとなるように設定

sudo rm -dfr /var/www/html
sudo ln -sf /vagrant/eccube/html/ /var/www/html
sudo vi /etc/selinux/config #selinuxを無効化 SELINUX=disabled

ここで再起動。

2.パーミッションの変更

chmod 777 app/log/install.log

3.composerを利用して外部ライブラリをインスールする

curl -sS https://getcomposer.org/installer | php
php ./composer.phar install --dev --no-interaction

なんかいろいろインストールしたほうがいいと忠告されるけど今回は無視。

fzaninotto/faker suggests installing ext-intl (*)
phing/phing suggests installing pdepend/pdepend (PHP version of JDepend)
phing/phing suggests installing pear/archive_tar (Tar file management class)
phing/phing suggests installing pear/versioncontrol_git (A library that provides OO interface to handle Git repository)
phing/phing suggests installing pear/versioncontrol_svn (A simple OO-style interface for Subversion, the free/open-source version control system)
phing/phing suggests installing phpdocumentor/phpdocumentor (Documentation Generator for PHP)
phing/phing suggests installing phploc/phploc (A tool for quickly measuring the size of a PHP project)
phing/phing suggests installing phpmd/phpmd (PHP version of PMD tool)
phing/phing suggests installing sebastian/phpcpd (Copy/Paste Detector (CPD) for PHP code)
phing/phing suggests installing tedivm/jshrink (Javascript Minifier built in PHP)
phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0)
phpdocumentor/reflection-docblock suggests installing erusev/parsedown (~1.0)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Generating autoload files

4.ウェブインストーラーを起動

エラーが発生。

ウェブインストーラーでのIOEXception発生について

vagrantの共有フォルダ設定の問題。
vagrant共有フォルダの所有者がvagrantになってしまうため、apacheがファイル書き込みをすることができない。
そのため、Vagrantfileの共有フォルダ設定を以下のように行う

config.vm.synced_folder ".", "/vagrant", create:true, owner:'apache', group:'apache'

参考