Skip to content

Commit 29826da

Browse files
authored
Merge pull request #2044 from reebhub/licensing-issues
Licensing issues: Community license grace period, Bank of cores license, Embedded server licensing
2 parents 6cfd9f8 + 2feb1db commit 29826da

31 files changed

+766
-291
lines changed

Documentation/5.1/Raven.Documentation.Pages/start/installation/setup-wizard.markdown

Lines changed: 57 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
# Installation: Setup Wizard Walkthrough
22

3-
4-
* We want to make it as easy as possible for you to start RavenDB with a valid, trusted server certificate from the beginning.
5-
This will ensure that your servers are secure throughout your application lifecycle.
6-
7-
* Setting up securely will create a development environment that includes security related features such as encryption and client certificates.
8-
This way, such features won't be missing when you launch, and there will be less bugs caused by code that needs to be adapted to
9-
security features that must be added later.
10-
11-
* To make the setup process as smooth as possible, we have introduced the **Setup Wizard**,
12-
a step-by-step guide to help you configure the desired security level and easily deploy a secure cluster.
13-
14-
* Using the Setup Wizard you can set up a secure cluster with:
15-
* **Let's Encrypt certificate** - Using the Wizard with "Let's Encrypt" will enable RavenDB's automatic certificate renewals.
16-
* **Self-obtained certificate** - You are responsible for periodic certificate renewals.
17-
* Or choose to continue in an **unsecure mode**.
18-
19-
* Note: The RavenDB server can also be **set up manually** if choosing not to use the wizard.
20-
See [Manual Setup](../../start/installation/manual).
21-
22-
* Note: this page explains how to follow the Setup Wizard, without going into security concerns details.
23-
To learn more about how _Authentication_ and _Authorization_ are implemented with RavenDB, and about _Security_ in general,
24-
go to [Security Overview](../../server/security/overview).
25-
26-
* If you are having trouble using the wizard, or with security in general, please visit the [Security Common Errors & FAQ](../../Server/Security/common-errors-and-faq) section.
3+
* The **Setup Wizard** guides you through a step-by-step installation of a RavenDB server.
4+
5+
* You can use the wizard to install either a **secure** or an **unsecure** server.
6+
* An **unsecure server** can be used for **trial and development**, providing there
7+
is no issue with unauthorized access to the server and the data stored in it.
8+
* It is **highly recommended** to use a **secure server** wherever access to the
9+
server, its management, or its data should be restricted.
10+
* You will also need a secure server in a development environment that requires
11+
the usage of security related features like encryption and client certificates.
12+
13+
* When installing a secure server, connecting it will thereafter be possible only
14+
for clients that own a valid, trusted certificate.
15+
To secure the server throughout its lifecycle, you can provide a suitable certificate
16+
during setup. The setup wizard allows you to either -
17+
* Generate and use a **Let's Encrypt certificate**,
18+
saving you the bother of providing your own certificate, and making it possible
19+
for RavenDB to renewal the certificate automatically from now on,
20+
* -or- Provide a **self-obtained certificate**,
21+
leaving you responsible for periodic certificate renewals.
22+
23+
{INFO: Additional resources}
24+
25+
* This page explains how to follow the setup wizard, without going into security concerns details.
26+
Learn more about _authentication_, _authorization_, and _security_ in RavenDB in:
27+
[Security overview](../../server/security/overview)
28+
29+
* Another helpful resource about setup and security: [Security common errors & FAQ](../../Server/Security/common-errors-and-faq)
30+
31+
* To learn how to **install RavenDB manually** rather than via the setup wizard: [Manual setup](../../start/installation/manual)
32+
{INFO/}
2733

