annotate docs/installation_puppet.rst @ 7131:33bd2aa757dd

templates: mark site as IE10+ compatible to bypass Compatibility mode Internet Explorer 11 (and probably other versions) seems to ship with the setting "Display intranet sites in Compatibility View" enabled by default. This compatibility view means that modern elements of CSS and JavaScript are not (well) support and makes Kallithea look very bad and become unusable. This is a problem when hosting Kallithea in a corporate environment where its URL is detected as 'the intranet'. Solve the issue by explicitly marking Kallithea to be compatible with IE10, so that Internet Explorer 10 and above will show Kallithea correctly in Intranet environments.
author Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
date Tue, 30 Jan 2018 13:57:26 +0100
parents f95725c5d450
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5494
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
1 .. _installation_puppet:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
2
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
3 ===================================
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
4 Installation and setup using Puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
5 ===================================
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
6
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
7 The whole installation and setup process of Kallithea can be simplified by
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
8 using Puppet and the `rauch/kallithea
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
9 <https://forge.puppetlabs.com/rauch/kallithea>`_ Puppet module. This is
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
10 especially useful for getting started quickly, without having to deal with all
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
11 the Python specialities.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
12
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
13 .. note:: The following instructions assume you are not familiar with Puppet at
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
14 all. If this is not the case, you should probably skip directly to the
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
15 `Kallithea Puppet module documentation
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
16 <https://forge.puppetlabs.com/rauch/kallithea#puppet-kallithea>`_.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
17
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
18
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
19 Installing Puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
20 -----------------
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
21
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
22 This installation variant requires a Unix/Linux type server with Puppet 3.0+
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
23 installed. Many major distributions have Puppet in their standard repositories.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
24 Thus, you will probably be ready to go by running, e.g. ``apt-get install
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
25 puppet`` or ``yum install puppet``, depending on your distro's favoured package
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
26 manager. Afterwards, check the Puppet version by running ``puppet --version``
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
27 and ensure you have at least 3.0.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
28
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
29 If your distribution does not provide Puppet packages or you need a
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
30 newer version, please see the `Puppet Reference Manual
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
31 <https://docs.puppetlabs.com/puppet/4.2/reference/install_linux.html>`_ for
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
32 instructions on how to install Puppet on your target platform.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
33
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
34
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
35 Installing the Puppet module
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
36 ----------------------------
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
37
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
38 To install the latest version of the Kallithea Puppet module from the Puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
39 Forge, run the following as ``root``:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
40
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
41 .. code-block:: bash
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
42
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
43 puppet module install rauch/kallithea
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
44
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
45 This will install both the Kallithea Puppet module and its dependency modules.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
46
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
47 .. warning:: Be aware that Puppet can do all kinds of things to your systems.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
48 Third-party modules (like the ``kallithea`` module) may run
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
49 arbitrary commands on your system (most of the time as the
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
50 ``root`` user), so do not apply them on production machines if
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
51 you don't know what you are doing. Instead, use a test system
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
52 (e.g. a virtual machine) for evaluation purposes.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
53
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
54
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
55 Applying the module
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
56 -------------------
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
57
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
58 To trigger the actual installation process, we have to *apply* the
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
59 ``kallithea`` Puppet class, which is provided by the module we have just
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
60 installed, to our system. For this, create a file named e.g. ``kallithea.pp``,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
61 a *Puppet manifest*, with the following content:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
62
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
63 .. _simple_manifest:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
64 .. code-block:: puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
65
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
66 class { 'kallithea':
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
67 seed_db => true,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
68 manage_git => true,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
69 }
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
70
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
71 To apply the manifest, simply run the following (preferably as root):
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
72
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
73 .. code-block:: bash
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
74
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
75 puppet apply kallithea.pp
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
76
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
77 This will basically run through the usual Kallithea :ref:`installation` and
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
78 :ref:`setup` steps, as documented. Consult the module documentation for details
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
79 on `what the module affects
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
80 <https://forge.puppetlabs.com/rauch/kallithea#what-kallithea-affects>`_. You
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
81 can also do a *dry run* by adding the ``--noop`` option to the command.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
82
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
83
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
84 Using parameters for customizing the setup process
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
85 --------------------------------------------------
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
86
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
87 The ``kallithea`` Puppet class provides a number of `parameters
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
88 <https://forge.puppetlabs.com/rauch/kallithea#class-kallithea>`_ for
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
89 customizing the setup process. You have seen the usage of the ``seed_db``
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
90 parameter in the :ref:`example above <simple_manifest>`, but there are more.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
91 For example, you can specify the installation directory, the name of the user
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
92 under which Kallithea gets installed, the initial admin password, etc.
5848
f95725c5d450 brand: Kallithea
timeless@gmail.com
parents: 5494
diff changeset
93 Notably, you can provide arbitrary modifications to Kallithea's configuration
5494
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
94 file by means of the ``config_hash`` parameter.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
95
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
96 Parameters, which have not been set explicitly, will be set to default values,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
97 which are defined inside the ``kallithea`` Puppet module. For example, if you
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
98 just stick to the defaults as in the :ref:`example above <simple_manifest>`,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
99 you will end up with a Kallithea instance, which
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
100
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
101 - is installed in ``/srv/kallithea``, owned by the user ``kallithea``
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
102 - uses the Kallithea default configuration
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
103 - uses the admin user ``admin`` with password ``adminpw``
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
104 - is started automatically and enabled on boot
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
105
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
106 As of Kallithea 0.3.0, this in particular means that Kallithea will use an
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
107 SQLite database and listen on ``http://localhost:5000``.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
108
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
109 See also the `full parameters list
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
110 <https://forge.puppetlabs.com/rauch/kallithea#class-kallithea>`_ for more
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
111 information.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
112
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
113
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
114 Making your Kallithea instance publicly available
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
115 -------------------------------------------------
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
116
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
117 If you followed the instructions above, the Kallithea instance will be
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
118 listening on ``http://localhost:5000`` and therefore not publicly available.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
119 There are several ways to change this.
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
120
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
121 The direct way
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
122 ^^^^^^^^^^^^^^
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
123
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
124 The simplest setup is to instruct Kallithea to listen on another IP address
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
125 and/or port by using the ``config_hash`` parameter of the Kallithea Puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
126 class. For example, assume we want to listen on all interfaces on port 80:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
127
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
128 .. code-block:: puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
129
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
130 class { 'kallithea':
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
131 seed_db => true,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
132 config_hash => {
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
133 "server:main" => {
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
134 'host' => '0.0.0.0',
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
135 'port' => '80',
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
136 }
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
137 }
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
138 }
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
139
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
140 Using Apache as reverse proxy
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
141 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
142
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
143 In a more advanced setup, you might instead want use a full-blown web server
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
144 like Apache HTTP Server as the public web server, configured such that requests
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
145 are internally forwarded to the local Kallithea instance (a so called *reverse
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
146 proxy setup*). This can be easily done with Puppet as well:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
147
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
148 First, install the `puppetlabs/apache
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
149 <https://forge.puppetlabs.com/puppetlabs/apache>`_ Puppet module as above by running the following as root:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
150
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
151 .. code-block:: bash
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
152
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
153 puppet module install puppetlabs/apache
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
154
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
155 Then, append the following to your manifest:
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
156
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
157 .. code-block:: puppet
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
158
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
159 include apache
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
160
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
161 apache::vhost { 'kallithea.example.com':
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
162 docroot => '/var/www/html',
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
163 manage_docroot => false,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
164 port => 80,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
165 proxy_preserve_host => true,
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
166 proxy_pass => [
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
167 {
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
168 path => '/',
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
169 url => 'http://localhost:5000/',
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
170 },
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
171 ],
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
172 }
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
173
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
174 Applying the resulting manifest will install the Apache web server and setup a
57caeb60c52b docs: add documentation for setup with puppet
Robert Rauch <mail@robertrauch.de>
parents:
diff changeset
175 virtual host acting as a reverse proxy for your local Kallithea instance.