目次
1. VPSサーバーの準備
1.1 必要なソフトウェアのインストール
まず、VPSにSSHでログインし、必要なソフトウェアをインストールします。
sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 mysql-server php php-cli php-mbstring php-xml php-bcmath php-curl php-zip unzip composer
1.2 MySQLデータベースの設定
MySQLを設定し、Laravel用のデータベースを作成します。
sudo mysql -u root -p
以下のコマンドでデータベースとユーザーを作成し、権限を設定します。
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2. Laravelプロジェクトのデプロイ
2.1 GitHubなどからプロジェクトをクローン
LaravelプロジェクトのコードをVPSにダウンロードします。
cd /var/www
sudo git clone https://github.com/your-repo/your-laravel-project.git laravel_project
cd laravel_project
2.2 .envファイルの設定
環境変数を設定するため、.env
ファイルを作成または編集します。
cp .env.example .env
nano .env
以下のようにデータベース情報を更新します。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=your_password
2.3 依存関係のインストールとアプリケーションキーの設定
composer install
php artisan key:generate
2.4 データベースのマイグレーション
php artisan migrate --force
3. Webサーバーの設定(Apache)
3.1 Apacheの設定ファイルを作成
sudo nano /etc/apache2/sites-available/laravel_project.conf
以下の内容を記述します。
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/laravel_project/public
ServerName yourdomain.com
<Directory /var/www/laravel_project>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3.2 設定を有効化してApacheを再起動
sudo a2ensite laravel_project.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
4. 権限の設定
sudo chown -R www-data:www-data /var/www/laravel_project
sudo chmod -R 775 /var/www/laravel_project/storage
sudo chmod -R 775 /var/www/laravel_project/bootstrap/cache
5. Laravelのキャッシュクリアとスケジューラー設定
php artisan config:cache
php artisan route:cache
php artisan view:cache
6. 動作確認
ブラウザで http://yourdomain.com
にアクセスし、Laravelのアプリケーションが正常に表示されるか確認してください。
まとめ
このガイドでは、LaravelプロジェクトをVPSにデプロイするための手順を解説しました。適切に設定すれば、スムーズに本番環境で動作させることができます。必要に応じてSSL証明書(Let’s Encryptなど)を設定し、より安全な運用を行いましょう。