settings: Set REALMS_HAVE_SUBDOMAINS by default.

This change means that almost every Zulip server out there will now be
using subdomains for every realm.  There are a few complications noted
in the release notes.
This commit is contained in:
Tim Abbott 2017-08-24 18:56:20 -07:00
parent 5159151e5f
commit a2243378ea
4 changed files with 62 additions and 1 deletions

View File

@ -44,6 +44,14 @@ recommend
[running these migrations manually](expensive-migrations.html) before
starting the upgrade.
* We fixed Zulip's previously buggy support for multiple organizations
on the same Zulip server. A consequence of doing this correctly means
is that we require each organization to have its own subdomain. This
change should have no effect for the vast major of Zulip servers that
only have one organization. If you manage a server that hosts
multiple organizations, you'll want to read
[our guide on multiple organizations](prod-multiple-organizations.html).
Full feature Changelog:
- Simplified the process for installing a new Zulip server.

View File

@ -453,3 +453,7 @@ server, and suggested procedure.
There are a large number of useful management commands under
`zerver/management/commands/`; you can also see them listed using
`./manage.py` with no arguments.
## Hosting multiple Zulip organizations
This is explained in detail on [its own page](prod-multiple-organizations.html).

View File

@ -0,0 +1,49 @@
# Hosting multiple organizations
The vast majority of Zulip servers host just a single organization.
This article documents what's involved in hosting multiple Zulip
organizations on a single server.
Throughout this article, we'll assume you're working on a zulip server
with hostname `zulip.example.com`.
## Subdomains
Zulip's approach for supporting multiple organizations on a single
Zulip server is for each organization to be hosted on its own
subdomain. E.g. you'd have `org1.zulip.example.com` and
`org2.zulip.example.com`.
Web security standards mean that one subdomain per organization is
required to support a use logging into multiple organizations on a
server at the same time.
When you want to create a new organization, you need to do a few
things:
* If you're using Zulip older than 1.7, you'll need to set
`REALMS_HAVE_SUBDOMAINS=True` in your `/etc/zulip/settings.py`
file. That setting is the default in 1.7 and later.
* Make sure you have SSL certificates for all of the subdomains you're
going to use. If you're using
[our LetsEncrypt instructions](ssl-certificates.html), it's easy to
just specify multiple subdomains in your certificate request.
* If necessary, modify your `nginx` configuration to use your new
certificates.
* Use `./manage.py generate_realm_creation_link` again to create your
new organization. Review
[the install instructions](prod-install.html) if you need a
refresher on how this works.
For servers hosting a large number of organizations, like
[zulipchat.com](https://zulipchat.com), one can set
`ROOT_DOMAIN_LANDING_PAGE = True` in `/etc/zulip/settings.py` so that
the homepage for the server is a copy of the Zulip homepage.
### The root domain
Most Zulip servers host a single Zulip organization on the root domain
(i.e. `zulip.example.com`). The way this is implemented internally
involves the organization having the empty string (`''`) as its
"subdomain". You can mix having an organization on the root domain
and some others on subdomains (e.g. `it.zulip.example.com`).

View File

@ -181,7 +181,7 @@ DEFAULT_SETTINGS = {'TWITTER_CONSUMER_KEY': '',
'VERBOSE_SUPPORT_OFFERS': False,
'STATSD_HOST': '',
'OPEN_REALM_CREATION': False,
'REALMS_HAVE_SUBDOMAINS': False,
'REALMS_HAVE_SUBDOMAINS': True,
'ROOT_DOMAIN_LANDING_PAGE': False,
'ROOT_SUBDOMAIN_ALIASES': ["www"],
'REMOTE_POSTGRES_HOST': '',