Ubuntu 20.04にNginxを使用してLaravel PHPフレームワークをインストールする方法
Laravel は、世界で最も人気のある無料のオープンソース PHP フレームワークで、表現力豊かでエレガントな構文で知られています。 Laravel はアクセスしやすく強力で、大規模で堅牢な最新のアプリケーションに必要な最高の Web 開発ツールをいくつか提供します。
この記事では、Nginx ウェブサーバー上で実行されているUbuntu 20.04 サーバーにLaravel PHP フレームワークをインストールする方法を学びます。
前提条件
- Ubuntu 20.04 で PhpMyAdmin を使用して LEMP スタックをインストールする方法
ステップ 1: 必要な PHP モジュールのインストール
上記リンクのガイドの説明に従って Ubuntu 20.04 サーバーに LEMP スタックをセットアップした後、次のように Laravel に必要な追加の PHP 拡張機能をインストールする必要があります。
sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
ステップ 2: Laravel 用のデータベースを作成する
次に、Laravel アプリケーション用のMySQL データベースを作成する必要があります。したがって、mysql シェルにログインし、次のようにデータベースを作成します。
sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit
ステップ 3: Ubuntu 20.04 に Composer をインストールする
Laravel は、コンポーザー (PHP の依存関係マネージャー) を利用して依存関係を管理します。したがって、Laravel を使用する前に、 図に示すようにComposer がシステムにインストールされていることを確認してください。
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
ステップ4: Ubuntu 20.04にLaravelをインストールする
コンポーザーをインストールしたら、それを使用してLaravel ファイルをインストールします。 Web ファイルが保存されている /var/www/html
ディレクトリに移動し、次に示すようにコンポーザーを使用して Laravel をインストールします。 example.com
を、Laravel ファイルが保存されるディレクトリの名前に忘れずに置き換えてください。
cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com
ステップ5: Ubuntu 20.04でのLaravelの構成
新しいLaravel インストールの内容を一覧表示するには、次の ls コマンドを実行します。以前は手動で作成する必要があった .env
ファイルが自動的に作成されたことがわかります。
ls -la /var/www/html/example.com/
次に、 次のようにLaravel ディレクトリに適切な権限を設定します。
sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/
次に、Laravel はアプリケーション キーを使用して、ユーザー セッションとその他の暗号化されたデータを保護します。デフォルトの .env
にはデフォルトのアプリケーションキーが含まれていますが、セキュリティ上の理由から、laravel デプロイメント用に新しいアプリケーションキーを生成する必要があります。
sudo php artisan key:generate
生成されたキーは、APP_KEY
の値として .env
ファイルに追加されます。 grep コマンドを使用して追加されたキーを表示できます。
grep -i APP_Key /var/www/html/example.com/.env
次のスクリーンショットに示すように、.env
で Laravel データベース接続の詳細を構成する必要もあります。
sudo nano /var/www/html/example.com/.env
ステップ 6: Laravel アプリケーションを提供するための NGINX の構成
NGINX が新しいアプリケーションを提供できるようにするには、NGINX 構成内の /etc/nginx/sites-available/
ディレクトリの下に、そのためのサーバー ブロックを作成する必要があります。
sudo nano /etc/nginx/sites-available/example.com.conf
以下の構成では、ルート ディレクティブを Laravel アプリケーションのパブリック ディレクトリに更新し、www.example.com
を図のように Web サイトのドメイン名に置き換えてください。
また、fastcgi_pass
ディレクティブは、PHP-FPM がリクエストをリッスンしているメディアを指すように設定します (例: fastcgi_pass unix:/run/php/php7.4) -fpm.sock
):
server{
server_name www.example.com;
root /var/www/html/example.com/public;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
ファイルを保存し、/etc/nginx/sites-available/example.com.conf
から /etc/nginx/sites-enabled/ へのリンクを作成して、Laravel サイト構成を有効にします。
ディレクトリ。さらに、デフォルトのサーバーブロック構成を削除します。
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
次に、サービスを再起動する前に次のコマンドを実行して、NGINX 構成構文が正しいかどうかを確認します。
sudo nginx -t
sudo systemctl restart nginx
ステップ7: WebブラウザからLaravelアプリケーションにアクセスする
この段階では、Laravel デプロイメントが正常に動作しているかどうか、またブラウザからアクセスできるかどうかをテストする必要があります。ダミー ドメイン example.com
を使用するには、ローカル コンピューター上の /etc/hosts
ファイルを使用してローカル DNS を作成しましょう。
次のコマンドを実行して、Laravel サーバーの IP アドレスを取得し、それを /etc/hosts
ファイルに追加します (設定に従って値を置き換えます)。
$IP 広告
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts
次に、ローカル コンピュータで Web ブラウザを開き、次のアドレスを使用して移動します。
http://www.example.com/
これでLaravel がインストールされたので、Web アプリケーションまたはサイトの構築を開始できます。詳細については、Laravel のドキュメントを参照してください。