LaravelとNginxの環境構築は初めての方にとっても簡単に始められる方法を順を追って説明します。Web開発の第一歩として、この二つをしっかりと連携させることは非常に重要です。この記事では、Linux環境を使用してLaravelとNginxのセットアップ方法を具体的に見ていきます。
必要な前提知識と準備
LaravelとNginxのセットアップに入る前に、いくつかの準備が必要です。
-
サーバーの準備: 基本的にはLinuxベースのサーバーが必要で、最も一般的なのはUbuntuです。ローカル環境で試す場合は、VirtualBoxやDockerを使用して仮想マシンを用意します。
-
SSHアクセス: リモートのサーバーの場合、SSHが設定されていることを確認します。
-
更新の確認: 最新のパッケージがインストールされていることを確認するため、次のコマンドを実行します。
sudo apt update sudo apt upgrade
PHPのインストール
LaravelはPHPで動作するため、まずはPHPとその必要な拡張機能をインストールします。
sudo apt install php php-mbstring php-xml php-bcmath php-json php-zip unzip -y
以上のコマンドは、Laravelに必要なPHP拡張機能の一つ一つをインストールします。php -vコマンドでPHPがインストールされたことを確認できます。
Composerのインストール
LaravelはComposerというPHPの依存管理ツールを用いてインストールします。Composerのインストールは以下のように行います。
sudo apt install curl
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version
Composerが正しくインストールされたかを確認するために、最後のコマンドがバージョン情報を表示すれば成功です。
Laravelのインストール
全ての準備が整ったら、Laravelをインストールします。ライブラリやフレームワークは常に最新のものを使用することを心がけましょう。
composer create-project --prefer-dist laravel/laravel laravel_project
cd laravel_project
これでLaravelのプロジェクトが生成されました。laravel_projectディレクトリに移動し、以下のコマンドでサーバーが正しく動作しているか確認します。
php artisan serve
ローカルホストの特定のポート(通常8000)でサーバーが起動するはずです。
MySQLのインストールと設定
次に、Laravelと連動してデータを管理するためにMySQLをインストールします。
sudo apt install mysql-server
sudo mysql_secure_installation
mysql_secure_installationのプロンプトに従って、セキュリティ設定を行います。次に、MySQLに新しいデータベースとユーザーを作成します。
sudo mysql -u root -p
CREATE DATABASE laravel_database;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_database.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Laravelのプロジェクト内の.envファイルを編集し、データベース接続情報を設定します。
DB_DATABASE=laravel_database
DB_USERNAME=laravel_user
DB_PASSWORD=password
Nginxのインストールと設定
次に、Nginxをインストールし、Laravelのアプリケーションが動くように設定します。
sudo apt install nginx
インストールが終了したら、Nginxの設定ファイルを編集し、Laravelプロジェクトを指すように設定します。下記の内容で新しい設定ファイル /etc/nginx/sites-available/laravel_projectを作成します。
server {
listen 80;
server_name example.com;
root /path/to/laravel_project/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
設定を有効にするために、シンボリックリンクをsites-enabledディレクトリに作成し、Nginxを再起動します。
sudo ln -s /etc/nginx/sites-available/laravel_project /etc/nginx/sites-enabled/
sudo systemctl restart nginx
ファイアウォールの設定
ファイアウォールを有効にしている場合は、HTTPとHTTPSのトラフィックを許可する必要があります。UFW(Uncomplicated Firewall)を使用している場合、以下のコマンドを実行します。
sudo ufw allow 'Nginx Full'
確認
すべてが正しく設定されているかどうかを確認するため、WebブラウザでサーバーのIPアドレスまたはドメインを開くとLaravelのウェルカムページが表示されます。
これで、LaravelとNginxの設定が完了しました。以降はLaravelの学習に集中し、プロジェクトの開発に取り組んでください。この設定が基盤となり、今後より高度なプロジェクトを進める土台となります。


コメント