]> git.proxmox.com Git - pmg-docs.git/blob - pmg-installation.adoc
installation: fix codeblock rendering in zfs performance tips section
[pmg-docs.git] / pmg-installation.adoc
1 Installation
2 ============
3
4 {pmg} is based on Debian and comes with an installation CD-ROM
5 which includes a complete Debian ("buster" for version 6.x) system as
6 well as all necessary {pmg} packages.
7
8 The installer just asks you a few questions, then partitions the local
9 disk(s), installs all required packages, and configures the system
10 including a basic network setup. You can get a fully functional system
11 within a few minutes. This is the preferred and recommended
12 installation method.
13
14 Alternatively, {pmg} can be installed on top of an existing Debian
15 system. This option is only recommended for advanced users since
16 it requires more detailed knowledge about {pmg} and Debian.
17
18 [[pmg_install_iso]]
19 Using the {pmg} Installation CD-ROM
20 -----------------------------------
21
22 You can download the ISO from http://www.proxmox.com. It includes the
23 following:
24
25 * Complete operating system (Debian Linux, 64-bit)
26
27 * The {pmg} installer, which partitions the hard drive(s) with ext4,
28 ext3, xfs or ZFS and installs the operating system.
29
30 * Linux kernel
31
32 * Postfix MTA, ClamAV, Spamassassin and the {pmg} toolset
33
34 * Web based management interface for using the toolset
35
36 Please burn the downloaded ISO image to a CD or create a
37 xref:create_bootable_usb[bootable USB stick].
38
39 Then insert the installation CD-ROM on the physical host where you want
40 to install {pmg} and boot from that drive. Immediately afterwards you
41 can choose the following menu options:
42
43 image::images/installer/pmg-grub-menu.png[]
44
45 Install {pmg}::
46
47 Start normal installation.
48
49 Install {pmg} (Debug mode)::
50
51 Start installation in debug mode. It opens a shell console at several
52 installation steps, so that you can debug things if something goes
53 wrong. Please press `CTRL-D` to exit those debug consoles and continue
54 installation. This option is mostly for developers and not meant for
55 general use.
56
57 Rescue Boot::
58
59 This option allows you to boot an existing installation. It searches
60 all attached hard disks and, if it finds an existing installation,
61 boots directly into that disk using the existing Linux kernel. This
62 can be useful if there are problems with the boot block (grub), or the
63 BIOS is unable to read the boot block from the disk.
64
65 Test Memory::
66
67 Runs `memtest86+`. This is useful to check if your memory is
68 functional and error free.
69
70 You normally select *Install {pmg}* to start the installation.
71
72 image::images/installer/pmg-select-target-disk.png[]
73
74 First step ist to read our EULA (End User License Agreement). After
75 that you get prompted to select the target hard disk(s).
76
77 NOTE: By default, the complete server is used and all existing data is
78 removed.
79
80 The `Options` button lets you select the target file system, which
81 defaults to `ext4`. The installer uses LVM if you select `ext3`,
82 `ext4` or `xfs` as file system, and offers additional option to
83 restrict LVM space (see <<advanced_lvm_options,below>>)
84
85 If you have more than one disk, you can also use ZFS as file system.
86 ZFS supports several software RAID levels, so this is specially useful
87 if you do not have a hardware RAID controller. The `Options` button
88 lets you select the ZFS RAID level, and you can choose disks there.
89
90 image::images/installer/pmg-select-location.png[]
91
92 The next page just ask for basic configuration options like your
93 location, the time zone and keyboard layout. The location is used to
94 select a download server near you to speedup updates. The installer is
95 usually able to auto detect those setting, so you only need to change
96 them in rare situations when auto detection fails, or when you want to
97 use some special keyboard layout not commonly used in your country.
98
99 image::images/installer/pmg-set-password.png[]
100
101 You then need to specify an email address and the superuser (root)
102 password. The password must have at least 5 characters, but we highly
103 recommend to use stronger passwords - here are some guidelines:
104
105 - Use a minimum password length of 12 to 14 characters.
106
107 - Include lowercase and uppercase alphabetic characters, numbers and symbols.
108
109 - Avoid character repetition, keyboard patterns, dictionary words, letter or
110 number sequences, usernames, relative or pet names, romantic links (current
111 or past) and biographical information (e.g., ID numbers, ancestors' names or
112 dates).
113
114 It is sometimes necessary to send notification to the system
115 administrator, for example:
116
117 - Information about available package updates.
118
119 - Error messages from periodic CRON jobs.
120
121 All those notification mails will be sent to the specified email
122 address.
123
124 image::images/installer/pmg-setup-network.png[]
125
126 The last step is the network configuration. Please note that you can
127 use either IPv4 or IPv6 here, but not both. If you want to configure a
128 dual stack node, you can easily do that after installation.
129
130 If you press `Next` now, installation starts to format disks, and
131 copies packages to the target.
132
133 image::images/installer/pmg-installation.png[]
134
135 Copying packages usually takes a few minutes. Please wait until that
136 is finished, then reboot the server.
137
138 Further configuration is done via the Proxmox web interface. Just
139 point your browser to the IP address given during installation
140 (https://youripaddress:8006).
141
142 image::images/screenshot/pmg-gui-login-window.png[]
143
144 . Login and upload subscription key.
145 +
146 NOTE: Default login is "root" and the root password is
147 defined during the installation process.
148
149 . Check the IP configuration and hostname.
150
151 . Check and save the Time Zone.
152
153 . Check your xref:firewall_settings[Firewall settings].
154
155 . Configure {pmg} to forward the incoming SMTP traffic to your Mail
156 server ('Configuration/Mail Proxy/Default Relay') - 'Default
157 Relay' is your e-mail server.
158
159 . Configure your e-mail server to send all outgoing messages through
160 your {pmg} ('Smart Host', port 26 by default).
161
162 For detailed deployment scenarios see chapter
163 xref:chapter_deployment[Planning for Deployment].
164
165 If the installation succeeds you have to route all your incoming and
166 outgoing e-mail traffic to the Mail Gateway. For incoming traffic you
167 have to configure your firewall and/or DNS settings. For outgoing
168 traffic you need to change the existing e-mail server configuration.
169
170
171 [[advanced_lvm_options]]
172 Advanced LVM Configuration Options
173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
174
175 The installer creates a Volume Group (VG) called `pmg`, and additional
176 Logical Volumes (LVs) called `root` and `swap`. The size of
177 those volumes can be controlled with:
178
179 `hdsize`::
180
181 Defines the total HD size to be used. This way you can save free
182 space on the HD for further partitioning (i.e. for an additional PV
183 and VG on the same hard disk that can be used for LVM storage).
184
185 `swapsize`::
186
187 Defines the size of the `swap` volume. The default is the size of the
188 installed memory, minimum 4 GB and maximum 8 GB. The resulting value cannot
189 be greater than `hdsize/8`.
190
191 `minfree`::
192
193 Defines the amount of free space left in LVM volume group `pmg`.
194 With more than 128GB storage available the default is 16GB, else `hdsize/8`
195 will be used.
196 +
197 NOTE: LVM requires free space in the VG for snapshot creation (not
198 required for lvmthin snapshots).
199
200
201 ZFS Performance Tips
202 ~~~~~~~~~~~~~~~~~~~~
203
204 ZFS uses a lot of memory, so it is best to add additional RAM if you
205 want to use ZFS. A good calculation is 4GB plus 1GB RAM for each TB
206 RAW disk space.
207
208 ZFS also provides the feature to use a fast SSD drive as write cache. The
209 write cache is called the ZFS Intent Log (ZIL). You can add that after
210 installation using the following command:
211
212 zpool add <pool-name> log </dev/path_to_fast_ssd>
213
214
215 include::pmg-usbstick.adoc[]
216
217
218 [[pmg_install_on_debian]]
219 Install {pmg} on Debian
220 -----------------------
221
222 {pmg} ships as a set of Debian packages, so you can install it
223 on top of a normal Debian installation. After configuring the
224 repositories, you need to run:
225
226 [source,bash]
227 ----
228 apt-get update
229 apt-get install proxmox-mailgateway
230 ----
231
232 Installing on top of an existing Debian installation looks easy, but
233 it presumes that you have correctly installed the base system, and you
234 know how you want to configure and use the local storage. Network
235 configuration is also completely up to you.
236
237 NOTE: In general, this is not trivial, especially when you use LVM or
238 ZFS.
239
240
241 [[pmg_install_on_debian_container]]
242 Install {pmg} as Linux Container Appliance
243 ------------------------------------------
244
245 The full functionality of {pmg} can also run on top of a Debian-based LXC
246 instance. In order to keep the set of installed software, and thus the
247 necessary updates, minimal you can use the `proxmox-mailgateway-container`
248 meta-package. It does not depend on any Linux Kernel, firmware, or components
249 used for booting from bare-metal, like grub2.
250
251 A ready-to-use appliance template is available through the
252 https://www.proxmox.com/proxmox-ve[Proxmox VE] appliance manager in the `mail`
253 section, so if you already use Proxmox VE you can setup a {pmg} instance in a
254 minute.
255
256 NOTE: It's recommended to use a static network configuration. If DHCP should be
257 used ensure that the container can always lease the same IP, for example, by
258 reserving one with the containers network MAC address.
259
260 Additionally you can also install this on top of a normal Debian installation.
261 After configuring the repositories, you need to run:
262
263 [source,bash]
264 ----
265 apt-get update
266 apt-get install proxmox-mailgateway-container
267 ----
268
269
270 [[pmg_package_repositories]]
271 Package Repositories
272 --------------------
273
274 All {debian} based systems use
275 http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as package
276 management tool. The list of repositories is defined in
277 `/etc/apt/sources.list` and `.list` files found inside
278 `/etc/apt/sources.d/`. Updates can be installed directly using
279 `apt-get`, or via the GUI.
280
281 Apt `sources.list` files list one package repository per line, with
282 the most preferred source listed first. Empty lines are ignored, and a
283 `#` character anywhere on a line marks the remainder of that line as a
284 comment. The information available from the configured sources is
285 acquired by `apt-get update`.
286
287 .File `/etc/apt/sources.list`
288 ----
289 deb http://ftp.debian.org/debian buster main contrib
290
291 deb http://ftp.debian.org/debian buster-updates main contrib
292
293 # security updates
294 deb http://security.debian.org buster/updates main contrib
295 ----
296
297 In addition, {pmg} provides three different package repositories.
298
299
300 {pmg} Enterprise Repository
301 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
302
303 This is the default, stable and recommended repository, available for
304 all {pmg} subscription users. It contains the most stable packages,
305 and is suitable for production use. The `pmg-enterprise` repository is
306 enabled by default:
307
308 .File `/etc/apt/sources.list.d/pmg-enterprise.list`
309 ----
310 deb https://enterprise.proxmox.com/debian/pmg buster pmg-enterprise
311 ----
312
313 As soon as updates are available, the `root@pam` user is notified via
314 email about the available new packages. On the GUI, the change-log of
315 each package can be viewed (if available), showing all details of the
316 update. So you will never miss important security fixes.
317
318 Please note that and you need a valid subscription key to access this
319 repository. We offer different support levels, and you can find further
320 details at {pricing-url}.
321
322 NOTE: You can disable this repository by commenting out the above line
323 using a `#` (at the start of the line). This prevents error messages
324 if you do not have a subscription key. Please configure the
325 `pmg-no-subscription` repository in that case.
326
327
328 {pmg} No-Subscription Repository
329 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
330
331 As the name suggests, you do not need a subscription key to access
332 this repository. It can be used for testing and non-production
333 use. Its not recommended to run on production servers, as these
334 packages are not always heavily tested and validated.
335
336 We recommend to configure this repository in `/etc/apt/sources.list`.
337
338 .File `/etc/apt/sources.list`
339 ----
340 deb http://ftp.debian.org/debian buster main contrib
341
342 # PMG pmg-no-subscription repository provided by proxmox.com,
343 # NOT recommended for production use
344 deb http://download.proxmox.com/debian/pmg buster pmg-no-subscription
345
346 # security updates
347 deb http://security.debian.org buster/updates main contrib
348 ----
349
350
351 {pmg} Test Repository
352 ~~~~~~~~~~~~~~~~~~~~~
353
354 Finally, there is a repository called `pmgtest`. This one contains the
355 latest packages and is heavily used by developers to test new
356 features. As usual, you can configure this using
357 `/etc/apt/sources.list` by adding the following line:
358
359 .sources.list entry for `pmgtest`
360 ----
361 deb http://download.proxmox.com/debian/pmg buster pmgtest
362 ----
363
364 WARNING: the `pmgtest` repository should (as the name implies) only be used
365 for testing new features or bug fixes.
366
367
368 SecureApt
369 ~~~~~~~~~
370
371 We use GnuPG to sign the `Release` files inside those repositories,
372 and APT uses that signatures to verify that all packages are from a
373 trusted source.
374
375 The key used for verification is already installed if you install from
376 our installation CD. If you install by other means, you can manually
377 download the key with:
378
379 # wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
380
381 Please verify the checksum afterwards:
382
383 ----
384 # sha512sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
385 acca6f416917e8e11490a08a1e2842d500b3a5d9f322c6319db0927b2901c3eae23cfb5cd5df6facf2b57399d3cfa52ad7769ebdd75d9b204549ca147da52626 /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
386 ----
387
388 or
389
390 ----
391 # md5sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
392 f3f6c5a3a67baf38ad178e5ff1ee270c /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
393 ----
394
395