2834
* In this page:
35+
* [Run the Setup Wizard](../../start/installation/setup-wizard#run-the-setup-wizard)
2936
* [Select Setup Mode](../../start/installation/setup-wizard#select-setup-mode)
3037
* [Secure Setup with a Free Let's Encrypt Certificate](../../start/installation/setup-wizard#secure-setup-with-a-free-let)
3138
* [Configuring The Server Addresses](../../start/installation/setup-wizard#configuring-the-server-addresses)
@@ -57,6 +64,20 @@ appearing:
5764

5865
---
5966

67+
{PANEL: Run the Setup Wizard}
68+
69+
To install RavenDB, you can:
70+
71+
* Download the RavenDB version you want to install from the [Downloads](https://ravendb.net/download) page.
72+
* Extract the downloaded archive to a folder on your machine.
73+
* Open a command prompt (e.g. PowerShell) and navigate to the setup folder.
74+
* Run setup:
75+
{CODE-BLOCK: plain}
76+
.\run.ps1
77+
{CODE-BLOCK/}
78+
79+
{PANEL/}
80+
6081
{PANEL:Select Setup Mode}
6182

6283
When running the RavenDB server for the first time, you will be redirected
@@ -71,33 +92,33 @@ to the setup wizard welcome page where you can choose your preferred option.
7192
[Let's Encrypt](https://letsencrypt.org/) is a free, automated, and non-profit certificate authority.
7293
It will generate a certificate for your domain as long as you can prove that you own it.
7394

74-
During the wizard, RavenDB will give you a free subdomain. This will let you configure the DNS records for
75-
this subdomain to point to the IP addresses your server will listen to. The subdomain is owned by RavenDB, and you can manage it
76-
through our [Customer Portal](https://customers.ravendb.net). Login with your license key, and you can add/remove/update DNS
77-
records for your cluster.
95+
During setup, RavenDB will provide you with a free subdomain and allow you to configure its DNS records
96+
with the IP addresses that your server will listen on.
97+
The subdomain is owned by RavenDB, and you can manage it through the [Customer Portal](https://customers.ravendb.net).
98+
Login with your license key, and you can add/remove/update DNS records for your cluster.
7899

79-
The free subdomain is given to you only for the purpose of proving ownership to Let's Encrypt. If you wish to use your own domain,
80-
you are welcome to acquire your own certificate and use that instead.
100+
The free subdomain is given to you only for the purpose of proving ownership to Let's Encrypt.
101+
If you wish to use your own domain, you are welcome to acquire your own certificate and use it instead.
81102

82103
{WARNING: Security consideration and ownership of certificates and domains}
83104

84105
The automatic setup is designed to be as convenient and as easy as possible. It takes care of all the details of setting up DNS
85106
records, generating certificates, and performing their renewals. Because of these requirements, the ownership of the certificates
86-
and DNS records needs to stay within the Hibernating Rhinos company. This gives us the ability to generate valid certificates and
107+
and DNS records needs to stay within the RavenDB company. This gives us the ability to generate valid certificates and
87108
modify DNS settings for your registered domains and should be a consideration to keep in mind while reviewing the security of your system.
88109

89-
Hibernating Rhinos will **never** exploit these abilities and will never perform any modifications to the certificates and DNS
110+
We will never exploit these abilities and never perform any modifications to the certificates and DNS
90111
records unless explicitly requested by the client.
91112

92-
The purpose of this feature is to make it easy for users to get set up and running with a minimum of fuss. We recommend that
93-
**for actual production deployments** and for the highest level of security and control, you'll
94-
[use your own certificates and domains](../../start/installation/setup-wizard#secure-setup-with-your-own-certificate),
113+
The purpose of this feature is to make it easy for users to get set up and running with the minimum fuss.
114+
We recommend that **for actual production deployments** and for the highest level of security and control,
115+
you will [use your own certificates and domains](../../start/installation/setup-wizard#secure-setup-with-your-own-certificate),
95116
avoiding the need to rely on a third party for such a critical part of your security.
96117

97118
{WARNING/}
98119

99120
After choosing the Let's Encrypt Secure Setup option, you are required to enter your license key which was sent to the email
100-
address you provided. This process will associate your license with the chosen subdomain to ensure that valid certificates can
121+
address you provided. This process will associate your license with your subdomain to ensure that valid certificates can
101122
only be generated by a single license holder.
102123

103124
![Enter License](images/setup/3.png "Enter License")

Documentation/5.2/Raven.Documentation.Pages/server/configuration/license-configuration.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
{PANEL:License}
44

5-
* When using this configuration key in _settings.json_ embed the license key as a __string__, e.g.:
5+
* When using this configuration key in _settings.json_ embed the license key as a **string**, e.g.:
66
`"License": "{ paste your license key including curly brackets here }"`.
77

8-
* When using this configuration key as an [environment variable](../../server/configuration/configuration-options#environment-variables) embed the JSON license key __object__.
8+
* When using this configuration key as an [environment variable](../../server/configuration/configuration-options#environment-variables) embed the JSON license key **object**.
99

1010
* If `License` is specified, it overrides the `License.Path` configuration.
1111

@@ -22,10 +22,10 @@
2222
Save the license key to a `license.json` file.
2323
Provide the path to this file in the 'License.Path' configuration key:
2424

25-
* Either the __full__ path to the license file, e.g.:
25+
* Either the **full** path to the license file, e.g.:
2626
`"License.Path": "D:\\RavenDB\\Server\\license.json"`
2727

28-
* Or, a __relative__ path to the license file from the Server folder, e.g.:
28+
* Or, a **relative** path to the license file from the Server folder, e.g.:
2929
`"License.Path": "License\\license.json"`
3030
(where 'License' folder is under the 'Server' folder)
3131

0 commit comments

Comments
 (0)