カスタム設定でウェブサイトを追加する
ServBay はウェブサイトの追加方法に柔軟性を持たせています。標準的な ServBay による自動管理設定に加え、「カスタム設定」モードもサポートしています。このモードでは、開発者が特定ウェブサイトの Web サーバー(Nginx、Caddy、Apache)の構成ファイルを直接記述・管理でき、最大限の柔軟性とコントロール性を提供します。細かな調整や非標準設定、高度な機能が必要な開発シーンに最適です。
カスタム設定の意義
カスタム設定を選択することで次のような利点があります:
- 完全なコントロール: ウェブサイトに対応するサーバー設定(Nginx の
server
ブロック、Apache のVirtualHost
ブロック、Caddy のサイト定義など)を直接編集できます。 - 高度な機能: 標準モードでは難しい複雑なリライトルールや、個別のプロキシ設定、カスタムログフォーマット、特殊なセキュリティヘッダ等も構成可能です。
- 特殊な場面に対応: 本番環境の特定構成の模倣、特殊モジュールとの統合、深いデバッグなどが求められる場面でも適しています。
ただし、設定の正確性およびセキュリティ(SSL証明書管理も含む)は、ご自身で責任を持って管理する必要があります。
カスタム設定サイト追加の手順
- ウェブサイト画面を開く: ServBay 左側メニューの
Websites
をクリックします。 - 新規ウェブサイトの追加: サイト一覧上部の
+
(プラス)ボタンをクリックします。 - 基本情報の入力:
- Name: サイトの識別しやすい名称を入力してください(例:
My Custom Project
)。 - Domain: ローカルアクセス用ドメイン(例:
myproject.servbay.demo
)を入力してください。
- Name: サイトの識別しやすい名称を入力してください(例:
- Web サーバーの選択:
Web Server
ドロップダウンから希望する Web サーバー(Nginx、Caddy、Apache)を選択します。**この選択は非常に重要です。**後続の設定テンプレートの種類や利用されるサーバーソフトが決まります。 - カスタム設定の有効化:
Custom Configuration
のチェックボックスをオンにします。 - テンプレートの確認と編集: チェックを入れると、下部テキストエリアに選択した Web サーバー向けの基本設定テンプレートが自動生成されます。これを基に必要な修正を行ってください(必要に応じて編集が必要です)。
設定テンプレートの理解と編集
選択した Web サーバー(Nginx、Caddy、Apache)ごとに ServBay は異なる設定テンプレートを用意します。実際のプロジェクト要件に合わせて適切に編集してください。
1. Nginx カスタム設定
Nginx を選択すると、ServBay は基本的な server
ブロックのテンプレートを提供します。
テンプレート構成と主なディレクティブ:
# ポートとプロトコルのリッスン
listen 443 ssl; # HTTPS
# バインドするドメイン名
server_name myproject.servbay.demo;
# サイトのドキュメントルート(存在することを確認してください)
root /Applications/ServBay/www/myproject.servbay.demo;
# デフォルトのインデックスファイル
index index.php index.html index.htm;
# SSL/TLS プロトコルと暗号スイート(例)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# SSL 証明書パス(HTTPS 有効の場合は手動で指定必須)
# 【重要】証明書ファイルが存在し、パスが正しいことを確認してください
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# PHP リクエスト処理例(PHP 8.3、必要に応じて調整してください)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# その他設定例(location ブロックやリライトルールなど)
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# アクセスおよびエラーログのパス(任意)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
編集ポイント:
server_name
が設定したドメインと一致するか確認してください。root
ディレクトリをプロジェクトファイルのパスに正しく設定してください。- HTTPS 利用時は
listen 443 ssl;
の有効化、およびssl_certificate
・ssl_certificate_key
の正確なパス指定が必須です。 - 必要に応じて他の location ブロック、リライトルール、プロキシ設定等も追加できます。
2. Caddy カスタム設定
Caddy を選択した場合、Caddyfile 形式のサイトテンプレートが提供されます。
テンプレート構成と主なディレクティブ:
encode zstd gzip
import set-log myproject.servbay.demo # ログファイル名
import canonical-path
# サイトのドキュメントルート(存在することを確認してください)
root * /Applications/ServBay/www/myproject.servbay.demo
# PHP リクエスト処理
route {
import php-rewrite-default 8.3 # PHPバージョン 8.3
}
# TLS/SSL 設定
# 証明書パスを指定してください
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# ファイルサーバーの有効化
file_server
# その他ディレクティブ例(reverse_proxy, rewrite, header など)
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
編集ポイント:
- トップレベルのドメイン
myproject.servbay.demo
が正しいか確認してください。 root
ディレクティブをプロジェクトファイルのパスに正しく設定してください。- SSL/TLS: Caddy はデフォルトでドメイン向けに HTTPS 証明書の自動取得・管理を試みますが、
.servbay.demo
のようなローカル開発ドメインでは通常不可能です。HTTPS が必要な場合はtls
ディレクティブで既存証明書・秘密鍵ファイルへのフルパス指定を必ず行ってください(ファイルの存在も必ず確認)。 - 必要に応じて Caddy の他ディレクティブを追加してください。
3. Apache カスタム設定
Apache を選択した場合、<VirtualHost>
ブロックのテンプレートが提供されます。
テンプレート構成と主なディレクティブ:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# SSLエンジン有効化
SSLEngine on
# SSL証明書パス
# 【重要】証明書ファイルが存在し、パスが正しいことを確認してください
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# ディレクトリ権限
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# PHP-FPM 設定(PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# エラーログとアクセスログ(任意)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
編集ポイント:
ServerName
が利用するドメインと合っているか確認してください。DocumentRoot
をプロジェクトファイルのパスに適切に設定してください。<Directory>
ブロックの権限やオプションを正しく構成してください。- 必要に応じて Apache の他ディレクティブ(
RewriteEngine
,ProxyPass
など)も追加できます。
SSL証明書管理【重要】
カスタム設定を利用する場合、ServBay は自動で SSL証明書を生成しません(ServBay CA証明書の自動作成や、ACME プロトコル経由での Let's Encrypt 証明書取得は行いません)。
- SSL証明書の取得・生成はユーザー自身で行い、Webサーバーがアクセス可能な場所に配置してください。
- OpenSSLによる自己署名証明書の手動生成や、ServBay 提供CA(ServBay User CAまたはServBay Public CA)を用いたローカル開発用証明書の発行も可能です。
- Nginx、Caddy、Apacheのカスタム設定内では、必ず
ssl_certificate
/ssl_certificate_key
(Nginx)、tls
(Caddy)、SSLCertificateFile
/SSLCertificateKeyFile
(Apache)ディレクティブに正確な証明書・秘密鍵ファイルパスを指定してください。 - SSL関連ディレクティブが設定されていても、対応する証明書ファイルが存在しない・パスが間違っている場合、Webサーバーは起動できずサイトもアクセス不可となります。ServBay の画面やサーバーログ(多くの場合
/Applications/ServBay/logs/
以下のディレクトリ)にエラーが表示されます。
ローカル開発証明書の作成・管理については、ServBay のSSL証明書管理ドキュメントも参照してください。
Web サーバーのバインド
DANGER
重要なポイントとして、特定の Web サーバー(例:Nginx)を選び、カスタム設定で保存すると、そのサイトの設定はNginxにバインドされます。
- つまり、ServBay で現在有効になっている Web サーバーパッケージが Nginx の場合にのみ、そのサイトに正しくアクセスできます。
- ServBay の「サービス」→「デフォルト Web サーバー」部分で Apache や Caddy に切り替えた場合、Nginx のカスタム設定サイトは無効化され、アクセスできません(Nginx 設定が読み込まれないため)。
- 逆も同様に、CaddyやApache用カスタム設定サイトは、それぞれ該当するサーバーパッケージ稼働時のみ利用可能です。
保存と反映
すべての設定編集が終わったら、画面右下の Save
ボタンをクリックしてください。ServBay はカスタム設定内容を保存し、対応する Web サーバーを自動で再読み込みして反映を試みます。設定内容に文法エラー等がある場合は保存失敗、またはサーバー再起動失敗となりますので、ServBay の通知や対応するサーバーエラーログ(通常 /Applications/ServBay/logs/
下の該当サブディレクトリ)で原因を確認してください。
まとめ
カスタム設定によるサイト追加は、ServBay ユーザーに比類なき柔軟性をもたらし、開発者が各サイトのサーバー挙動を緻密にコントロールできます。一方で、Web サーバーの設定知識や、設定の正確性・安全性、SSL証明書管理など自己責任となる部分も多くあります。 テンプレート構造の理解、SSL の要件、サーバーのバインド機構の把握がカスタム設定を最大限活用するための鍵となります。