Ubuntu 14.04にSymfony 2をインストールして開始する方法

前書き

symfonyはフルスタックのオープンソースPHPフレームワークです。 他のPHPプロジェクトに簡単に統合できる独立したコンポーネントで有名です。 Symfonyフレームワークは、コマンドラインでのみ実行されるコンソールアプリケーションを含む、あらゆるサイズのPHPアプリケーションの構築に適しています。

このチュートリアルでは、Ubuntu 14.04でSymfony 2アプリケーションをインストール、構成、および開始する方法について説明します。

前提条件

このチュートリアルでは、次のものが必要です。

ステップ1-PHPのインストール

開始する前に、コマンドライン環境用にPHPをインストールする必要があります。 Symfonyにはコンソールコマンドが付属しているため、アプリケーションの開発中にPHPの組み込みWebサーバーを簡単に実行および管理できるため、ApacheやNginxなどのフル機能のWebサーバーをインストールする必要はありません。 開発モードでアプリケーションを実行するためのシンプルで効率的な方法です。

まず、パッケージマネージャーのキャッシュを更新しましょう。

sudo apt-get update

コマンドラインを介してPHPスクリプトを使用および実行するには、 `+ php5-cli +`パッケージをインストールします。

sudo apt-get install php5-cli

サーバーにPHPがインストールされているはずです。 正常にインストールされたかどうかを確認するには、次を実行します:

php -v

そして、次のような出力が得られるはずです。

OutputPHP 5.5.9-1ubuntu4.11 (cli) (built: Jul 2 2015 15:23:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

ステップ2-php.iniでdate.timezoneを構成する

symfonyでは、オプション + date.timezone`が + php.ini`ファイルで設定されている必要があります)。 新しいサーバーでこのチュートリアルをテストする場合、このオプションはまだ定義されていません。 その場合、Symfonyアプリケーションは実行されません。

このオプションが定義されていることを確認するには、サーバーの `+ php.ini`ファイルを編集する必要があります。 このファイルは `+ / etc / php5 / cli / php.ini`に配置する必要があります。

nanoまたはお好みのコマンドラインエディターを使用して、 `+ php.ini`ファイルを開きます。

sudo nano /etc/php5/cli/php.ini

`+ date.timezone `を含む行を検索します。 行の先頭にある「; 」記号を削除してディレクティブのコメントを解除し、アプリケーションに適切なタイムゾーンを追加します。 この例では、「 Europe / Amsterdam +」を使用しますが、http://php.net/manual/en/timezones.php [サポートされているタイムゾーン]を選択できます。

変更されたphp.ini

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =

ファイルを保存して終了します。

ステップ3-Symfonyインストーラーの入手

新しいSymfonyプロジェクトを作成する最も簡単な方法は、公式のSymfonyインストーラーを使用することです。 新しいSymfonyアプリケーションのブートストラップを容易にするために作成されたシンプルなスクリプトです。

次のコマンドはSymfonyインストーラーをダウンロードし、 `+ / usr / local / bin +`パスに配置します:

sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony

次に、次のコマンドでスクリプトを実行可能にする必要があります。

sudo chmod a+x /usr/local/bin/symfony

Symfonyインストーラーをテストするには、次を実行します:

symfony

出力は次のようになります。

Output
Symfony Installer (1.1.7)
=========================

This is the official installer to start new projects based on the
Symfony full-stack framework.

To create a new project called blog in the current directory using
the latest stable version of Symfony, execute the following command:

  symfony new blog

. . .

ステップ4-新しいSymfonyプロジェクトの作成

Symfonyインストーラーが準備できたので、次に進み、新しいSymfonyプロジェクトを作成できます。 これは開発セットアップであり、PHPの組み込みWebサーバーを使用するため、ホームディレクトリ内にプロジェクトを作成することができます。 この例では、「myproject」という名前のプロジェクトを作成しますが、次のコマンドで独自のプロジェクト名を使用できます。

cd ~
symfony new

これにより、ホームディレクトリ内に新しいフォルダー `+ myproject +`が作成され、新しいSymfonyアプリケーションが含まれます。 コマンドは、次のような出力を生成します。

Output
Downloading Symfony...

Preparing project...

