環境変数(.env)
.env ファイルはFeedbackPulseの設定の核心です。インストール時に自動的に作成されますが、いつでも手動で編集できます。
📍 ファイルの場所
/var/www/feedbackpulse-saas/.env
⚠️ セキュリティ:
.envファイルには機密データ(データベースパスワード、APIキー)が含まれています。バージョン管理にコミットしたり、公開したりしないでください。640パーミッションが必要です。
🔧 .envを編集した後
変更後、設定キャッシュをクリアします:
php artisan config:clear
php artisan config:cache # オプション:本番環境のパフォーマンスのためにキャッシュ
📋 変数の完全なリファレンス
🏠 アプリケーション設定
| 変数 | デフォルト | 説明 |
|---|---|---|
APP_NAME | FeedbackPulse | プラットフォーム名(メール、タイトルに表示) |
APP_ENV | production | 環境:production、local、staging |
APP_KEY | (自動生成) | 暗号化キー。インストール後は変更しないでください! |
APP_DEBUG | false | 詳細なエラーを表示。本番環境では false にすること! |
APP_URL | https://yourdomain.com | プラットフォームの完全なURL(httpsを含む) |
APP_LOCALE | en | デフォルト言語 |
APP_FALLBACK_LOCALE | en | フォールバック言語 |
BCRYPT_ROUNDS | 12 | パスワードハッシュ強度(高いほど遅いが安 全) |
⚠️
APP_DEBUG=trueはエラーページで機密情報(データベース認証情報、APIキー)を公開します。簡単なデバッグセッション以外では本番環境では有効にしないでください。
🗄️ データベース
| 変数 | デフォルト | 説明 |
|---|---|---|
DB_CONNECTION | mysql | データベースドライバ:mysql、mariadb、sqlite、pgsql |
DB_HOST | 127.0.0.1 | データベースサーバーアドレス |
DB_PORT | 3306 | データベースポート |
DB_DATABASE | feedbackpulse | データベース名 |
DB_USERNAME | root | データベースユーザー名 |
DB_PASSWORD | (空) | データベースパスワード |
📧 メール・SMTP
| 変数 | デフォルト | 説明 |
|---|---|---|
MAIL_MAILER | smtp | メールドライバ:smtp、ses、postmark、sendmail、log |
MAIL_HOST | smtp.mailgun.org | SMTPサーバーホスト |
MAIL_PORT | 587 | SMTPポート(TLSは587、SSLは465) |
MAIL_USERNAME | (空) | SMTPユーザー名 |
MAIL_PASSWORD | (空) | SMTPパスワード |
MAIL_ENCRYPTION | tls | 暗号化:tls、ssl、または null |
MAIL_FROM_ADDRESS | [email protected] | 送信者メールアドレス |
MAIL_FROM_NAME | FeedbackPulse | 送信者名 |
💳 Stripe(オプション)
| 変数 | デフォルト | 説明 |
|---|---|---|
STRIPE_PUBLISHABLE_KEY | (空) | Stripe公開キー(pk_ で始まる) |
STRIPE_SECRET_KEY | (空) | Stripeシークレットキー(sk_ で始まる) |
STRIPE_WEBHOOK_SECRET | (空) | Stripe webhook署名シークレット(whsec_ で始まる) |
💰 PayPal(オプション)
| 変数 | デフォルト | 説明 |
|---|---|---|
PAYPAL_CLIENT_ID | (空) | PayPal REST APIクライアントID |
PAYPAL_CLIENT_SECRET | (空) | PayPal REST APIクライアントシークレット |
PAYPAL_WEBHOOK_ID | (空) | 確認用PayPal webhook ID |
PAYPAL_MODE | sandbox | モード:sandbox(テスト)または live(本番) |
🔑 ソーシャルログイン(オプション)
| 変数 | デフォルト | 説明 |
|---|---|---|
GOOGLE_CLIENT_ID | (空) | Google OAuthクライアントID |
GOOGLE_CLIENT_SECRET | (空) | Google OAuthクライアントシークレット |
GITHUB_CLIENT_ID | (空) | GitHub OAuthクライアントID |
GITHUB_CLIENT_SECRET | (空) | GitHub OAuthクライアントシークレット |
🤖 AI・OpenAI(オプション)
| 変数 | デフォルト | 説明 |
|---|---|---|
OPENAI_API_KEY | (空) | センチメント分析、自動タグ付け、AI返信用のOpenAI APIキー |
🤖 reCAPTCHA(オプション)
| 変数 | デフォルト | 説明 |
|---|---|---|
RECAPTCHA_SITE_KEY | (空) | Google reCAPTCHA v2/v3サイトキー |
RECAPTCHA_SECRET_KEY | (空) | Google reCAPTCHAシークレットキー |
🍪 セッションとキャッシュ
| 変数 | デフォルト | 説明 |
|---|---|---|
SESSION_DRIVER | file | セッションストレージ:file、database、redis、cookie |
SESSION_LIFETIME | 120 | セッションタイムアウト(分) |
SESSION_DOMAIN | (空) | クッキードメイン(サブドメイン用に .yourdomain.com に設定) |
SESSION_SECURE_COOKIE | true | セッションクッキーにHTTPSを必須化 |
CACHE_STORE | file | キャッシュドライバ:file、database、redis、memcached |
📦 キューとジョブ
| 変数 | デフォルト | 説明 |
|---|---|---|
QUEUE_CONNECTION | sync | キュードライバ:sync、database、redis |
⏰ Cron(共有ホスティング)
| 変数 | デフォルト | 説明 |
|---|---|---|
CRON_TOKEN | (自動生成) | Webベースのcronエンドポイント /cron/run?token= 用のシークレットトークン。インストール時に自動生成。CLI cron以外でURLベースのcronを使用する場合にのみ必要。 |
📁 ファイルストレージ
| 変数 | デフォルト | 説明 |
|---|---|---|
FILESYSTEM_DISK | local | デフォルトストレージディスク:local、public、s3 |
🪵 ログ
| 変数 | デフォルト | 説明 |
|---|---|---|
LOG_CHANNEL | stack | ログチャンネル:stack、single、daily、syslog |
LOG_LEVEL | error | 最小ログレベル:debug、info、notice、warning、error、critical |
💡 本番環境の.env例
APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file
QUEUE_CONNECTION=sync
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
OPENAI_API_KEY=sk-xxxxx
LOG_CHANNEL=daily
LOG_LEVEL=error