10分で試せるSymfony2 〜環境構築編(ubuntu)〜

AWSを利用してSymfony2 スタンダード環境の構築メモ
既にCentOS6がリリースされてますが、AWSでCentOS6イメージが用意される気配が無いので
今回は「ubuntu-natty-11.04」の64bit版のイメージを利用

曖昧な記憶ですがAWSに↓の特典があり、無料で試せると思われます。

  1. マイクロインスタンスはAWSアカウント作成してから1年間無料
  2. データ転送(データ受信)は無料(記憶によると)


AWSでubuntuインスタンスを立ち上げるまでは割愛して接続してからの作業


必要モジュールをインストール

sudo apt-get upgrade

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5 php5-mysql php-pear
sudo apt-get install sqlite3 php5-sqlite
sudo apt-get install make libpcre3-dev                 # apc で必要
sudo apt-get install php5-intl
sudo pecl install apc
sudo pecl install xdebug                               # phpunitで必要

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear upgrade pear
sudo pear install phpunit/PHP_CodeCoverage            # phpunitで必要
sudo apt-get install phpunit

Symfony2をダウンロード

cd /tmp/
sudo wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.0.0-XXX.tgz
tar xvfz XXX
sudo mv Symfony /var/www/
# apacheで動作するアカウントの権限にする。今回はデフォルトのubuntuユーザを利用
sudo chown -R ubuntu:ubuntu /var/www/Symfony


外部からのアクセス制限を削除

vi /var/www/Symfony/web/config.php
vi /var/www/Symfony/web/app_dev.php

# 以下削除
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
    '127.0.0.1',
    '::1',
))) {
    header('HTTP/1.0 403 Forbidden');
    die('This script is only accessible from localhost.');
}


php.iniの設定

sudo vi /etc/php5/apache2/php.ini
date.timezone = Asia/Tokyo
short_open_tag = Off

extension=sqlite3.so
extension=apc.so
extension=intl.so
extension=xdebug.so

apacheの設定を変更

sudo vi /etc/apache2/apache2.conf
# apacheで動作するアカウントの権限にする。今回はデフォルトのubuntuユーザを利用
User ubuntu
Group ubuntu

sudo vi /etc/apache2/sites-available/default
# ドキュメントルートの変更
DocumentRoot /var/www/Symfony/web/
AllowOverride All

# apache再起動して設定を反映
sudo /etc/init.d/apache2 restart

EC2のSymfony2環境にアクセスできる事を確認

# 「config.php」は環境設定がされているかの確認スクリプト
http://XXXXXX.ap-northeast-1.compute.amazonaws.com/config.php
※ XXXXXは環境よって異なる

これで環境構築は終了です。
次回はバンドルの作成からディレクトリ構成のメモ予定