ブログに戻る

Ubuntu 20.04でのLaravelとNginxのインストールと設定

Ubuntu 20.04でのLaravelとNginxのインストールと設定

はじめに

Laravel は、開発に必要な組み込みツールとリソースのセットを備えた、モダンなPHPアプリケーションを開発するためのWebアプリケーションフレームワークです。その信頼性、パフォーマンス、効率性、モジュール性、そしてセキュリティの高さでよく知られています。さまざまな組み込み機能のおかげで、Laravelの人気は驚異的な成長を遂げています。多くの開発者が、Web開発プロセスを合理化するためにLaravelを採用しています。

このガイドでは、Ubuntu 20.04上で新しいLaravelアプリケーションをインストールおよび設定する方法を説明します.

Ubuntu上のLaravel

Laravelのダウンロードと管理には、PHPの依存関係管理ツールであるComposerを使用します。Composerをインストールするには、このチュートリアルの指示に従ってください。 The Nginxサーバーがアプリケーションを提供します。これにより、MySQLデータベースを使用したデモのLaravelアプリケーションが構築されます。

このガイドにはいくつかの前提条件があります。すでに適切に設定されたUbuntu 20.04サーバーが稼働していることを前提としています。参考までに、Ubuntuサーバーのセットアップに関するクイックガイドを以下に示します。また、LEMP(Linux、Nginx、MySQL、PHP)スタックがインストールおよび設定されている必要があります。これについては、LEMPスタックのインストールと設定.

に関する詳細なガイドを用意しています。さまざまなパッケージをインストールするため、root権限が必要です。Ubuntuの場合、デフォルトでrootユーザーは無効になっています。そのため、sudo権限を持つ非rootユーザーへのアクセスが必要です。他のユーザーにsudo権限を付与する方法.

ステップ1 – PHPモジュールのインストール

Before installing Laravel, we need some important PHP modules for the framework. These modules are directly available from the Ubuntu default package repos. These modules support features like character encoding, XML, and precision mathematics.

まず、APTキャッシュを更新し、パッケージをインストールします。

ステップ2 – アプリケーション用データベースの作成

Laravelの機能を実証するために、ユーザーが訪れたい場所のリストと、すでに訪問済みの場所のリストを表示する旅行リストアプリケーションを作成します。このデータは、フィールドname(場所の名前)とvisitedvisitedまたはnonvisitedとしてマークする)を持つテーブル「places」に保存できます。追加のフィールドには、各エントリの一意の識別子(ID)が含まれます。データをLaravelアプリケーションと接続するために、専用のMySQLユーザーを作成し、データベースtravellist.

に対する完全な権限をそのユーザーに付与します。ネイティブのMySQL PHPライブラリであるmysqlndは、caching_sha2_authenticationをサポートしなくなりました。そのため、データベースの認証方法をmysql_native_passwordに設定する必要があります。MySQLシェルにroot:

次に、travellist:

その後、適切なパスワードを設定して、専用ユーザーtravellist_userを作成します。

ユーザーtravellist_userに、データベースtravellistに対する完全な権限を付与します。これにより、このユーザーがサーバー上の他のデータベースを作成または変更することも防止できます。

MySQLシェルを終了します。

exit

新しいユーザーをテストしてみましょう。次のコマンドを実行すると、ユーザーtravellist_userとしてMySQLシェルにログインします。フラグ-pにより、ユーザーのパスワードが求められます。

利用可能なすべてのデータベースを表示します。先ほど設定したように、travellistinformation_schemaのみが表示されるはずです。

次に、データテーブルplacesを作成する必要があります。次のMySQLステートメントを実行します。

テーブルにサンプルデータをいくつか挿入してみましょう:

データがデータベースに正常に保存されたか確認してみましょう:

ご覧の通り、テストテーブルに有効なデータが挿入されました。これでMySQLシェルを終了できます:

MySQL shell

ステップ 3 – 新規Laravelアプリの作成

これで、Composerを使用して新しいLaravelアプリケーションを作成する準備が整いました。デモアプリケーションとしてtravellistを使用します。このアプリケーションはMySQLデータベースから場所のリストを表示し、Laravelの基本設定を実演します。ユーザーのホームディレクトリに移動します:

次のステップは、Composerを使用して新しいLaravelアプリケーションを作成することです。これにより、デフォルト設定の最小限のLaravelアプリケーションを含む専用のディレクトリtravellistが作成されます。次のコマンドを実行してください:

composer create-project

アプリが構築されたら、すべてのコンポーネントが正常にインストールされたか確認できます:

php artisan

出力結果から、すべてのアプリケーションファイルが揃っていることが確認できます。また、すべてのLaravelコマンドラインツールが機能していることも保証されます。ただし、データベースのセットアップやいくつかの追加調整を行うために、アプリの設定がまだ必要です。

