LoginSignup
2
3

More than 5 years have passed since last update.

ApartmentGemを使ってテナント型Webアプリケーション構築のサンプル (PostgreSQL版)

Last updated at Posted at 2016-06-27

---追記---
ワイルドカードドメイン対応のVirtualHostを記述する
DNSのワイルドカードドメインを追加した後、Apache側に対応するVirtualHostを書いてあげる必要がありましたが、記述していなかったため、別記事で追加しました。
---追記---

Apartment Gemを使った実装のサンプルです。
DBはPostgreSQLを利用しています。
RackサーバのPowを利用してサブドメイン動作を確認しています。
本番環境ではDNSに*レコードを追加することで、マルチドメインに対応することを想定しています。

今回のデモプログラムダウンロード
ソースコード

環境構築方法はデモプログラムダウンロード先のgithubリポジトリのREADME.mdにも記載していますし、他の記事もたくさんありますのでそちらを参考にしてください。

このサンプルでの要点は1行だけで

app/controllers/tenants_controller.rb のdef createメソッド内に
Apartment::Tenant.create(@tenant.subdomain)
この記述のみです。

Tenantレコードにデータが追加された直後にテナントを追加しています。
ここを自動化できればあとはDNSレコードにワイルドカードドメインを追加して
subdomain.本番環境のドメイン名/のリンクを利用者に提供するだけで
Web上ですぐにテナントが利用できるようになります。

簡単なので是非お試しください。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3