Edited at

CentOS 6.6 に eZ Publish 5.4 をインストールする

More than 3 years have passed since last update.


eZ Publish 5.4 のインストール


eZ Publish とは

20130527ez-01.jpg

eZ Publish はノルウェー王国の eZ Systems 社が開発している CMS である。商用版の eZ Publish とオープンソース版の eZ Publish Community Project がある。

4.7まで独自PHPフレームワークの eZ Components を使用していたが、5.0から Symfony を採用した。ただし、現時点では両者混在する形となっている。

テンプレートエンジンは4.7まで独自の eZ Templates だったが 5.0から Symfony が採用している Twig を利用。


eZ Publish Community Project 2014.11 (≒ eZ Publish 5.4)

CentOS 6.6eZ Publish 5.4 相当の最新バージョンである eZ Publish Community Project 2014.11 (14th "eZ Publish 5 build") をインストールする手順を説明する。

なお、次期バージョンの eZ Platform & eZ Studio (eZ Publish 6 相当) はまだアルファ版で特に管理画面側の機能が十分に実装されていないため用いない。


サーバーセットアップ


CentOS のインストール

VirtualBoxへのCentOS 6.6のインストール - Qiitaを参考にVirtualBoxにCentOS 6.6をインストールする。


サーバー要件


  • PHP 5.4.4以上

  • MySQL/MariaDB または PostgreSQL

  • Apache 2.2, Apache 2.4 または Nginx 1.4以上

  • eZ Find の検索エンジンとしてSolrが使われている場合 Java JRE 1.7 (Oracle-Sun/OpenJDK)


Yumリポジトリの追加

$ yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

$ yum install yum-utils
$ yum-config-manager --enable remi remi-php56
$ yum install https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm


ミドルウェアとライブラリーのインストール

$ yum clean all

$ yum update
$ yum install wget httpd php php-xml php-gd php-intl php-mbstring php-pecl-xdebug php-mysql mysql-server
$ chkconfig httpd on
$ chkconfig mysqld on

http://qiita.com/bezeklik/items/9766003c19f9664602fe


設定ファイルの修正

$ sed -i 's/;date\.timezone =/date.timezone = Asia\/Tokyo/' /etc/php.ini

$ sed -i 's/\[mysqld\]/\[mysqld\]\ncharacter-set-server = utf8/' /etc/my.cnf


eZ Publish のセットアップ


ダウンロード、展開、パーミッション変更

ダウンロードするファイルの最新のパスは以下より確認する。

* http://share.ez.no/downloads/downloads/ez-publish-community-project-2014.11

$ wget http://share.ez.no/content/download/161941/957952/version/8/file/ezpublish5_community_project-2014.11.1-gpl-full.tar.gz

$ tar vzxf ezpublish5_community_project-2014.11.1-gpl-full.tar.gz -C /var/www/html --strip=1
$ chown apache:apache -R /var/www/html/*
$ cd /var/www/html/
$ setfacl -R -m u:apache:rwx -m u:apache:rwx ezpublish/{cache,logs,config,sessions} ezpublish_legacy/{design,extension,settings,var} web
$ setfacl -dR -m u:apache:rwx -m u:apache:rwx ezpublish/{cache,logs,config,sessions} ezpublish_legacy/{design,extension,settings,var} web


Composerのインストール

$ curl -sS https://getcomposer.org/installer | php

$ php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist
$ php -d memory_limit=-1 composer.phar install --no-dev --prefer-dist
Which environment would you like to dump production assets for? (Default: 'prod', type 'none' to skip)

各パッケージのアップデートは非常に時間がかかる。

1GB程度のメモリー割り当てではメモリー不足で処理が途中で止まる場合があるので、十分なメモリーを割り当てるか、アップデート時は httpd や mysqld は停止しておく。

--prefer-distは開発バージョンでもパッケージは安定版のdistリポジトリーからダウンロードする指定。

-d memory_limit=-1はPHP CLI実行時のメモリ制限を解除する指定。


データベースの用意


MySQLの初期設定とログイン

openssl コマンドで生成するパスワードはいずれも自分のものを利用するように注意すること。

$ service mysqld start

$ openssl rand -base64 12 #root用パスワードの生成
NKKA6H5Vp7XeQvuL
$ mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: NKKA6H5Vp7XeQvuL #自分で生成したパスワードを使用すること
Re-enter new password: NKKA6H5Vp7XeQvuL #自分で生成したパスワードを使用すること
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
$ openssl rand -base64 12 #ezpublishユーザー用パスワードの生成
tavuwGVWxDTj8ctS
$ mysql -u root -p


DBとDBユーザーの作成

mysql> CREATE DATABASE `ezpublish` CHARACTER SET 'utf8';

mysql> GRANT ALL ON `ezpublish`.* TO `ezpublish`@`%` IDENTIFIED BY 'tavuwGVWxDTj8ctS'; #自分で生成したパスワードを使用すること
mysql> EXIT;


Apache (VirtualHost) の設定

$ cp -a /var/www/html/doc/apache2/vhost.template /etc/httpd/conf.d/ezpublish.conf

$ sed -i \
-e 's/# NameVirtualHost %IP_ADDRESS%/NameVirtualHost *:80/' \
-e 's/%IP_ADDRESS%:%PORT%>/*:80>/' \
-e 's/ServerName %HOST%/ServerName www.example.com/' \
-e 's/ServerAlias %HOST_ALIAS%/ServerAlias localhost/' \
-e 's/%BASEDIR%\/web/\/var\/www\/html\/web/' \
-e 's/=%ENV%/=dev/' /etc/httpd/conf.d/ezpublish.conf
$ httpd -t
$ service httpd start


80番ポートの開放

$ iptables -A INPUT -p tcp --dport http -j ACCEPT

$ service iptables save
$ service iptables restart


セットアップウィザード

以下のURLへブラウザーからアクセスしてセットアップウィザードを開始する。

* http://192.168.56.101/


画面1 Welcome to eZ Publish ...

ezsetup_01.png


画面2 Outgoing Email

ezsetup_02.png


画面3 データベースの接続設定

ezsetup_03.png


画面4 言語の選択

ezsetup_04.png


画面5 サイトパッケージ

ezsetup_05.png


画面6 サイトパッケージ

ezsetup_06.png


画面7 パッケージ言語オプション

ezsetup_07.png


画面8 サイトアクセス構成

ezsetup_08.png


画面9 サイトの定義

ezsetup_09.png


画面10 サイト管理者

ezsetup_10.png


画面11 Open source software is ...

ezsetup_11.png


画面12 セットアップ完了

ezsetup_12.png