]> git.proxmox.com Git - pmg-docs.git/blame - pmg-installation.adoc
installation: update chapter based on PVE docs & new GRUB entries
[pmg-docs.git] / pmg-installation.adoc
CommitLineData
03c03402
DM
1Installation
2============
3
8eb27e2f
TL
4{pmg} is based on Debian. This is why the install disk images (ISO files)
5provided by Proxmox include a complete Debian system as well as all necessary
6{pmg} packages.
03c03402 7
8eb27e2f
TL
8TIP: See the xref:faq-support-table[support table in the FAQ] for the
9relationship between {pmg} releases and Debian releases.
03c03402 10
c78dc3bb 11The installer will guide you through the setup, allowing you to partition the local
8eb27e2f
TL
12disk(s), apply basic system configurations (for example, timezone, language,
13network) and install all required packages. This process should not take more
14than a few minutes. Installing with the provided ISO is the recommended method
15for new and existing users.
16
17Alternatively, {pmg} can be installed on top of an existing Debian system. This
18option is only recommended for advanced users because detailed knowledge about
19{pmg} is required.
03c03402 20
dfcaa012
AL
21include::pmg-installation-media.adoc[]
22
39abbce4 23[[pmg_install_iso]]
03c03402
DM
24Using the {pmg} Installation CD-ROM
25-----------------------------------
26
dfcaa012 27The installer ISO image includes the following:
03c03402
DM
28
29* Complete operating system (Debian Linux, 64-bit)
30
b2d388d4 31* The {pmg} installer, which partitions the hard drive(s) with ext4,
8eb27e2f 32 XFS or ZFS and installs the operating system
03c03402
DM
33
34* Linux kernel
35
36* Postfix MTA, ClamAV, Spamassassin and the {pmg} toolset
37
582a64ad 38* Web-based management interface for using the toolset
03c03402 39
aaec2aab
CH
40NOTE: All existing data on the for installation selected drives will be removed
41during the installation process. The installer does not add boot menu entries
42for other operating systems.
b2d388d4 43
dfcaa012
AL
44Please insert the xref:installation_prepare_media[prepared installation media]
45(for example, USB flash drive or CD-ROM) and boot from it.
46
47TIP: Make sure that booting from the installation medium (for example, USB) is
aaec2aab
CH
48enabled in your server's firmware settings. Secure boot needs to be disabled
49when booting an installer prior to {pmg} version 8.1.
dfcaa012 50
bf99325b
DW
51After choosing the correct entry (for example, Boot from USB) the {pmg} menu
52will be displayed, and one of the following options can be selected:
03c03402
DM
53
54image::images/installer/pmg-grub-menu.png[]
55
aaec2aab 56Install {pmg} (Graphical)::
03c03402
DM
57
58Start normal installation.
59
aaec2aab
CH
60TIP: It's possible to use the installation wizard with a keyboard only. Buttons
61can be clicked by pressing the `ALT` key combined with the underlined character
62from the respective button. For example, `ALT + N` to press a `Next` button.
03c03402 63
aaec2aab 64Install {pmg} (Terminal UI)::
03c03402 65
aaec2aab
CH
66Starts the terminal-mode installation wizard. It provides the same overall
67installation experience as the graphical installer, but has generally better
68compatibility with very old and very new hardware.
03c03402 69
aaec2aab 70Install {pmg} (Terminal UI, Serial Console)::
03c03402 71
aaec2aab
CH
72Starts the terminal-mode installation wizard, additionally setting up the Linux
73kernel to use the (first) serial port of the machine for in- and output. This
74can be used if the machine is completely headless and only has a serial console
75available.
03c03402 76
aaec2aab
CH
77Both modes use the same code base for the actual installation process to
78benefit from more than a decade of bug fixes and ensure feature parity.
03c03402 79
aaec2aab
CH
80TIP: The 'Terminal UI' option can be used in case the graphical installer does
81not work correctly, due to e.g. driver issues.
03c03402 82
aaec2aab
CH
83Advanced Options: Install {pmg} (Graphical, Debug Mode)::
84
85Starts the installation in debug mode. A console will be opened at several
86installation steps. This helps to debug the situation if something goes wrong.
87To exit a debug console, press `CTRL-D`. This option can be used to boot a live
88system with all basic tools available. You can use it, for example, to repair a
89degraded ZFS 'rpool' or fix the bootloader for an existing {pmg} setup.
90
91Advanced Options: Install {pmg} (Terminal UI, Debug Mode)::
92
93Same as the graphical debug mode, but preparing the system to run the
94terminal-based installer instead.
95
96Advanced Options: Install {pmg} (Serial Console Debug Mode)::
97
98Same the terminal-based debug mode, but additionally sets up the Linux kernel to
99use the (first) serial port of the machine for in- and output.
100
101Advanced Options: Rescue Boot::
102
103With this option you can boot an existing installation. It searches all attached
104hard disks. If it finds an existing installation, it boots directly into that
105disk using the Linux kernel from the ISO. This can be useful if there are
106problems with the bootloader (GRUB/`systemd-boot`) or the BIOS/UEFI is unable to
107read the boot block from the disk.
108
109Advanced Options: Test Memory (memtest86+)::
110
111Runs `memtest86+`. This is useful to check if the memory is functional and free
112of errors. Secure Boot must be turned off in the UEFI firmware setup utility to
113run this option.
114
115You normally select *Install {pmg} (Graphical)* to start the installation.
dc69da07 116image::images/installer/pmg-select-target-disk.png[]
03c03402 117
bf99325b
DW
118The first step is to read our EULA (End User License Agreement). Following
119this, you can select the target hard disk(s) for the installation.
03c03402 120
582a64ad
OB
121CAUTION: By default, the whole server is used and all existing data is removed.
122Make sure there is no important data on the server before proceeding with the
123installation.
03c03402 124
03c03402 125The `Options` button lets you select the target file system, which
12908dd2 126defaults to `ext4`. The installer uses LVM if you select
bf99325b 127`ext4` or `xfs` as a file system, and offers additional options to
03c03402
DM
128restrict LVM space (see <<advanced_lvm_options,below>>)
129
bf99325b
DW
130If you have more than one disk, you can also use ZFS as a file system.
131ZFS supports several software RAID levels, which is particularly useful
03c03402 132if you do not have a hardware RAID controller. The `Options` button
bf99325b 133lets you choose the ZFS RAID level and select which disks will be used.
03c03402 134
aaec2aab
CH
135WARNING: ZFS on top of any hardware RAID is not supported and can result in data
136loss.
137
dc69da07
DM
138image::images/installer/pmg-select-location.png[]
139
582a64ad 140The next page asks for basic configuration options like your
bf99325b
DW
141location, timezone, and keyboard layout. The location is used to
142select a nearby download server, in order to increase the speed of updates.
143The installer is usually able to auto-detect these settings, so you only need to
144change them in rare situations when auto-detection fails, or when you want to
582a64ad 145use a keyboard layout not commonly used in your country.
dc69da07
DM
146
147image::images/installer/pmg-set-password.png[]
148
149You then need to specify an email address and the superuser (root)
150password. The password must have at least 5 characters, but we highly
151recommend to use stronger passwords - here are some guidelines:
152
153- Use a minimum password length of 12 to 14 characters.
154
155- Include lowercase and uppercase alphabetic characters, numbers and symbols.
156
60522152
TL
157- Avoid character repetition, keyboard patterns, dictionary words, letter or
158 number sequences, usernames, relative or pet names, romantic links (current
159 or past) and biographical information (e.g., ID numbers, ancestors' names or
160 dates).
dc69da07 161
aecce55c
TL
162It is sometimes necessary to send notification to the system administrator, for
163example:
dc69da07
DM
164
165- Information about available package updates.
166
bf99325b 167- Error messages from periodic cron jobs.
dc69da07 168
aecce55c 169All those notification mails will be sent to the specified email address.
dc69da07
DM
170
171image::images/installer/pmg-setup-network.png[]
03c03402 172
aecce55c
TL
173The next step is the network configuration. Please note that you can use either
174IPv4 or IPv6 here, but not both. If you want to configure a dual stack node,
bf99325b 175you can easily do that after the installation.
03c03402 176
f6249b79
TL
177image::images/installer/pmg-summary.png[]
178
aecce55c
TL
179When you press `Next`, you will see an overview of your entered configuration.
180Please re-check every setting, you can still use the `Previous` button to go
181back and edit any settings.
f6249b79 182
bf99325b
DW
183After clicking `Install`, the installer will begin to format and copy packages
184to the target disk(s).
dc69da07
DM
185
186image::images/installer/pmg-installation.png[]
187
bf99325b
DW
188Copying the packages usually takes several minutes. When this is
189finished, you can reboot the server.
03c03402 190
aaec2aab
CH
191If the installation failed, check out specific errors on the second TTY
192(`CTRL + ALT + F2') and ensure that the systems meets the
193xref:install_minimal_requirements[minimum requirements]. If the installation
194is still not working, look at the xref:getting_help[how to get help chapter].
195
bf99325b 196Further configuration is done via the {pmg} web interface:
f03ead41
SI
197
198[thumbnail="pmg-gui-login-window.png"]
03c03402 199
bf99325b 200. Point your browser to the IP address given during the installation
f03ead41 201(https://youripaddress:8006).
b5b01ac3 202
bf99325b 203. Log in and upload your subscription key.
b2d388d4 204+
bf99325b 205NOTE: The default login is "root", and the password is the one chosen during the
aecce55c 206installation.
03c03402 207
b2d388d4
DM
208. Check the IP configuration and hostname.
209
bf99325b 210. Check the timezone.
b2d388d4
DM
211
212. Check your xref:firewall_settings[Firewall settings].
213
bf99325b 214. Configure {pmg} to forward the incoming SMTP traffic to your mail
b2d388d4 215server ('Configuration/Mail Proxy/Default Relay') - 'Default
09e283f2 216Relay' is your email server.
b2d388d4 217
09e283f2 218. Configure your email server to send all outgoing messages through
303ee757 219your {pmg} ('Smart Host', port 26 by default).
b2d388d4
DM
220
221For detailed deployment scenarios see chapter
222xref:chapter_deployment[Planning for Deployment].
223
bf99325b
DW
224After the installation, you have to route all your incoming and
225outgoing email traffic to {pmg}. For incoming traffic, you
b2d388d4 226have to configure your firewall and/or DNS settings. For outgoing
09e283f2 227traffic you need to change the existing email server configuration.
b2d388d4 228
03c03402
DM
229
230[[advanced_lvm_options]]
231Advanced LVM Configuration Options
232~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233
234The installer creates a Volume Group (VG) called `pmg`, and additional
235Logical Volumes (LVs) called `root` and `swap`. The size of
236those volumes can be controlled with:
237
238`hdsize`::
239
582a64ad
OB
240Defines the total disk size to be used. This way you can save free
241space on the disk for further partitioning (i.e. for an additional PV
242and VG on the same disk that can be used for LVM storage).
03c03402
DM
243
244`swapsize`::
245
246Defines the size of the `swap` volume. The default is the size of the
bf99325b
DW
247installed memory. The minimum is 4 GB and the maximum is 8 GB. The resulting
248value cannot be greater than `hdsize/8`.
03c03402 249
03c03402
DM
250`minfree`::
251
bf99325b
DW
252Defines the amount of free space that should be left in the LVM volume group
253`pmg`. With more than 128GB storage available, the default is 16GB, otherwise
254`hdsize/8` will be used.
03c03402
DM
255+
256NOTE: LVM requires free space in the VG for snapshot creation (not
257required for lvmthin snapshots).
258
259
260ZFS Performance Tips
261~~~~~~~~~~~~~~~~~~~~
262
263ZFS uses a lot of memory, so it is best to add additional RAM if you
264want to use ZFS. A good calculation is 4GB plus 1GB RAM for each TB
265RAW disk space.
266
bf99325b 267ZFS also provides the ability to use a fast SSD drive as write cache. The
03c03402 268write cache is called the ZFS Intent Log (ZIL). You can add that after
582a64ad 269the installation using the following command:
03c03402
DM
270
271 zpool add <pool-name> log </dev/path_to_fast_ssd>
272
3372775f 273
39abbce4 274[[pmg_install_on_debian]]
03c03402
DM
275Install {pmg} on Debian
276-----------------------
277
278{pmg} ships as a set of Debian packages, so you can install it
279on top of a normal Debian installation. After configuring the
bf99325b 280xref:pmg_package_repositories[package repositories], you need to run:
03c03402
DM
281
282[source,bash]
283----
3e2d2270
TL
284apt update
285apt install proxmox-mailgateway
03c03402
DM
286----
287
bf99325b 288Installing on top of an existing Debian installation seems easy, but
582a64ad 289it assumes that you have correctly installed the base system, and you
03c03402
DM
290know how you want to configure and use the local storage. Network
291configuration is also completely up to you.
292
293NOTE: In general, this is not trivial, especially when you use LVM or
294ZFS.
e3eaa56a
DM
295
296
39abbce4 297[[pmg_install_on_debian_container]]
bf99325b 298Install {pmg} as a Linux Container Appliance
3fc72cc0 299--------------------------------------------
c13d3d4f 300
bf99325b 301{pmg} can also run inside a Debian-based LXC
c13d3d4f 302instance. In order to keep the set of installed software, and thus the
582a64ad 303necessary updates minimal, you can use the `proxmox-mailgateway-container`
bf99325b 304meta-package. This does not depend on any Linux kernel, firmware, or components
aaec2aab 305used for booting from bare-metal, like GRUB.
17a13972 306
bf99325b 307A ready-to-use appliance template is available through the `mail` section of the
15dbf331
CE
308https://www.proxmox.com/proxmox-virtual-environment/overview[Proxmox VE]
309appliance manager, so if you already use Proxmox VE, you can set up a {pmg}
310instance in minutes.
17a13972 311
bf99325b
DW
312NOTE: It's recommended to use a static network configuration. If DHCP must be
313used, ensure that the container always leases the same IP, for example, by
314reserving one with the container's network MAC address.
5991f9eb 315
bf99325b 316Additionally, you can install this on top of a container-based Debian
3e2d2270 317installation. After configuring the
bf99325b 318xref:pmg_package_repositories[package repositories], you need to run:
3e2d2270
TL
319
320[source,bash]
321----
322apt update
323apt install proxmox-mailgateway-container
324----
5991f9eb 325
e3eaa56a
DM
326[[pmg_package_repositories]]
327Package Repositories
328--------------------
329
0261cbde
FE
330{pmg} uses http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as its
331package management tool like any other Debian-based system.
332
333Repositories in {pmg}
334~~~~~~~~~~~~~~~~~~~~~
335
336Repositories are a collection of software packages. They can be used to install
337new software, but are also important to get new updates.
338
339NOTE: You need valid Debian and Proxmox repositories to get the latest
340security updates, bug fixes and new features.
341
342APT Repositories are defined in the file `/etc/apt/sources.list` and in `.list`
343files placed in `/etc/apt/sources.list.d/`.
344
345Repository Management
346^^^^^^^^^^^^^^^^^^^^^
347
348[thumbnail="pmg-gui-admin-repositories.png"]
349
350Since {pmg} 7.0 you can check the repository state in the web interface. The
351'Dashboard' shows a high level status overview, while the separate 'Repository'
352panel (accessible via 'Administration') shows in-depth status and list of all
353configured repositories.
354
355Basic repository management, for example, activating or deactivating a
356repository, is also supported.
357
358Sources.list
359^^^^^^^^^^^^
360
361In a `sources.list` file, each line defines a package repository. The preferred
362source must come first. Empty lines are ignored. A `#` character anywhere on a
363line marks the remainder of that line as a comment. The available packages from
364a repository are acquired by running `apt update`. Updates can be installed
365directly using `apt`, or via the GUI (Administration -> Updates).
e3eaa56a
DM
366
367.File `/etc/apt/sources.list`
368----
483f7a35 369# basic Debian repositories:
25901eb2
TL
370deb http://deb.debian.org/debian bookworm main contrib
371deb http://deb.debian.org/debian bookworm-updates main contrib
aedc8192 372
e3eaa56a 373# security updates
25901eb2 374deb http://security.debian.org/debian-security bookworm-security main contrib
483f7a35
TL
375
376# Proxmox Mail Gateway repo required too - see below!
e3eaa56a
DM
377----
378
0261cbde 379{pmg} provides three different package repositories.
e3eaa56a
DM
380
381
382{pmg} Enterprise Repository
383~~~~~~~~~~~~~~~~~~~~~~~~~~~
384
385This is the default, stable and recommended repository, available for
386all {pmg} subscription users. It contains the most stable packages,
387and is suitable for production use. The `pmg-enterprise` repository is
388enabled by default:
389
390.File `/etc/apt/sources.list.d/pmg-enterprise.list`
391----
25901eb2 392deb https://enterprise.proxmox.com/debian/pmg bookworm pmg-enterprise
e3eaa56a
DM
393----
394
395As soon as updates are available, the `root@pam` user is notified via
bf99325b 396email about the newly available packages. From the GUI, the change-log of
e3eaa56a 397each package can be viewed (if available), showing all details of the
bf99325b 398update. Thus, you will never miss important security fixes.
e3eaa56a 399
bf99325b
DW
400Please note that you need a valid subscription key to access this
401repository. We offer different support levels, which you can find further
402details about at {pricing-url}.
e3eaa56a
DM
403
404NOTE: You can disable this repository by commenting out the above line
bf99325b 405using a `#` (at the start of the line). This prevents error messages,
e3eaa56a 406if you do not have a subscription key. Please configure the
bf99325b 407`pmg-no-subscription` repository in this case.
e3eaa56a
DM
408
409
410{pmg} No-Subscription Repository
411~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
412
413As the name suggests, you do not need a subscription key to access
414this repository. It can be used for testing and non-production
bf99325b 415use. It's not recommended to use this on production servers, as these
e3eaa56a
DM
416packages are not always heavily tested and validated.
417
bf99325b 418We recommend configuring this repository in `/etc/apt/sources.list`.
e3eaa56a
DM
419
420.File `/etc/apt/sources.list`
421----
25901eb2
TL
422deb http://ftp.debian.org/debian bookworm main contrib
423deb http://ftp.debian.org/debian bookworm-updates main contrib
483f7a35
TL
424
425# security updates
25901eb2 426deb http://security.debian.org/debian-security bookworm-security main contrib
e3eaa56a
DM
427
428# PMG pmg-no-subscription repository provided by proxmox.com,
429# NOT recommended for production use
25901eb2 430deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription
e3eaa56a
DM
431----
432
433
434{pmg} Test Repository
435~~~~~~~~~~~~~~~~~~~~~
436
bf99325b
DW
437Finally, there is a repository called `pmgtest`. This contains the
438latest packages, and is heavily used by developers to test new
439features. As with before, you can configure this using
e3eaa56a
DM
440`/etc/apt/sources.list` by adding the following line:
441
442.sources.list entry for `pmgtest`
443----
25901eb2 444deb http://download.proxmox.com/debian/pmg bookworm pmgtest
e3eaa56a
DM
445----
446
582a64ad 447WARNING: the `pmgtest` repository should only be used
e3eaa56a
DM
448for testing new features or bug fixes.
449
450
451SecureApt
452~~~~~~~~~
453
bf99325b
DW
454We use GnuPG to sign the `Release` files inside these repositories,
455and APT uses these signatures to verify that all packages are from a
e3eaa56a
DM
456trusted source.
457
bf99325b
DW
458The key used for verification is already installed, if you install from
459our installation CD. If you install via another means, you can manually
25901eb2 460download the key by executing the following command as root user:
e3eaa56a 461
483f7a35 462----
25901eb2 463 # wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
483f7a35 464----
e3eaa56a 465
483f7a35 466Verify the checksum afterwards with the `sha512sum` CLI tool:
e3eaa56a
DM
467
468----
25901eb2
TL
469# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
4707da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
471----
472
483f7a35 473or the `md5sum` CLI tool:
e3eaa56a
DM
474
475----
25901eb2
TL
476# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
47741558dc019ef90bd0f6067644a51cf5b /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
478----
479
480
45613eb1
AZ
481Debian Non-Free Repository
482~~~~~~~~~~~~~~~~~~~~~~~~~~
96806766
SI
483
484Certain software cannot be made available in the `main` and `contrib`
485areas of the {debian} archives, since it does not adhere to the Debian
486Free Software Guidelines (DFSG). These are distributed in the
487{debian_nonfree_archive_area}. For {pmg} two packages from the `non-free` area
488are needed in order to support the RAR archive format:
489
490* `p7zip-rar` for matching xref:pmg_mailfilter_what[Archive Objects] in the
491 xref:chapter_mailfilter[Rule system]
492
493* `libclamunrar` for detecting viruses in RAR archives.
494
45613eb1
AZ
495To enable the `non-free` component, run `editor /etc/apt/sources.list` and
496append `non-free` to the end of each `.debian.org` repository line.
5479707c 497
bf99325b 498Following this, you can install the required packages with:
5479707c
TL
499
500----
501apt update
502apt install libclamunrar p7zip-rar
503----
9163e56a
AZ
504
505
506[[pmg_debian_firmware_repo]]
507Debian Firmware Repository
508~~~~~~~~~~~~~~~~~~~~~~~~~
509Starting with Debian Bookworm ({pmg} 8) non-free firmware (as defined by
510https://www.debian.org/social_contract#guidelines[DFSG]) has been moved to the
511newly created Debian repository component `non-free-firmware`.
512
513Enable this repository if you want to set up
514xref:pmg_firmware_cpu[Early OS Microcode Updates] or need additional
515xref:pmg_firmware_runtime_files[Runtime Firmware Files] not already included in
516the pre-installed package `pve-firmware`.
517
518To be able to install packages from this component, run
519`editor /etc/apt/sources.list`, append `non-free-firmware` to the end of each
520`.debian.org` repository line and run `apt update`.