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