ステップ 4 – Laravelの設定

すべてのLaravel設定ファイルは、ルートアプリディレクトリ内のconfigという名前のディレクトリに保存されています。さらに、ComposerでLaravelをインストールすると、環境ファイルも作成されます。これには、現在の環境に固有のさまざまな設定が含まれています。ここで宣言された値は、config.

にある通常の設定ファイルで設定された値よりも優先されます。一意のインストールごとに、データベース接続設定、アプリのURL、デバッグオプションなどの値を定義するための独自の環境ファイルが必要になります。環境ファイルには、データベースの資格情報やセキュリティキーなどの機密情報が含まれていることに注意してください。そのため、このファイルを公開共有しないことを強くお勧めします。

テキストエディタで環境ファイルを開きます:

以下は環境ファイルのサンプルコードです:

DB_PASSWORD=password123

それぞれの値について詳しく見ていきましょう:

  • APP_NAME:このフィールドはアプリケーションの名前を表します。この名前は通知やメッセージに使用されます。
  • APP_ENV:アプリケーションの現在の環境です。
  • APP_KEY:このキーは、Composerを介してLaravelをインストールするときに自動的に生成されます。ソルトやハッシュの生成に使用されます。変更する必要はありません。
  • APP_DEBUG:デバッグモードの切り替えです。オンにすると、クライアント側にデバッグ情報が表示されます。
  • APP_URL:アプリのベースURLです。アプリケーションのリンクを生成するためにも使用されます。
  • DB_DATABASE:データベースの名前です。この場合は、作成した専用のデータベースになります。
  • DB_USERNAME:データベースに接続するためのユーザー名です。
  • DB_PASSWORD:データベースに接続するためのパスワードです。

変更が完了したら、ファイルを保存してエディタを閉じます。

ステップ 5 – Nginxのセットアップ

ユーザーのホームディレクトリのローカルフォルダにLaravelを正常にインストールしました。この設定はローカル開発環境では問題なく動作します。ただし、パブリックインターネットに公開されているWebサーバーに実装することはお勧めしません。

次のステップは、アプリケーションを/var/wwwに移動することです。ここはNginxで実行されるWebアプリの通常の場所です。mvコマンドを使用して、travellist/var/www/travellist:

次に、ユーザーにstorageおよびcacheフォルダへの書き込みアクセス権を割り当てます。これらはLaravelアプリが生成するファイルの場所です。

これでアプリケーションファイルが配置されました。ただし、Nginxにコンテンツを提供するように指示する必要があります。新しい仮想ホスト設定ファイルを作成します。

以下は、Nginxで実行されるLaravelアプリケーションの推奨設定のサンプルです。

新しい仮想ホスト設定ファイルを有効にします。sites-enabledディレクトリへのシンボリックリンクを作成します。

次のNginxコマンドは、設定ファイルの構文エラーをテストします。

次に、Nginxをリロードします。

これで、ドメイン名またはIPアドレス(server_nameディレクティブで定義されているもの)を使用してアプリケーションにアクセスできるようになります。

Installing Laravel image 3

ステップ6 – メインページのカスタマイズ

Laravelアプリケーションの設定が完了したので、作業を開始できます。デモンストレーションとして、データベーステーブルplacesのサンプルデータを表示するサンプルページを作成します。まず、テキストエディタでメインのルートファイルを開きます。

ファイルにはデフォルトでいくつかのコンテンツが含まれています。ここでは、静的メソッド(Route::get)を使用してルートが定義されています。これは、引数としてpathcallback functionを受け取ります。

コードを次のものに置き換えます。

Installing Laravel image 2

ファイルを保存してエディタを閉じます。次に、データベースのクエリ結果をユーザーにレンダリングするためのレイアウトを作成します。以下のディレクトリ内に新しいファイルを作成します:resource/views:

以下のコードでは、次の値に応じて2つの場所のリストを作成しました:visitedtogo:

Installing Laravel image 1

ファイルを保存してエディタを閉じます。ここで、再びウェブアプリのページにアクセスします:

Travel list

これで完了です!コンテンツにMySQLデータベースを使用する、機能的なLaravelアプリケーションが作成されました。

最後に

このチュートリアルでは、Ubuntu 20.04サーバー上で動作するLEMPスタックの上にLaravelアプリケーションをセットアップする方法を説明しました。また、デフォルトのルートをカスタマイズしてデータベースのコンテンツをクエリし、カスタムビューに結果を表示する方法も紹介しました。Laravelの詳細については、以下の公式ドキュメントを参照してください:ビュー, ルート、およびデータベースサポート.

このチュートリアルのインストールはスタンドアロンの仮想マシン上で行われます。ただし、次のことも可能です:Docker上のLEMPスタックにLaravelをデプロイする.

ハッピーコンピューティング!

author

Hark Labs

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。