LoginSignup
0
1

More than 5 years have passed since last update.

AWSにeZ Publishをインストールする

Last updated at Posted at 2015-07-19

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

AWS (Amazon Web Services) の t2.micro インスタンスに eZ Publish 5.4 をインストールする手順を紹介する。
EC2インスタンスの立ち上げについてはドラフトなので参考程度に。

EC2インスタンスの立ち上げ

EC2インスタンスの作成

01 インスタンスの作成.png
まずは EC2 ダッシュボード へ行き、インスタンスの作成ボタンを押下する。

AMIの選択

02 AMIの選択.png
今回は Amazon Linux AMI 2015.03 (HVM) で試してみた。

インスタンスタイプの選択

03 インスタンスタイプの選択.png

インスタンス作成の確認

04 インスタンス作成の確認.png

キーペアのダウンロード

05 キーペアのダウンロード.png

作成ステータス

06 作成ステータス.png

セキュリティグループの編集

スクリーンショット 2015-07-19 15.21.54.png
セキュリティグループでインバウンドルールにHTTPを追加する。

eZ Publish のインストール

ECインスタンスへ接続

$ ssh -i yourkey.pem ec2-user@XXX.XXX.XXX.XXX

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

$ sudo yum clean all
$ sudo yum update
$ sudo yum install httpd24 mysql-server php56 php56-gd php56-intl php56-mbstring php56-mysqlnd php56-opcache php56-pecl-apcu php56-xml
$ chkconfig httpd on
$ chkconfig mysqld on

Amazon Linux のデフォルトリポジトリーで Apache 2.4、PHP 5.6、MySQL 5.5 をインストール。デフォルトリポジトリーの PHP 5.6 だと Xdebug が yum でインストールできないので、必要に応じて pecl でインストールする。

設定ファイルの修正

$ sudo sed -i /etc/php.ini \
  -e 's/;date\.timezone =/date.timezone = Asia\/Tokyo/' \
  -e 's/expose_php = On/expose_php = Off/' \
  -e 's/memory_limit = 128M/memory_limit = 256M/'
$ sudo sed -i 's/\[mysqld\]/\[mysqld\]\ncharacter-set-server=utf8/' /etc/my.cnf
$ wget http://share.ez.no/content/download/161941/957952/version/8/file/ezpublish5_community_project-2014.11.1-gpl-full.tar.gz
$ sudo tar vzxf ezpublish5_community_project-2014.11.1-gpl-full.tar.gz -C /var/www/html --strip=1
$ sudo chown apache:apache -R /var/www/html/*
$ sudo setfacl -R -m u:apache:rwx -m u:apache:rwx /var/www/html/ezpublish/{cache,logs,config,sessions} /var/www/html/ezpublish_legacy/{design,extension,settings,var} /var/www/html/web
$ sudo setfacl -dR -m u:apache:rwx -m u:apache:rwx /var/www/html/ezpublish/{cache,logs,config,sessions} /var/www/html/ezpublish_legacy/{design,extension,settings,var} /var/www/html/web

スワップ領域の作成

t2.microインスタンスは1GBしかメモリーが割り当てられないため、次節のComposerパッケージのアップデートにおいてメモリー不足となる。t2.microインスタンスではデフォルトでスワップ領域がないため次に進められなくなるので別途作成する必要がある。

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
$ sudo mkswap /swapfile
$ sudo chmod 600 /swapfile
$ sudo swapon /swapfile

再起動後も自動でSwap領域を有効にするためには/etc/fstabに記述を追加する。なお、EBSだとI/O単位で課金が発生するためスワップアウト/インが頻発する状況だとディスクI/Oの課金がかさんでしまう可能性があるので注意。

$ echo "/swapfile   swap        swap    defaults        0   0" | sudo tee -a /etc/fstab

Composerパッケージのアップデートとインストール

$ cd /var/www/html
$ curl -sS https://getcomposer.org/installer | sudo php
$ sudo php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist
$ sudo 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)

MySQL

$ sudo service mysqld start
$ openssl rand -base64 12      #MySQLの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      #DBユーザー用パスワードの生成
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;

eZ Publish 用の Apache の設定

$ sudo cp -a /var/www/html/doc/apache2/vhost.template /etc/httpd/conf.d/ezpublish.conf
$ sudo sed -i /etc/httpd/conf.d/ezpublish.conf \
-e '/# NameVirtualHost %IP_ADDRESS%/d' \
-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/'
$ httpd -t
$ sudo service httpd start

ServerNameServerAlias は適宜書き換えのこと。

セットアップウィザードについては「eZ Publish 5.4 をインストールする」を参考に。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1