前書き

Laravelは、Web開発者向けの最新のオープンソースPHPフレームワークです。 開発者が完全に機能するWebアプリケーションをすばやく実行するための簡単でエレガントな方法を提供することを目的としています。

このガイドでは、Ubuntu 14.04にLaravelをインストールする方法について説明します。 WebサーバーとしてNginxを使用し、この記事の執筆時点でLaravelの最新バージョンであるバージョン4.2を使用します。

バックエンドコンポーネントをインストールする

Laravelを使い始めるために最初に必要なことは、それをサポートするスタックをインストールすることです。 これは、Ubuntuのデフォルトリポジトリを使用して実行できます。

最初に、ローカルパッケージインデックスを更新して、利用可能なパッケージの新しいリストを作成する必要があります。 その後、必要なコンポーネントをインストールできます。

sudo apt-get update
sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git

これにより、実際にLaravelコードを実行するために必要なPHPツールとともに、NginxがWebサーバーとしてインストールされます。 Laravelのインストールに使用するPHPの依存関係マネージャーである `+ composer `ツールは、パッケージをプルダウンするために使用するため、 ` git +`もインストールします。

PHP設定を変更する

コンポーネントがインストールされたので、構成を開始できます。 PHPから始めますが、これはかなり簡単です。

最初に行う必要があるのは、Nginxが使用するPHP-fpmプロセッサ用のメインPHP設定ファイルを開くことです。 テキストエディタでsudo権限でこれを開きます。

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

このファイルの1つの値を変更するだけです。 `+ cgi.fix_pathinfo +`パラメーターを検索します。 これはコメントアウトされ、「1」に設定されます。 これのコメントを外し、「0」に設定する必要があります。

cgi.fix_pathinfo=0

これにより、要求されたファイル名が見つからない場合、同様の名前のスクリプトを実行しないようにPHPに指示します。 このタイプの動作を許可すると、攻撃者が特別に設計されたリクエストを作成して、PHPを実行してはならないコードを実行させようとする可能性があるため、これは非常に重要です。

終了したら、ファイルを保存して閉じます。

PHP管理の最後の部分は、Lryvelが依存しているMCrypt拡張機能を明示的に有効にすることです。 `+ php5enmod +`コマンドを使用してこれを行うことができます。これにより、オプションのモジュールを簡単に有効にできます。

sudo php5enmod mcrypt

これで、行った変更を実装するために `+ php5-fpm +`サービスを再起動できます。

sudo service php5-fpm restart

これでPHPが完全に構成され、先に進むことができます。

NginxとWebルートを構成する

次に対処する必要がある項目は、Webサーバーです。 これには、実際には2つの異なるステップが含まれます。

最初のステップは、Laravelファイルを保持するために使用するドキュメントルートとディレクトリ構造を構成することです。 ファイルを `+ / var / www / laravel`というディレクトリに配置します。

現時点では、このパスの最上位( + / var +)のみが作成されます。 `+ mkdir `コマンドに ` -p +`フラグを渡すことで、1ステップでパス全体を作成できます。 これは、特定のパスを構築するために必要な親パス要素を作成するようユーティリティに指示します。

sudo mkdir -p /var/www/laravel

Laravelコンポーネント用の場所が確保されたので、Nginxサーバーブロックの編集に進むことができます。

sudo特権でデフォルトのサーバーブロック構成ファイルを開きます。

sudo nano /etc/nginx/sites-available/default

インストール時には、このファイルにはかなりの数の説明コメントがありますが、基本的な構造は次のようになります。

server {
       listen 80 default_server;
       listen [::]:80 default_server ipv6only=on;

       root /usr/share/nginx/html;
       index index.html index.htm;

       server_name localhost;

       location / {
               try_files $uri $uri/ =404;
       }
}

これは、これから行う変更の優れた基盤となります。

最初に変更する必要があるのは、ドキュメントルートの場所です。 Laravelは、作成した `+ / var / www / laravel +`ディレクトリにインストールされます。

ただし、アプリの駆動に使用されるベースファイルは、「+ public 」と呼ばれるこの内のサブディレクトリに保持されます。 ここでドキュメントルートを設定します。 さらに、ディレクトリの場所を要求するときにHTMLの対応物を探す前に、 ` index.php +`ファイルを提供するようにNginxに指示します。

server {
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;

   root ;
   index  index.html index.htm;

   server_name localhost;

   location / {
           try_files $uri $uri/ =404;
   }
}

次に、 `+ server_name +`ディレクティブを設定して、サーバーの実際のドメイン名を参照する必要があります。 ドメイン名がない場合は、サーバーのIPアドレスを自由に使用してください。

また、Nginxがリクエストを処理する方法を変更する必要があります。 これは、 `+ try_files `ディレクティブを介して行われます。 最初にリクエストをファイルとして提供しようとする必要があります。 正しい名前のファイルが見つからない場合は、要求に一致するディレクトリのデフォルトのインデックスファイルを提供しようとします。 これに失敗すると、リクエストをクエリパラメータとして ` index.php +`ファイルに渡す必要があります。

上記の変更は、次のように実装できます。

server {
       listen 80 default_server;
       listen [::]:80 default_server ipv6only=on;

       root /var/www/laravel/public;
       index index.php index.html index.htm;

       server_name ;

       location / {
               try_files $uri $uri/ ;
       }
}

