メインコンテンツまでスキップ

Apache 設定

FeedbackPulse SaaS の完全な Apache セットアップガイドです。


前提条件

  • Apache 2.4 以上
  • mod_rewrite が有効
  • mod_headers が有効(セキュリティヘッダー用)
  • PHP 8.4 以上(mod_php または PHP-FPM 経由)

必要なモジュールの有効化

sudo a2enmod rewrite headers ssl
sudo systemctl restart apache2

基本バーチャルホスト

新しいバーチャルホストファイルを作成します:

sudo nano /etc/apache2/sites-available/feedbackpulse.conf

以下を貼り付けます:

<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/feedbackpulse-saas/public

<Directory /var/www/feedbackpulse-saas/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

# ログ設定
ErrorLog ${APACHE_LOG_DIR}/feedbackpulse-error.log
CustomLog ${APACHE_LOG_DIR}/feedbackpulse-access.log combined
</VirtualHost>

サイトを有効化して再起動します:

sudo a2ensite feedbackpulse.conf
sudo a2dissite 000-default.conf # デフォルトサイトを無効化(オプション)
sudo systemctl restart apache2

HTTPS バーチャルホスト(Let's Encrypt 使用)

SSL 証明書を取得した後:

<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/feedbackpulse-saas/public

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem

<Directory /var/www/feedbackpulse-saas/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

# セキュリティヘッダー
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

ErrorLog ${APACHE_LOG_DIR}/feedbackpulse-ssl-error.log
CustomLog ${APACHE_LOG_DIR}/feedbackpulse-ssl-access.log combined
</VirtualHost>

# HTTP を HTTPS にリダイレクト
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>

ワイルドカードサブドメインサポート(オプション)

acme.yourdomain.com のようなテナントサブドメインを使用する場合:

<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias *.yourdomain.com
DocumentRoot /var/www/feedbackpulse-saas/public

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem

<Directory /var/www/feedbackpulse-saas/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

重要: ワイルドカード DNS レコード(*.yourdomain.com)とワイルドカード SSL 証明書も必要です。詳しくは ワイルドカード DNS セットアップSSL 証明書 を参照してください。


.htaccess ファイル

FeedbackPulse には public/ ディレクトリに .htaccess ファイルが含まれています。このファイルは以下を処理します:

  • URL の書き換え(index.php なしのきれいな URL)
  • HTTPS の強制
  • セキュリティヘッダーの設定

.htaccess が機能しない場合は、バーチャルホスト設定で AllowOverride All が設定されていることを確認してください。

デフォルトの .htaccess には以下が含まれます:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

public/.htaccess には以下が含まれます:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

cPanel / 共有ホスティング

cPanel の共有ホスティングを使用している場合:

オプション A:public_html にインストール

  1. すべてのファイルを public_html/feedbackpulse/ にアップロードします
  2. cPanel → Domains または Addon Domains で、ドキュメントルートを public_html/feedbackpulse/public に設定します
  3. ドキュメントルートを変更できない場合は、以下の方法を使用してください:

public_html/ ルートに .htaccess を作成します:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ feedbackpulse/public/$1 [L]
</IfModule>

オプション B:サブドメインにインストール

  1. cPanel でサブドメインを作成します(例:feedback.yourdomain.com
  2. ドキュメントルートを public/ フォルダーに設定します
  3. サブドメインディレクトリにすべての FeedbackPulse ファイルをアップロードします

オプション C:public/ の内容を移動

制限の多いホスティングでの最終手段として:

  1. すべてのファイルを public_html/ 外のディレクトリにアップロードします(例:/home/user/feedbackpulse/
  2. public/内容public_html/ にコピーします
  3. public_html/index.php を編集してパスを更新します:
// 変更前:
require __DIR__.'/../vendor/autoload.php';
// 変更後:
require '/home/user/feedbackpulse/vendor/autoload.php';

// 変更前:
$app = require_once __DIR__.'/../bootstrap/app.php';
// 変更後:
$app = require_once '/home/user/feedbackpulse/bootstrap/app.php';

警告: オプション C はアップデートのたびにパスの更新が必要です。可能であればオプション A または B を使用してください。


Laragon(Windows ローカル開発)

Laragon を使用すると非常に簡単に設定できます:

  1. feedbackpulse-saas フォルダーを C:\laragon\www\ に配置します
  2. Laragon が自動的にバーチャルホストを作成します:feedbackpulse-saas.test
  3. ブラウザで http://feedbackpulse-saas.test にアクセスします
  4. Laragon が自動的に public/ を指定します!

Laragon の自動バーチャルホスト: Laragon は www/ 内のすべてのフォルダーに Apache バーチャルホストを作成します。そのディレクトリに public/ が存在する場合、ドキュメントルートは自動的に public/ に設定されます。


Apache 設定の確認

# 設定構文のテスト
sudo apachectl configtest

# mod_rewrite が有効か確認
apache2ctl -M | grep rewrite

# サイトが有効か確認
ls /etc/apache2/sites-enabled/

# Apache を再起動
sudo systemctl restart apache2

https://yourdomain.com にアクセスして、FeedbackPulse のランディングページまたはインストーラーが表示されることを確認してください。


次のステップ