##// END OF EJS Templates
docs: fixed some build errors
marcink -
r2635:1a07b261 default
parent child Browse files
Show More
@@ -1,101 +1,101 b''
1 .. _sec-your-server:
1 .. _sec-sophos-umc:
2
2
3 Securing Your Server via Sophos UTM 9
3 Securing Your Server via Sophos UTM 9
4 -------------------------------------
4 -------------------------------------
5
5
6
6
7
7
8 Below is an example configuration for Sophos UTM 9 Webserver Protection::
8 Below is an example configuration for Sophos UTM 9 Webserver Protection::
9
9
10 Sophos UTM 9 Webserver Protection
10 Sophos UTM 9 Webserver Protection
11 Web Application Firewall based on apache2 modesecurity2
11 Web Application Firewall based on apache2 modesecurity2
12 --------------------------------------------------
12 --------------------------------------------------
13 1. Firewall Profiles -> Firewall Profile
13 1. Firewall Profiles -> Firewall Profile
14 --------------------------------------------------
14 --------------------------------------------------
15 Name: RhodeCode (can be anything)
15 Name: RhodeCode (can be anything)
16 Mode: Reject
16 Mode: Reject
17 Hardening & Signing:
17 Hardening & Signing:
18 [ ] Static URL hardeninig
18 [ ] Static URL hardeninig
19 [ ] Form hardening
19 [ ] Form hardening
20 [x] Cookie Signing
20 [x] Cookie Signing
21 Filtering:
21 Filtering:
22 [x] Block clients with bad reputation
22 [x] Block clients with bad reputation
23 [x] Common Threats Filter
23 [x] Common Threats Filter
24 [ ] Rigid Filtering
24 [ ] Rigid Filtering
25 Skip Filter Rules:
25 Skip Filter Rules:
26 960015
26 960015
27 950120
27 950120
28 981173
28 981173
29 970901
29 970901
30 960010
30 960010
31 960032
31 960032
32 960035
32 960035
33 958291
33 958291
34 970903
34 970903
35 970003
35 970003
36 Common Threat Filter Categories:
36 Common Threat Filter Categories:
37 [x] Protocol violations
37 [x] Protocol violations
38 [x] Protocol anomalies
38 [x] Protocol anomalies
39 [x] Request limit
39 [x] Request limit
40 [x] HTTP policy
40 [x] HTTP policy
41 [x] Bad robots
41 [x] Bad robots
42 [x] Generic attacks
42 [x] Generic attacks
43 [x] SQL injection attacks
43 [x] SQL injection attacks
44 [x] XSS attacks
44 [x] XSS attacks
45 [x] Tight security
45 [x] Tight security
46 [x] Trojans
46 [x] Trojans
47 [x] Outbound
47 [x] Outbound
48 Scanning:
48 Scanning:
49 [ ] Enable antivirus scanning
49 [ ] Enable antivirus scanning
50 [ ] Block uploads by MIME type
50 [ ] Block uploads by MIME type
51 --------------------------------------------------
51 --------------------------------------------------
52 2. Web Application Firewall -> Real Webservers
52 2. Web Application Firewall -> Real Webservers
53 --------------------------------------------------
53 --------------------------------------------------
54 Name: RhodeCode (can be anything)
54 Name: RhodeCode (can be anything)
55 Host: Your RhodeCode-Server (UTM object)
55 Host: Your RhodeCode-Server (UTM object)
56 Type: Encrypted (HTTPS)
56 Type: Encrypted (HTTPS)
57 Port: 443
57 Port: 443
58 --------------------------------------------------
58 --------------------------------------------------
59 3. Web Application Firewall -> Virual Webservers
59 3. Web Application Firewall -> Virual Webservers
60 --------------------------------------------------
60 --------------------------------------------------
61 Name: RhodeCode (can be anything)
61 Name: RhodeCode (can be anything)
62 Interface: WAN (your WAN interface)
62 Interface: WAN (your WAN interface)
63 Type: Encrypted (HTTPS) & redirect
63 Type: Encrypted (HTTPS) & redirect
64 Certificate: Wildcard or matching domain certificate
64 Certificate: Wildcard or matching domain certificate
65 Domains (in case of Wildcard certificate):
65 Domains (in case of Wildcard certificate):
66 rhodecode.yourcompany.com (match your DNS configuration)
66 rhodecode.yourcompany.com (match your DNS configuration)
67 gist.yourcompany.com (match your DNS & RhodeCode configuration)
67 gist.yourcompany.com (match your DNS & RhodeCode configuration)
68 Real Webservers for path '/':
68 Real Webservers for path '/':
69 [x] RhodeCode (created in step 2)
69 [x] RhodeCode (created in step 2)
70 Firewall: RhodeCode (created in step 1)
70 Firewall: RhodeCode (created in step 1)
71 --------------------------------------------------
71 --------------------------------------------------
72 4. Firewall Profiles -> Exceptions
72 4. Firewall Profiles -> Exceptions
73 --------------------------------------------------
73 --------------------------------------------------
74 Name: RhodeCode exceptions (can be anything)
74 Name: RhodeCode exceptions (can be anything)
75 Skip these checks:
75 Skip these checks:
76 [ ] Cookie signing
76 [ ] Cookie signing
77 [ ] Static URL Hardening
77 [ ] Static URL Hardening
78 [ ] Form hardening
78 [ ] Form hardening
79 [x] Antivirus scanning
79 [x] Antivirus scanning
80 [x] True file type control
80 [x] True file type control
81 [ ] Block clients with bad reputation
81 [ ] Block clients with bad reputation
82 Skip these categories:
82 Skip these categories:
83 [ ] Protocol violations
83 [ ] Protocol violations
84 [x] Protocol anomalies
84 [x] Protocol anomalies
85 [x] Request limits
85 [x] Request limits
86 [ ] HTTP policy
86 [ ] HTTP policy
87 [ ] Bad robots
87 [ ] Bad robots
88 [ ] Generic attacks
88 [ ] Generic attacks
89 [ ] SQL injection attacks
89 [ ] SQL injection attacks
90 [ ] XSS attacks
90 [ ] XSS attacks
91 [ ] Tight security
91 [ ] Tight security
92 [ ] Trojans
92 [ ] Trojans
93 [x] Outbound
93 [x] Outbound
94 Virtual Webservers:
94 Virtual Webservers:
95 [x] RhodeCode (created in step 3)
95 [x] RhodeCode (created in step 3)
96 For All Requests:
96 For All Requests:
97 Web requests matching this pattern:
97 Web requests matching this pattern:
98 /_channelstream/ws
98 /_channelstream/ws
99 /Repository1/*
99 /Repository1/*
100 /Repository2/*
100 /Repository2/*
101 /Repository3/* No newline at end of file
101 /Repository3/*
@@ -1,317 +1,317 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 #
2 #
3 # RhodeCode Enterprise documentation build configuration file, created by
3 # RhodeCode Enterprise documentation build configuration file, created by
4 # sphinx-quickstart on Tue Nov 4 11:48:37 2014.
4 # sphinx-quickstart on Tue Nov 4 11:48:37 2014.
5 #
5 #
6 # This file is execfile()d with the current directory set to its
6 # This file is execfile()d with the current directory set to its
7 # containing dir.
7 # containing dir.
8 #
8 #
9 # Note that not all possible configuration values are present in this
9 # Note that not all possible configuration values are present in this
10 # autogenerated file.
10 # autogenerated file.
11 #
11 #
12 # All configuration values have a default; values that are commented out
12 # All configuration values have a default; values that are commented out
13 # serve to show the default.
13 # serve to show the default.
14
14
15 import sys
15 import sys
16 import os
16 import os
17 import datetime
17 import datetime
18 import sphinx_rtd_theme
18 import sphinx_rtd_theme
19
19
20 # If extensions (or modules to document with autodoc) are in another directory,
20 # If extensions (or modules to document with autodoc) are in another directory,
21 # add these directories to sys.path here. If the directory is relative to the
21 # add these directories to sys.path here. If the directory is relative to the
22 # documentation root, use os.path.abspath to make it absolute, like shown here.
22 # documentation root, use os.path.abspath to make it absolute, like shown here.
23 sys.path.insert(0, os.path.abspath('.'))
23 sys.path.insert(0, os.path.abspath('.'))
24 import common
24 import common
25
25
26 # -- General configuration ------------------------------------------------
26 # -- General configuration ------------------------------------------------
27
27
28 # If your documentation needs a minimal Sphinx version, state it here.
28 # If your documentation needs a minimal Sphinx version, state it here.
29 #needs_sphinx = '1.0'
29 #needs_sphinx = '1.0'
30
30
31 # Add any Sphinx extension module names here, as strings. They can be
31 # Add any Sphinx extension module names here, as strings. They can be
32 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
33 # ones.
33 # ones.
34 extensions = [
34 extensions = [
35 'sphinx.ext.intersphinx',
35 'sphinx.ext.intersphinx',
36 'sphinx.ext.todo',
36 'sphinx.ext.todo',
37 'sphinx.ext.pngmath'
37 'sphinx.ext.imgmath'
38 ]
38 ]
39
39
40 intersphinx_mapping = {
40 intersphinx_mapping = {
41 'enterprise': ('https://docs.rhodecode.com/RhodeCode-Enterprise/', None),
41 'enterprise': ('https://docs.rhodecode.com/RhodeCode-Enterprise/', None),
42 'control': ('https://docs.rhodecode.com/RhodeCode-Control/', None),
42 'control': ('https://docs.rhodecode.com/RhodeCode-Control/', None),
43 }
43 }
44
44
45 if tags.has('dev'):
45 if tags.has('dev'):
46 intersphinx_mapping.update({
46 intersphinx_mapping.update({
47 'enterprise': ('https://ci.rhodecode.com/documentation/Momentum/', None),
47 'enterprise': ('https://ci.rhodecode.com/documentation/Momentum/', None),
48 'control': ('https://ci.rhodecode.com/documentation/Control/', None),
48 'control': ('https://ci.rhodecode.com/documentation/Control/', None),
49 })
49 })
50
50
51
51
52 # Add any paths that contain templates here, relative to this directory.
52 # Add any paths that contain templates here, relative to this directory.
53 templates_path = ['_templates']
53 templates_path = ['_templates']
54
54
55 # The suffix of source filenames.
55 # The suffix of source filenames.
56 source_suffix = '.rst'
56 source_suffix = '.rst'
57
57
58 # The encoding of source files.
58 # The encoding of source files.
59 #source_encoding = 'utf-8-sig'
59 #source_encoding = 'utf-8-sig'
60
60
61 # The master toctree document.
61 # The master toctree document.
62 master_doc = 'index'
62 master_doc = 'index'
63
63
64 # The version info for the project you're documenting, acts as replacement for
64 # The version info for the project you're documenting, acts as replacement for
65 # |version| and |release|, also used in various other places throughout the
65 # |version| and |release|, also used in various other places throughout the
66 # built documents.
66 # built documents.
67
67
68 # TODO: johbo: Move into common package for documentation utilities
68 # TODO: johbo: Move into common package for documentation utilities
69 def _get_version():
69 def _get_version():
70 with open('../rhodecode/VERSION') as f:
70 with open('../rhodecode/VERSION') as f:
71 return f.read().strip()
71 return f.read().strip()
72
72
73 # The full version, including alpha/beta/rc tags.
73 # The full version, including alpha/beta/rc tags.
74 release = _get_version()
74 release = _get_version()
75 # The short X.Y version.
75 # The short X.Y version.
76 version = '.'.join(release.split('.', 2)[:2]) # First two parts of release
76 version = '.'.join(release.split('.', 2)[:2]) # First two parts of release
77
77
78 # General information about the project.
78 # General information about the project.
79 project = u'RhodeCode Enterprise %s ' % _get_version()
79 project = u'RhodeCode Enterprise %s ' % _get_version()
80 copyright = u'2010-{now.year}, RhodeCode GmbH'.format(
80 copyright = u'2010-{now.year}, RhodeCode GmbH'.format(
81 now=datetime.datetime.today())
81 now=datetime.datetime.today())
82
82
83
83
84 # The language for content autogenerated by Sphinx. Refer to documentation
84 # The language for content autogenerated by Sphinx. Refer to documentation
85 # for a list of supported languages.
85 # for a list of supported languages.
86 #language = None
86 #language = None
87
87
88 rst_epilog = common.rst_epilog + """
88 rst_epilog = common.rst_epilog + """
89 .. |async| replace:: asynchronous
89 .. |async| replace:: asynchronous
90 """
90 """
91
91
92 # There are two options for replacing |today|: either, you set today to some
92 # There are two options for replacing |today|: either, you set today to some
93 # non-false value, then it is used:
93 # non-false value, then it is used:
94 #today = ''
94 #today = ''
95 # Else, today_fmt is used as the format for a strftime call.
95 # Else, today_fmt is used as the format for a strftime call.
96 #today_fmt = '%B %d, %Y'
96 #today_fmt = '%B %d, %Y'
97
97
98 # List of patterns, relative to source directory, that match files and
98 # List of patterns, relative to source directory, that match files and
99 # directories to ignore when looking for source files.
99 # directories to ignore when looking for source files.
100 exclude_patterns = [
100 exclude_patterns = [
101 # Special directories
101 # Special directories
102 '_build',
102 '_build',
103 'result',
103 'result',
104
104
105 # Other RST files
105 # Other RST files
106 'admin/rhodecode-backup.rst',
106 'admin/rhodecode-backup.rst',
107 'auth/ldap-configuration-example.rst',
107 'auth/ldap-configuration-example.rst',
108 'issue-trackers/redmine.rst',
108 'issue-trackers/redmine.rst',
109 'known-issues/error-msg-guide.rst',
109 'known-issues/error-msg-guide.rst',
110 'tutorials/docs-build.rst',
110 'tutorials/docs-build.rst',
111 'integrations/example-ext.py',
111 'integrations/example-ext.py',
112 'collaboration/supported-workflows.rst',
112 'collaboration/supported-workflows.rst',
113 ]
113 ]
114
114
115
115
116 # The reST default role (used for this markup: `text`) to use for all
116 # The reST default role (used for this markup: `text`) to use for all
117 # documents.
117 # documents.
118 #default_role = None
118 #default_role = None
119
119
120 # If true, '()' will be appended to :func: etc. cross-reference text.
120 # If true, '()' will be appended to :func: etc. cross-reference text.
121 #add_function_parentheses = True
121 #add_function_parentheses = True
122
122
123 # If true, the current module name will be prepended to all description
123 # If true, the current module name will be prepended to all description
124 # unit titles (such as .. function::).
124 # unit titles (such as .. function::).
125 #add_module_names = True
125 #add_module_names = True
126
126
127 # If true, sectionauthor and moduleauthor directives will be shown in the
127 # If true, sectionauthor and moduleauthor directives will be shown in the
128 # output. They are ignored by default.
128 # output. They are ignored by default.
129 #show_authors = False
129 #show_authors = False
130
130
131 # The name of the Pygments (syntax highlighting) style to use.
131 # The name of the Pygments (syntax highlighting) style to use.
132 pygments_style = 'sphinx'
132 pygments_style = 'sphinx'
133
133
134 # A list of ignored prefixes for module index sorting.
134 # A list of ignored prefixes for module index sorting.
135 #modindex_common_prefix = []
135 #modindex_common_prefix = []
136
136
137 # If true, keep warnings as "system message" paragraphs in the built documents.
137 # If true, keep warnings as "system message" paragraphs in the built documents.
138 keep_warnings = tags.has("dev")
138 keep_warnings = tags.has("dev")
139
139
140
140
141 # -- Options for HTML output ----------------------------------------------
141 # -- Options for HTML output ----------------------------------------------
142
142
143 # The theme to use for HTML and HTML Help pages. See the documentation for
143 # The theme to use for HTML and HTML Help pages. See the documentation for
144 # a list of builtin themes.
144 # a list of builtin themes.
145 #html_theme = 'rctheme'
145 #html_theme = 'rctheme'
146 html_theme = 'sphinx_rtd_theme'
146 html_theme = 'sphinx_rtd_theme'
147
147
148 # Theme options are theme-specific and customize the look and feel of a theme
148 # Theme options are theme-specific and customize the look and feel of a theme
149 # further. For a list of options available for each theme, see the
149 # further. For a list of options available for each theme, see the
150 # documentation.
150 # documentation.
151 #html_theme_options = {}
151 #html_theme_options = {}
152 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
152 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
153
153
154 # Add any paths that contain custom themes here, relative to this directory.
154 # Add any paths that contain custom themes here, relative to this directory.
155 #html_theme_path = []
155 #html_theme_path = []
156
156
157 # The name for this set of Sphinx documents. If None, it defaults to
157 # The name for this set of Sphinx documents. If None, it defaults to
158 # "<project> v<release> documentation".
158 # "<project> v<release> documentation".
159 #html_title = None
159 #html_title = None
160
160
161 # A shorter title for the navigation bar. Default is the same as html_title.
161 # A shorter title for the navigation bar. Default is the same as html_title.
162 #html_short_title = None
162 #html_short_title = None
163
163
164 # The name of an image file (relative to this directory) to place at the top
164 # The name of an image file (relative to this directory) to place at the top
165 # of the sidebar.
165 # of the sidebar.
166 #html_logo = None
166 #html_logo = None
167 html_sidebars = {
167 html_sidebars = {
168 '**': ['globaltoc.html'],
168 '**': ['globaltoc.html'],
169 }
169 }
170
170
171 # The name of an image file (within the static path) to use as favicon of the
171 # The name of an image file (within the static path) to use as favicon of the
172 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
172 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
173 # pixels large.
173 # pixels large.
174 html_favicon = 'images/favicon.ico'
174 html_favicon = 'images/favicon.ico'
175
175
176 # Add any paths that contain custom static files (such as style sheets) here,
176 # Add any paths that contain custom static files (such as style sheets) here,
177 # relative to this directory. They are copied after the builtin static files,
177 # relative to this directory. They are copied after the builtin static files,
178 # so a file named "default.css" will overwrite the builtin "default.css".
178 # so a file named "default.css" will overwrite the builtin "default.css".
179 html_static_path = ['static/css/add.css']
179 html_static_path = ['static/css/add.css']
180
180
181 # Add any extra paths that contain custom files (such as robots.txt or
181 # Add any extra paths that contain custom files (such as robots.txt or
182 # .htaccess) here, relative to this directory. These files are copied
182 # .htaccess) here, relative to this directory. These files are copied
183 # directly to the root of the documentation.
183 # directly to the root of the documentation.
184 #html_extra_path = []
184 #html_extra_path = []
185
185
186 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
186 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
187 # using the given strftime format.
187 # using the given strftime format.
188 #html_last_updated_fmt = '%b %d, %Y'
188 #html_last_updated_fmt = '%b %d, %Y'
189
189
190 # If true, SmartyPants will be used to convert quotes and dashes to
190 # If true, SmartyPants will be used to convert quotes and dashes to
191 # typographically correct entities.
191 # typographically correct entities.
192 #html_use_smartypants = True
192 #html_use_smartypants = True
193
193
194 # Custom sidebar templates, maps document names to template names.
194 # Custom sidebar templates, maps document names to template names.
195 #html_sidebars = {}
195 #html_sidebars = {}
196
196
197 # Additional templates that should be rendered to pages, maps page names to
197 # Additional templates that should be rendered to pages, maps page names to
198 # template names.
198 # template names.
199 #html_additional_pages = {}
199 #html_additional_pages = {}
200
200
201 # If false, no module index is generated.
201 # If false, no module index is generated.
202 #html_domain_indices = True
202 #html_domain_indices = True
203
203
204 # If false, no index is generated.
204 # If false, no index is generated.
205 #html_use_index = True
205 #html_use_index = True
206
206
207 # If true, the index is split into individual pages for each letter.
207 # If true, the index is split into individual pages for each letter.
208 #html_split_index = False
208 #html_split_index = False
209
209
210 # If true, links to the reST sources are added to the pages.
210 # If true, links to the reST sources are added to the pages.
211 #html_show_sourcelink = True
211 #html_show_sourcelink = True
212
212
213 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
213 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
214 #html_show_sphinx = True
214 #html_show_sphinx = True
215
215
216 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
216 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
217 #html_show_copyright = True
217 #html_show_copyright = True
218
218
219 # If true, an OpenSearch description file will be output, and all pages will
219 # If true, an OpenSearch description file will be output, and all pages will
220 # contain a <link> tag referring to it. The value of this option must be the
220 # contain a <link> tag referring to it. The value of this option must be the
221 # base URL from which the finished HTML is served.
221 # base URL from which the finished HTML is served.
222 #html_use_opensearch = ''
222 #html_use_opensearch = ''
223
223
224 # This is the file name suffix for HTML files (e.g. ".xhtml").
224 # This is the file name suffix for HTML files (e.g. ".xhtml").
225 #html_file_suffix = None
225 #html_file_suffix = None
226
226
227 # Output file base name for HTML help builder.
227 # Output file base name for HTML help builder.
228 htmlhelp_basename = 'rhodecode-enterprise'
228 htmlhelp_basename = 'rhodecode-enterprise'
229
229
230
230
231 # -- Options for LaTeX output ---------------------------------------------
231 # -- Options for LaTeX output ---------------------------------------------
232
232
233 latex_elements = {
233 latex_elements = {
234 'classoptions': ',oneside',
234 'classoptions': ',oneside',
235 'babel': '\\usepackage[english]{babel}',
235 'babel': '\\usepackage[english]{babel}',
236
236
237 # The paper size ('letterpaper' or 'a4paper').
237 # The paper size ('letterpaper' or 'a4paper').
238 #'papersize': 'letterpaper',
238 #'papersize': 'letterpaper',
239
239
240 # The font size ('10pt', '11pt' or '12pt').
240 # The font size ('10pt', '11pt' or '12pt').
241 #'pointsize': '10pt',
241 #'pointsize': '10pt',
242
242
243 # Additional stuff for the LaTeX preamble.
243 # Additional stuff for the LaTeX preamble.
244 #'preamble': '',
244 #'preamble': '',
245 }
245 }
246
246
247 # Grouping the document tree into LaTeX files. List of tuples
247 # Grouping the document tree into LaTeX files. List of tuples
248 # (source start file, target name, title,
248 # (source start file, target name, title,
249 # author, documentclass [howto, manual, or own class]).
249 # author, documentclass [howto, manual, or own class]).
250 latex_documents = [
250 latex_documents = [
251 ('index', 'RhodeCodeEnterprise.tex', u'RhodeCode Enterprise',
251 ('index', 'RhodeCodeEnterprise.tex', u'RhodeCode Enterprise',
252 u'RhodeCode GmbH', 'manual'),
252 u'RhodeCode GmbH', 'manual'),
253 ]
253 ]
254
254
255 # The name of an image file (relative to this directory) to place at the top of
255 # The name of an image file (relative to this directory) to place at the top of
256 # the title page.
256 # the title page.
257 #latex_logo = None
257 #latex_logo = None
258
258
259 # For "manual" documents, if this is true, then toplevel headings are parts,
259 # For "manual" documents, if this is true, then toplevel headings are parts,
260 # not chapters.
260 # not chapters.
261 #latex_use_parts = False
261 #latex_use_parts = False
262
262
263 # If true, show page references after internal links.
263 # If true, show page references after internal links.
264 latex_show_pagerefs = True
264 latex_show_pagerefs = True
265
265
266 # If true, show URL addresses after external links.
266 # If true, show URL addresses after external links.
267 latex_show_urls = 'footnote'
267 latex_show_urls = 'footnote'
268
268
269 # Documents to append as an appendix to all manuals.
269 # Documents to append as an appendix to all manuals.
270 #latex_appendices = []
270 #latex_appendices = []
271
271
272 # If false, no module index is generated.
272 # If false, no module index is generated.
273 #latex_domain_indices = True
273 #latex_domain_indices = True
274
274
275 # Mode for literal blocks wider than the frame. Can be
275 # Mode for literal blocks wider than the frame. Can be
276 # overflow, shrink or truncate
276 # overflow, shrink or truncate
277 pdf_fit_mode = "truncate"
277 pdf_fit_mode = "truncate"
278
278
279
279
280 # -- Options for manual page output ---------------------------------------
280 # -- Options for manual page output ---------------------------------------
281
281
282 # One entry per manual page. List of tuples
282 # One entry per manual page. List of tuples
283 # (source start file, name, description, authors, manual section).
283 # (source start file, name, description, authors, manual section).
284 man_pages = [
284 man_pages = [
285 ('index', 'rhodecodeenterprise', u'RhodeCode Enterprise',
285 ('index', 'rhodecodeenterprise', u'RhodeCode Enterprise',
286 [u'RhodeCode GmbH'], 1)
286 [u'RhodeCode GmbH'], 1)
287 ]
287 ]
288
288
289 # If true, show URL addresses after external links.
289 # If true, show URL addresses after external links.
290 #man_show_urls = False
290 #man_show_urls = False
291
291
292
292
293 # -- Options for Texinfo output -------------------------------------------
293 # -- Options for Texinfo output -------------------------------------------
294
294
295 # Grouping the document tree into Texinfo files. List of tuples
295 # Grouping the document tree into Texinfo files. List of tuples
296 # (source start file, target name, title, author,
296 # (source start file, target name, title, author,
297 # dir menu entry, description, category)
297 # dir menu entry, description, category)
298 texinfo_documents = [
298 texinfo_documents = [
299 ('index', 'RhodeCodeEnterprise', u'RhodeCode Enterprise',
299 ('index', 'RhodeCodeEnterprise', u'RhodeCode Enterprise',
300 u'RhodeCode Docs Team', 'RhodeCodeEnterprise', 'RhodeCode Docs Project',
300 u'RhodeCode Docs Team', 'RhodeCodeEnterprise', 'RhodeCode Docs Project',
301 'Miscellaneous'),
301 'Miscellaneous'),
302 ]
302 ]
303
303
304 # Documents to append as an appendix to all manuals.
304 # Documents to append as an appendix to all manuals.
305 #texinfo_appendices = []
305 #texinfo_appendices = []
306
306
307 # If false, no module index is generated.
307 # If false, no module index is generated.
308 #texinfo_domain_indices = True
308 #texinfo_domain_indices = True
309
309
310 # How to display URL addresses: 'footnote', 'no', or 'inline'.
310 # How to display URL addresses: 'footnote', 'no', or 'inline'.
311 #texinfo_show_urls = 'footnote'
311 #texinfo_show_urls = 'footnote'
312
312
313 # If true, do not generate a @detailmenu in the "Top" node's menu.
313 # If true, do not generate a @detailmenu in the "Top" node's menu.
314 #texinfo_no_detailmenu = False
314 #texinfo_no_detailmenu = False
315
315
316 # We want to see todo notes in case of a pre-release build of the documentation
316 # We want to see todo notes in case of a pre-release build of the documentation
317 todo_include_todos = tags.has("dev")
317 todo_include_todos = tags.has("dev")
@@ -1,220 +1,220 b''
1 .. _hosted-solution:
1 .. _hosted-solution:
2
2
3 Deploy |RCE| From a Hosted Server
3 Deploy |RCE| From a Hosted Server
4 =================================
4 =================================
5
5
6 If you wish to deploy your own |RCE| instance from something like a
6 If you wish to deploy your own |RCE| instance from something like a
7 `Digital Ocean`_ droplet, or a `hetzner`_ server use the following
7 `Digital Ocean`_ droplet, or a `hetzner`_ server use the following
8 instructions to get it setup.
8 instructions to get it setup.
9
9
10 I'm using an Ubuntu 14.04 image for the purposes of this
10 I'm using an Ubuntu 14.04 image for the purposes of this
11 tutorial, but all other Unix environments will be pretty similar. You can
11 tutorial, but all other Unix environments will be pretty similar. You can
12 check out the full lists of supported platforms and versions in the
12 check out the full lists of supported platforms and versions in the
13 :ref:`system-overview-ref` section.
13 :ref:`system-overview-ref` section.
14
14
15
15
16 Create a Digital Ocean Droplet
16 Create a Digital Ocean Droplet
17 ------------------------------
17 ------------------------------
18
18
19 1. Sign into Digital Ocean.
19 1. Sign into Digital Ocean.
20 2. Create a Droplet choosing Ubuntu 14.04 as your |os|.
20 2. Create a Droplet choosing Ubuntu 14.04 as your |os|.
21 3. (Optional) Add SSH keys if you have them set up.
21 3. (Optional) Add SSH keys if you have them set up.
22
22
23 Configure Your Server
23 Configure Your Server
24 ---------------------
24 ---------------------
25
25
26 Once you have your server created, you need to sign into it and set it up to
26 Once you have your server created, you need to sign into it and set it up to
27 host |RCE|.
27 host |RCE|.
28
28
29 1. Open a terminal and sign into your server. Digital Ocean will mail you the
29 1. Open a terminal and sign into your server. Digital Ocean will mail you the
30 IP address. You'll need to change your password on the first login if you
30 IP address. You'll need to change your password on the first login if you
31 don not have SSH keys set up.
31 don not have SSH keys set up.
32
32
33 .. code-block:: bash
33 .. code-block:: bash
34
34
35 $ ssh root@203.0.113.113
35 $ ssh root@203.0.113.113
36
36
37 2. It is not advised to install |RCE| as the ``root`` user. So create a user
37 2. It is not advised to install |RCE| as the ``root`` user. So create a user
38 with sudo permissions and then carry out the rest of the steps from that user
38 with sudo permissions and then carry out the rest of the steps from that user
39 account.
39 account.
40
40
41 .. code-block:: bash
41 .. code-block:: bash
42
42
43 # Create a user with sudo permissions
43 # Create a user with sudo permissions
44 root@rhodecode:~# sudo useradd -m -s /bin/bash -d /home/brian -U brian
44 root@rhodecode:~# sudo useradd -m -s /bin/bash -d /home/brian -U brian
45 root@rhodecode:~# sudo usermod -a -G sudo brian
45 root@rhodecode:~# sudo usermod -a -G sudo brian
46
46
47 # Set the password for that user
47 # Set the password for that user
48 root@rhodecode:~# passwd brian
48 root@rhodecode:~# passwd brian
49 Enter new UNIX password:
49 Enter new UNIX password:
50 Retype new UNIX password:
50 Retype new UNIX password:
51 passwd: password updated successfully
51 passwd: password updated successfully
52
52
53 # Switch to that user for the rest of the steps
53 # Switch to that user for the rest of the steps
54 root@rhodecode:~# su brian
54 root@rhodecode:~# su brian
55
55
56 # You should see your home dir change to what was set during installation
56 # You should see your home dir change to what was set during installation
57 brian@rhodecode:~$ cd ~
57 brian@rhodecode:~$ cd ~
58 brian@rhodecode:~$ pwd
58 brian@rhodecode:~$ pwd
59 /home/brian
59 /home/brian
60
60
61 Once you have this set up, you are ready to install |RCC|.
61 Once you have this set up, you are ready to install |RCC|.
62
62
63 Install |RCC|
63 Install |RCC|
64 -------------
64 -------------
65
65
66 |RCC| will install and manage the package dependencies for your |RCE| instance.
66 |RCC| will install and manage the package dependencies for your |RCE| instance.
67
67
68 1. Download the |RCC| installer from https://rhodecode.com/download/
68 1. Download the |RCC| installer from https://rhodecode.com/download/
69 2. Once downloaded to your computer, transfer the package to your server
69 2. Once downloaded to your computer, transfer the package to your server
70
70
71 .. note::
71 .. note::
72
72
73 These steps happen on your computer, not on the server.
73 These steps happen on your computer, not on the server.
74
74
75 .. code-block:: bash
75 .. code-block:: bash
76
76
77 # Change to where the file is downloaded
77 # Change to where the file is downloaded
78 $ cd Downloads/
78 $ cd Downloads/
79
79
80 # SFTP to your server
80 # SFTP to your server
81 $ sftp brian@203.0.113.113
81 $ sftp brian@203.0.113.113
82
82
83 # Use mput to transfer the file
83 # Use mput to transfer the file
84 sftp> mput RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
84 sftp> mput RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
85 Uploading RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3 to /home/brian/RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
85 Uploading RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3 to /home/brian/RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
86 RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d 100% 289MB 4.1MB/s 01:11
86 RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d 100% 289MB 4.1MB/s 01:11
87 sftp> exit
87 sftp> exit
88
88
89 The |RCC| installer is now on your server, and you can read the full
89 The |RCC| installer is now on your server, and you can read the full
90 instructions here
90 instructions here
91 :ref:`Install RhodeCode Control <control:rcc-install-ref>`,
91 :ref:`Install RhodeCode Control <control:rcc-linux-ref>` ,
92 but below is the example shortcut.
92 but below is the example shortcut.
93
93
94 .. code-block:: bash
94 .. code-block:: bash
95
95
96 # Check that the script is uploaded to your home directory
96 # Check that the script is uploaded to your home directory
97 $ ls -1
97 $ ls -1
98 RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
98 RhodeCode-installer-linux-391_b1a804c4d69b_d6c087d520e3
99
99
100 # Change the script permissions
100 # Change the script permissions
101 $ chmod 755 RhodeCode-installer-linux*
101 $ chmod 755 RhodeCode-installer-linux*
102
102
103 # Run the installer and accept the prompts
103 # Run the installer and accept the prompts
104 $ ./RhodeCode-installer-linux-*
104 $ ./RhodeCode-installer-linux-*
105
105
106 .. important::
106 .. important::
107
107
108 Once finished, exit the terminal and sign in again. This is to refresh you
108 Once finished, exit the terminal and sign in again. This is to refresh you
109 session to pick up the new commands.
109 session to pick up the new commands.
110
110
111 Install |RCE|
111 Install |RCE|
112 -------------
112 -------------
113
113
114 Now that |RCC| is installed, you can install |RCE|. For the full
114 Now that |RCC| is installed, you can install |RCE|. For the full
115 instructions, see
115 instructions, see
116 :ref:`Install RhodeCode Enterprise <control:rce-cli-install-ref>`,
116 :ref:`Install RhodeCode Enterprise <control:rce-cli-install-ref>`,
117 but the below is an example shortcut.
117 but the below is an example shortcut.
118
118
119 .. code-block:: bash
119 .. code-block:: bash
120
120
121 # Install a VCS Server and follow the prompts
121 # Install a VCS Server and follow the prompts
122 $ rccontrol install VCSServer --start-at-boot
122 $ rccontrol install VCSServer --start-at-boot
123
123
124 Extracting VCSServer ...
124 Extracting VCSServer ...
125 Configuring RhodeCode VCS Server ...
125 Configuring RhodeCode VCS Server ...
126 Supervisord state is: RUNNING
126 Supervisord state is: RUNNING
127 Added process group vcsserver-1
127 Added process group vcsserver-1
128
128
129 # Install a RhodeCode Enterprise instance and follow the prompts
129 # Install a RhodeCode Enterprise instance and follow the prompts
130 $ rccontrol install Enterprise --start-at-boot
130 $ rccontrol install Enterprise --start-at-boot
131
131
132 Configuration of RhodeCode Enterprise passed.
132 Configuration of RhodeCode Enterprise passed.
133 Supervisord state is: RUNNING
133 Supervisord state is: RUNNING
134 Added process group enterprise-1
134 Added process group enterprise-1
135
135
136 |RCE| is now installed on your server, and is running on the port displayed
136 |RCE| is now installed on your server, and is running on the port displayed
137 by the ``rccontrol status`` command.
137 by the ``rccontrol status`` command.
138
138
139 .. code-block:: bash
139 .. code-block:: bash
140
140
141 brian@rhodecode:~$ rccontrol status
141 brian@rhodecode:~$ rccontrol status
142
142
143 - NAME: enterprise-1
143 - NAME: enterprise-1
144 - STATUS: RUNNING
144 - STATUS: RUNNING
145 - TYPE: Enterprise
145 - TYPE: Enterprise
146 - VERSION: 3.1.1
146 - VERSION: 3.1.1
147 - URL: http://127.0.0.1:10002
147 - URL: http://127.0.0.1:10002
148
148
149 - NAME: vcsserver-1
149 - NAME: vcsserver-1
150 - STATUS: RUNNING
150 - STATUS: RUNNING
151 - TYPE: VCSServer
151 - TYPE: VCSServer
152 - VERSION: 1.1.1
152 - VERSION: 1.1.1
153 - URL: http://127.0.0.1:10001
153 - URL: http://127.0.0.1:10001
154
154
155 Serve |RCE| using Nginx
155 Serve |RCE| using Nginx
156 -----------------------
156 -----------------------
157
157
158 Now that |RCE| is running, you need to use Nginx or Apache to serve it to
158 Now that |RCE| is running, you need to use Nginx or Apache to serve it to
159 users. For detailed instructions about setting up your webserver, see the
159 users. For detailed instructions about setting up your webserver, see the
160 :ref:`rhodecode-admin-ref` section. But the below shortcut should help serve
160 :ref:`rhodecode-admin-ref` section. But the below shortcut should help serve
161 it.
161 it.
162
162
163 1. Install Nginx on your server.
163 1. Install Nginx on your server.
164
164
165 .. code-block:: bash
165 .. code-block:: bash
166
166
167 # Install nginx
167 # Install nginx
168 $ sudo apt-get install nginx
168 $ sudo apt-get install nginx
169
169
170 2. Create a virtual hosts file for RhodeCode Enterprise. Create
170 2. Create a virtual hosts file for RhodeCode Enterprise. Create
171 the file in this location :file:`/etc/nginx/sites-available`. In this demo
171 the file in this location :file:`/etc/nginx/sites-available`. In this demo
172 I have called it ``vcs.conf``
172 I have called it ``vcs.conf``
173
173
174 .. code-block:: bash
174 .. code-block:: bash
175
175
176 # Create the file
176 # Create the file
177 $ sudo vi /etc/nginx/sites-available/vcs.conf
177 $ sudo vi /etc/nginx/sites-available/vcs.conf
178
178
179 Use the following example to create yours.
179 Use the following example to create yours.
180
180
181 .. code-block:: nginx
181 .. code-block:: nginx
182
182
183 server {
183 server {
184 listen 80;
184 listen 80;
185 # Change to your IP, or a domain name if you've set that up
185 # Change to your IP, or a domain name if you've set that up
186 server_name 203.0.113.113 ;
186 server_name 203.0.113.113 ;
187
187
188 location / {
188 location / {
189 # Set this line to match the RhodeCode Enterprise Instance URL
189 # Set this line to match the RhodeCode Enterprise Instance URL
190 proxy_pass http://127.0.0.1:10002/;
190 proxy_pass http://127.0.0.1:10002/;
191 proxy_set_header Host $Host;
191 proxy_set_header Host $Host;
192 proxy_buffering off;
192 proxy_buffering off;
193 # Setting this to a high number allows large repo pushes
193 # Setting this to a high number allows large repo pushes
194 client_max_body_size 4G;
194 client_max_body_size 4G;
195 }
195 }
196 }
196 }
197
197
198 3. Symlink the virtual hosts file to the ``sites-enabled`` folder,
198 3. Symlink the virtual hosts file to the ``sites-enabled`` folder,
199 and then restart Nginx.
199 and then restart Nginx.
200
200
201 .. code-block:: bash
201 .. code-block:: bash
202
202
203 # Symlink the virtual hosts file
203 # Symlink the virtual hosts file
204 $ ln -s /etc/nginx/sites-available/vcs.conf /etc/nginx/sites-enabled/vcs.conf
204 $ ln -s /etc/nginx/sites-available/vcs.conf /etc/nginx/sites-enabled/vcs.conf
205
205
206 # You can also delete the Nginx default symlink
206 # You can also delete the Nginx default symlink
207 $ rm /etc/nginx/sites-enabled/default
207 $ rm /etc/nginx/sites-enabled/default
208
208
209 # Restart Nginx
209 # Restart Nginx
210 $ sudo /etc/init.d/nginx restart
210 $ sudo /etc/init.d/nginx restart
211 * Restarting nginx nginx [ OK ]
211 * Restarting nginx nginx [ OK ]
212
212
213 Once restarted, you should see a clean |RCE| instance running on the IP
213 Once restarted, you should see a clean |RCE| instance running on the IP
214 address, or the domain you have set up.
214 address, or the domain you have set up.
215
215
216 .. image:: ../images/clean-rce.png
216 .. image:: ../images/clean-rce.png
217 :alt: A fresh RhodeCode Enterprise Instance
217 :alt: A fresh RhodeCode Enterprise Instance
218
218
219 .. _Digital Ocean: https://www.digitalocean.com/
219 .. _Digital Ocean: https://www.digitalocean.com/
220 .. _hetzner: https://www.hetzner.de/en/
220 .. _hetzner: https://www.hetzner.de/en/
General Comments 0
You need to be logged in to leave comments. Login now