最後に、PHPファイルの実際の実行を処理するブロックを作成する必要があります。 これは、「。php」で終わるすべてのファイルに適用されます。 ファイル自体を試し、それをパラメーターとして ` index.php +`ファイルに渡そうとします。

リクエストのパスが実行のために正しく分割されるように `+ fastcgi _ * `ディレクティブを設定し、Nginxが ` php5-fpm `が通信に使用しているソケットと ` index.php + `これらの操作のインデックスとしてファイルが使用されます。

次に、 `+ SCRIPT_FILENAME +`パラメーターを設定して、PHPが要求されたファイルを正しく見つけられるようにします。 完了すると、完成したファイルは次のようになります。

server {
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;

   root /var/www/laravel/public;
   index index.php index.html index.htm;

   server_name server_domain_or_IP;

   location / {
       try_files $uri $uri/ /index.php?$query_string;
   }









}

完了したら、ファイルを保存して閉じます。

既に有効になっている `+ default +`サーバーブロックファイルを変更したので、設定の変更を有効にするにはNginxを再起動するだけです。

sudo service nginx restart

スワップファイルの作成(オプション)

ComposerとLaravelのインストールに進む前に、ビルドが正しく完了するように、サーバーでスワップを有効にすることをお勧めします。 これは通常、メモリの少ないサーバー(512MBドロップレットなど)で操作している場合にのみ必要です。

スワップスペースを使用すると、メモリ内の情報量が使用可能な物理メモリスペースを超えたときに、オペレーティングシステムがメモリからディスクにデータを一時的に移動できます。 これにより、メモリを集中的に使用するタスクを実行しているときに、アプリケーションまたはシステムがメモリ不足(OOM)例外でクラッシュするのを防ぎます。

必要に応じてオペレーティングシステムがディスクの一部をシャッフルするように、スワップスペースを非常に簡単に設定できます。 上記のように、これはおそらく使用可能なRAMが1GB未満の場合にのみ必要です。

まず、次のように入力して空の1GBファイルを作成できます。

sudo fallocate -l 1G /swapfile

次のように入力して、スワップスペースとしてフォーマットできます。

sudo mkswap /swapfile

最後に、このスペースを有効にして、カーネルが次のように入力して使用できるようにします。

sudo swapon /swapfile

システムはこのスペースを次の再起動までしか使用しませんが、サーバーが使用可能なメモリを超過する可能性があるのはビルドプロセス中のみなので、これは問題になりません。

ComposerとLaravelをインストールする

これで、ようやくComposerとLaravelをインストールする準備が整いました。 最初にComposerをセットアップします。 次に、このツールを使用してLaravelのインストールを処理します。

書き込みアクセス権があるディレクトリ(ホームディレクトリなど)に移動し、Composerプロジェクトからインストーラスクリプトをダウンロードして実行します。

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

これにより、ホームディレクトリに「+ composer.phar +」というファイルが作成されます。 これはPHPアーカイブであり、コマンドラインから実行できます。

ただし、グローバルにアクセス可能な場所にインストールしたいです。 また、名前を + composer +(ファイル拡張子なし)に変更します。 次のように入力することで、これを1ステップで実行できます。

sudo mv composer.phar /usr/local/bin/composer

Composerがインストールされたので、それを使用してLaravelをインストールできます。

Laravelを `+ / var / www / laravel +`ディレクトリにインストールすることを忘れないでください。 Laravelの最新バージョンをインストールするには、次のように入力できます。

sudo composer create-project laravel/laravel /var/www/laravel

この記事の執筆時点では、最新バージョンは4.2です。 プロジェクトの今後の変更によりこのインストール手順が正しく完了しない場合は、代わりに次のように入力して、このガイドで使用しているバージョンを強制できます。

sudo composer create-project laravel/laravel /var/www/laravel 4.2

これで、ファイルはすべて「+ / var / www / laravel 」ディレクトリ内にインストールされますが、「 root +」アカウントによって完全に所有されます。 Webユーザーは、コンテンツを正しく提供するために部分的な所有権とアクセス許可が必要です。

次のように入力して、Laravelディレクトリ構造のグループ所有権をWebグループに付与できます。

sudo chown -R :www-data /var/www/laravel

次に、 `+ / var / www / laravel / app / storage`ディレクトリのパーミッションを変更して、Webグループの書き込みパーミッションを許可します。 これは、アプリケーションが正しく機能するために必要です。

sudo chmod -R 775 /var/www/laravel/app/storage

これでLaravelが完全にインストールされ、準備が完了しました。 デフォルトのランディングページを表示するには、ウェブブラウザでサーバーのドメインまたはIPアドレスにアクセスします。

http://

image:https://assets.digitalocean.com/articles/laravel_nginx_1404/laravel_default.png [Laravelのデフォルトのランディングページ]

これで、Laravelフレームワークでアプリケーションの構築を開始するために必要なものがすべて揃いました。

結論

サーバーでLaravelを起動して実行する必要があります。 Laravelは非常に柔軟なフレームワークであり、構造化された方法でアプリケーションを構築するのに役立つ多くのツールが含まれています。

Laravelを使用してアプリケーションを構築する方法については、http://laravel.com/docs [Laravel documentation]をご覧ください。