Mercurial > kallithea
annotate docs/installation_puppet.rst @ 8786:5d8bfda01cf5
lib: drop unnecessary safe_str when processing text
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 09 Nov 2020 16:48:34 +0100 |
parents | f95725c5d450 |
children |
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 | 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. |