annotate docs/installation_puppet.rst @ 8309:68bbfd164b23

scripts: in regexps, use + when we actually want to make long matches instead of empty Greedyness seems to have changed with Python 3 and it is less forgiving and would happily make empty matches everywhere.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 28 Mar 2020 15:28:25 +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.