✔  Symfony 2.7.3 was successfully installed. Now you can:

   * Change your current directory to /home/sammy/myproject

   * Configure your application in app/config/parameters.yml file.

   * Run your application:
       1. Execute the php app/console server:run command.
       2. Browse to the http://localhost:8000 URL.

   * Read the documentation at http://symfony.com/doc

ステップ5-Symfonyコンソールでアプリケーションを実行する

PHPに付属する組み込みWebサーバー(PHP 5.4以降)は、開発中のPHPアプリケーションの実行、テスト、またはデモに適しています。 ApacheやNginxのようなフル機能のWebサーバーを設定する必要がないため、よりスムーズな操作が可能になります。

symfonyには、PHPの組み込みWebサーバーの起動/停止プロセスを容易にするコンソールコマンドが付属しています。また、(Symfony 2.6以降)バックグラウンドでWebサーバーを実行できます。

Symfonyコンソールは、アプリケーションの構築とテストに役立ついくつかのコマンドを備えたCLIスクリプトです。 PHPで記述されたhttp://symfony.com/doc/current/cookbook/console/console_command.html [独自のコマンドを含める]もできます。

Webサーバーは、コンソールコマンド `+ server:run `でいつでも開始できます。 ただし、Symfonyコマンドで使用されるデフォルト設定は、ポート「+8000」の「+ localhost +」への接続のみを受け入れます。 外部の開発/テストサーバーまたはローカル仮想マシンでこのチュートリアルを実行している場合は、コマンドに追加のパラメーターを指定して、Webサーバーに別のIPアドレスをリッスンするように指示する必要があります。

内部ネットワークと外部ネットワークの両方からの接続を許可するには、プロジェクトディレクトリ内から次のコマンドを実行します。

php app/console server:run 0.0.0.0:8000
OutputServer running on http://0.0.0.0:8000

Quit the server with CONTROL-C.

これにより、PHPの組み込みWebサーバーが起動し、ポート「8000」ですべてのネットワークインターフェースがリッスンされます。

ブラウザで `+ http://:8000 +`を指定すると、アプリケーションにアクセスできるようになります。 次のようなページが表示されるはずです。

image:https://assets.digitalocean.com/articles/symfony_1404/preview.png [Symfonyアプリのプレビュー]

コマンドは、 `+ CTRL + C `で実行を終了するまでアクティブなターミナルで実行され続けます。 Webサーバーをバックグラウンドで実行するには、代わりに ` server:start`コマンドを使用する必要があります。

php app/console server:start 0.0.0.0:8000
OutputWeb server listening on http://0.0.0.0:8000

これにより、Webサーバーがバックグラウンドで実行され、ターミナルセッションが他のコマンドを実行できるようになります。 サーバーを停止するには、次を使用する必要があります。

php app/console server:stop 0.0.0.0:8000
OutputStopped the web server listening on http://0.0.0.0:8000

次の方法でWebサーバーのステータスを確認することもできます。

php app/console server:status 0.0.0.0:8000

サーバーが実行されていない場合、これは取得する必要がある出力です。

OutputNo web server is listening on http://0.0.0.0:8000

指定されたIPおよびポートで実行されているアクティブなサーバーがある場合、次のような出力が得られます。

OutputWeb server still listening on http://0.0.0.0:8000

`+ server:stop `コマンドと ` server:status `コマンドには、サーバーを ` server:start `で起動したときに使用したのと同じ ` IPADDRESS:PORT +`の部分を含める必要があることに注意してください。

結論

Symfonyは、あらゆるサイズのアプリケーションの構築に適したフルスタックのPHPフレームワークです。 このチュートリアルでは、PHPの組み込みWebサーバーを使用してアプリケーションを実行する新しいUbuntu 14.04サーバーにSymfony 2をインストールして開始する方法を説明しました。 Symfonyを使用してPHPアプリケーションを構築する方法の詳細については、http://symfony.com/doc/2.7/book/page_creation.html [公式ドキュメント]をご覧ください。

前の投稿:Ubuntu 16.04にphpMyAdminをインストールして保護する方法
次の投稿:Ubuntu 16.04で複数のプラットフォーム用のGo実行可能ファイルをビルドする方法