ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章

Symfony は、オープンソースのPHPWeb開発フレームワークです。優れたアプリケーションの構築に役立つツールと方法論のセットです。 このフレームワークの特徴のいくつかは、その速度、柔軟性、スケーラビリティ、および安定性です。 本格的なWebアプリケーションだけでなく、プロジェクトに必要な小さな機能にも使用できます。

フルスタックフレームワークであることに加えて、Symfonyはコンポーネントのセットであり、個別にインストールして使用することができます。 これらのコンポーネントはフレームワークの基礎ですが、互いに分離して使用することもできます。 Composerを使用してコンポーネントをインストールできます。

さらに、Symfony2はディストリビューションの形で提供されます。 これらは、非常に迅速に開始するのに役立つバンドル、コンポーネント、および構成のパッケージです。 symfonyの人々は、新しいプロジェクトを始めるのに最も簡単なものとして StandardEditionを推奨しています。 最も一般的なバンドルが含まれており、簡単な構成システムがあります。

このチュートリアルでは、このディストリビューションをインストールして使用を開始する方法を説明します。 このため、sudo権限とターミナルアクセスを使用して独自のUbuntuVPSを実行していることを前提としています。 さらに、Webサーバー、できれば LAMPスタック(Linux、Apache、MySQL、PHP)を配置する必要がありますが、Nginxを使用して構成することもできます。 PHP5.3.3以降が必要になります。

インストール

このディストリビューションをインストールする主な方法は2つあります。 ダウンロードしてアーカイブをプロジェクトフォルダーに解凍するか、Composerを使用します。 このチュートリアルでは、最初の選択肢を使用して、SymfonyをWebサーバーのルートフォルダー / var /wwwにダウンロードします。 その理由は、アーカイブ内のすべてのファイルが Symfony というフォルダーに既に存在しているため、別のファイルを作成する必要がないためです。 / var / www に移動し、アーカイブをダウンロードします。

cd /var/www
wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.3.3.tgz

Symfonyダウンロードページで必要なバージョンへのリンクを取得します。 ダウンロードが完了したら、アーカイブを解凍する必要があります(奇妙な名前でダウンロードされた可能性がありますが、関係ありません)。

tar -zxvf download?v=Symfony_Standard_Vendors_2.3.3.tgz

これで、すべてのファイルを保持するSymfonyという新しいフォルダーが作成されます。 クリーンにするために、VPSからtarファイルを削除することもできます。

権限

アクセス許可を調整する必要があるファイルとフォルダーがいくつかあります。 これらをWebサーバーで書き込み可能にする必要があります。 Apacheを使用している場合、このユーザーはwww-dataグループのwww-dataです。 したがって、ターミナルから(メインアプリケーションフォルダーにいる間に)次のコマンドを実行して、これらのファイルとフォルダーの所有権を変更します。

chown -R root:www-data app/cache
chown -R root:www-data app/logs
chown -R root:www-data app/config/parameters.yml

これにより、それら(およびすべての内部)はrootユーザーとwww-dataグループによって所有されます。 次に、グループユーザーもこれらのフォルダーに書き込むことができることを確認しましょう。

chmod -R 775 app/cache
chmod -R 775 app/logs
chmod -R 775 app/config/parameters.yml

サーバー構成

次に、サーバー構成をチェックして、すべてが正常であることを確認する必要があります。 Symfony2には次のURLで利用可能なテスターがあります:

http://www.example.com/Symfony/web/config.php

このスクリプトにはlocalhostからのみアクセスできます」というエラーが発生した場合は、そのファイルにリモートでアクセスしようとしていることを意味します。 DigitalOcean VPSを使用している場合は、これが当てはまります。 それでは、リモートでアクセスできるように構成しましょう。

新しくダウンロードしたアプリケーションの/webフォルダーにあるconfig.phpファイルを開きます。 次のブロックを見つけます。

if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
    '127.0.0.1',
    '::1',
))) {

ここで、Symfonyにアクセスを許可したいIPで新しい配列値を追加する必要があります。 Googleを使用して、操作元のIP を確認し、次のようにアレイに追加できます。

if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
    '127.0.0.1',
    '::1',
    'YOUR IP',
))) {

これで、ブラウザで構成テスターをリモートで確認できるようになります。 そこに記載されている指示に従って、Symfonyに最適になるようにVPSを設定してください。 テスターが示す主要な問題を修正したら、「バイパス構成とウェルカムページ」ボタンをクリックして、新しいSymfony2アプリケーションのホームページにアクセスできます。

次のエラーが発生した場合: “ このファイルへのアクセスは許可されていません。 詳細については、app_dev.phpを確認してください “、あなたは開く必要があります app_dev.php のファイル /ウェブアプリケーションのフォルダを作成し、次のコードブロックをコメントアウトします。

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

ファイルを保存して終了します。 ここでページを更新すると、Symfony2アプリケーションのウェルカムページが表示されます。

一部のグローバル構成

作成したアプリケーションのウェルカムページで、[構成]ボタンをクリックして、ブラウザーの構成ウィザードを実行できます。 最初のページで、データベース接続を設定できます。 そこで、MySQL、SQLite、PosgreSQL、Oracleなどのさまざまなドライバーを使用できることに気付くでしょう。 接続情報を指定したら、[次へ]をクリックして、CSRFから保護するためのグローバルシークレット文字列を生成できます。

この後、[次へ]をクリックすると、提供した情報が app /configフォルダーにあるparameters.ymlファイルに書き込まれます。 チュートリアルの前半の手順に従い、このファイルに正しいアクセス許可を設定した場合は、続行しても問題ありません。 そうでない場合は、そこに与えられたコードをコピーしてファイル自体に貼り付けることもできます。

ベンダー/依存関係

Symfonyプロジェクトは、いくつかの外部ライブラリに依存しています。 これらは、プロジェクトの / vendor というフォルダーにあり、ComposerというPHP依存関係マネージャーによってダウンロードおよび管理されます。 Composerを使用して詳細を確認する方法については、このチュートリアルを参照してください。

注: php composer.pharinstallまたはphpcomposer.phar update コマンドを実行すると、Composerはキャッシュをクリアしてアセットをインストールします。 さらに、 app / cache フォルダーへのアクセス許可が元に戻されるため、適切なアクセス許可を設定してフォルダーをVPSで書き込み可能にした場合は、前の手順をやり直してください。

結論

このチュートリアルでは、Symfony2 PHPフレームワークのディストリビューションをインストールする方法と、その上でいくつかの初期構成を実行する方法を見てきました。 次のチュートリアルでは、Symfonyアプリケーションがどのように機能するかについていくつかの概念を紹介します。

投稿者: Danny