]> git.proxmox.com Git - pmg-docs.git/blame - pmg-installation.adoc
installation: fix codeblock rendering in zfs performance tips section
[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
4c35e536 141[thumbnail="installer/pmg-select-location.png"]
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
4c35e536 150[thumbnail="installer/pmg-set-password.png", float="left"]
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
4c35e536 156- Use a minimum password length of at least 12 characters.
dc69da07
DM
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
38d14519 172[thumbnail="installer/pmg-setup-network.png"]
03c03402 173
4c35e536
TL
174All those notification mails will be sent to the specified email address.
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
4c35e536
TL
191Copying the packages usually takes several minutes, mostly depending on the
192speed of the installation medium and the target disk performance.
193
194When copying and setting up the packages has finished, you can reboot the
195server. This will be done automatically after a few seconds by default.
196
197.Installation Failure
03c03402 198
aaec2aab
CH
199If the installation failed, check out specific errors on the second TTY
200(`CTRL + ALT + F2') and ensure that the systems meets the
4c35e536 201xref:install_minimal_requirements[minimum requirements].
aaec2aab 202
4c35e536
TL
203If the installation is still not working, look at the xref:getting_help[how to
204get help chapter].
205
206
207Accessing the Management Interface Post-Installation
208~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
f03ead41 209
38d14519 210[thumbnail="screenshot/pmg-gui-login-window.png"]
03c03402 211
4c35e536
TL
212After a succesful installation and reboot of the system you can use the {pmg}
213web interface for further configuration.
b5b01ac3 214
4c35e536
TL
215. Point your browser to the IP address given during the installation and port
216 8006, for example: https://youripaddress:8006
217
218. Log in using the `root` username and the password chosen during installation.
219
220. Upload your subscription key to gain access to the Enterprise repository.
221 Otherwise, you will need to set up one of the public, less tested package
222 repositories to get updates for security fixes, bug fixes, and new features.
03c03402 223
b2d388d4
DM
224. Check the IP configuration and hostname.
225
bf99325b 226. Check the timezone.
b2d388d4
DM
227
228. Check your xref:firewall_settings[Firewall settings].
229
bf99325b 230. Configure {pmg} to forward the incoming SMTP traffic to your mail
b2d388d4 231server ('Configuration/Mail Proxy/Default Relay') - 'Default
09e283f2 232Relay' is your email server.
b2d388d4 233
09e283f2 234. Configure your email server to send all outgoing messages through
303ee757 235your {pmg} ('Smart Host', port 26 by default).
b2d388d4
DM
236
237For detailed deployment scenarios see chapter
238xref:chapter_deployment[Planning for Deployment].
239
bf99325b
DW
240After the installation, you have to route all your incoming and
241outgoing email traffic to {pmg}. For incoming traffic, you
b2d388d4 242have to configure your firewall and/or DNS settings. For outgoing
09e283f2 243traffic you need to change the existing email server configuration.
b2d388d4 244
03c03402
DM
245
246[[advanced_lvm_options]]
247Advanced LVM Configuration Options
248~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
249
250The installer creates a Volume Group (VG) called `pmg`, and additional
251Logical Volumes (LVs) called `root` and `swap`. The size of
252those volumes can be controlled with:
253
254`hdsize`::
255
582a64ad
OB
256Defines the total disk size to be used. This way you can save free
257space on the disk for further partitioning (i.e. for an additional PV
258and VG on the same disk that can be used for LVM storage).
03c03402
DM
259
260`swapsize`::
261
262Defines the size of the `swap` volume. The default is the size of the
bf99325b
DW
263installed memory. The minimum is 4 GB and the maximum is 8 GB. The resulting
264value cannot be greater than `hdsize/8`.
03c03402 265
03c03402
DM
266`minfree`::
267
bf99325b
DW
268Defines the amount of free space that should be left in the LVM volume group
269`pmg`. With more than 128GB storage available, the default is 16GB, otherwise
270`hdsize/8` will be used.
03c03402
DM
271+
272NOTE: LVM requires free space in the VG for snapshot creation (not
273required for lvmthin snapshots).
274
275
276ZFS Performance Tips
277~~~~~~~~~~~~~~~~~~~~
278
c8be3f03
CH
279ZFS works best with a lot of memory. If you intend to use ZFS make sure to have
280enough RAM available for it. A good calculation is 4GB plus 1GB RAM for each TB
03c03402
DM
281RAW disk space.
282
c8be3f03
CH
283ZFS can use a dedicated drive as write cache, called the ZFS Intent Log (ZIL).
284Use a fast drive (SSD) for it. It can be added after installation with the
285following command:
03c03402 286
ddf3e9f1 287----
c8be3f03 288# zpool add <pool-name> log </dev/path_to_fast_ssd>
ddf3e9f1 289----
3372775f 290
84f2aef4
CH
291Adding the `nomodeset` Kernel Parameter
292~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
293
294Problems may arise on very old or very new hardware due to graphics drivers. If
295the installation hangs during the boot. In that case, you can try adding the
296`nomodeset` parameter. This prevents the Linux kernel from loading any
297graphics drivers and forces it to continue using the BIOS/UEFI-provided
298framebuffer.
299
300On the {pmg} bootloader menu, navigate to 'Install {pmg} (Terminal UI)' and
301press `e` to edit the entry. Using the arrow keys, navigate to the line starting
302with `linux`, move the cursor to the end of that line and add the
303parameter `nomodeset`, separated by a space from the pre-existing last
304parameter.
305
306Then press `Ctrl-X` or `F10` to boot the configuration.
307
39abbce4 308[[pmg_install_on_debian]]
03c03402
DM
309Install {pmg} on Debian
310-----------------------
311
312{pmg} ships as a set of Debian packages, so you can install it
313on top of a normal Debian installation. After configuring the
bf99325b 314xref:pmg_package_repositories[package repositories], you need to run:
03c03402
DM
315
316[source,bash]
317----
3e2d2270
TL
318apt update
319apt install proxmox-mailgateway
03c03402
DM
320----
321
bf99325b 322Installing on top of an existing Debian installation seems easy, but
582a64ad 323it assumes that you have correctly installed the base system, and you
03c03402
DM
324know how you want to configure and use the local storage. Network
325configuration is also completely up to you.
326
327NOTE: In general, this is not trivial, especially when you use LVM or
328ZFS.
e3eaa56a
DM
329
330
39abbce4 331[[pmg_install_on_debian_container]]
bf99325b 332Install {pmg} as a Linux Container Appliance
3fc72cc0 333--------------------------------------------
c13d3d4f 334
bf99325b 335{pmg} can also run inside a Debian-based LXC
c13d3d4f 336instance. In order to keep the set of installed software, and thus the
582a64ad 337necessary updates minimal, you can use the `proxmox-mailgateway-container`
bf99325b 338meta-package. This does not depend on any Linux kernel, firmware, or components
aaec2aab 339used for booting from bare-metal, like GRUB.
17a13972 340
bf99325b 341A ready-to-use appliance template is available through the `mail` section of the
15dbf331
CE
342https://www.proxmox.com/proxmox-virtual-environment/overview[Proxmox VE]
343appliance manager, so if you already use Proxmox VE, you can set up a {pmg}
344instance in minutes.
17a13972 345
bf99325b
DW
346NOTE: It's recommended to use a static network configuration. If DHCP must be
347used, ensure that the container always leases the same IP, for example, by
348reserving one with the container's network MAC address.
5991f9eb 349
bf99325b 350Additionally, you can install this on top of a container-based Debian
3e2d2270 351installation. After configuring the
bf99325b 352xref:pmg_package_repositories[package repositories], you need to run:
3e2d2270
TL
353
354[source,bash]
355----
356apt update
357apt install proxmox-mailgateway-container
358----
5991f9eb 359
e3eaa56a
DM
360[[pmg_package_repositories]]
361Package Repositories
362--------------------
363
0261cbde
FE
364{pmg} uses http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as its
365package management tool like any other Debian-based system.
366
367Repositories in {pmg}
368~~~~~~~~~~~~~~~~~~~~~
369
370Repositories are a collection of software packages. They can be used to install
371new software, but are also important to get new updates.
372
373NOTE: You need valid Debian and Proxmox repositories to get the latest
374security updates, bug fixes and new features.
375
376APT Repositories are defined in the file `/etc/apt/sources.list` and in `.list`
377files placed in `/etc/apt/sources.list.d/`.
378
379Repository Management
380^^^^^^^^^^^^^^^^^^^^^
381
38d14519 382[thumbnail="screenshot/pmg-gui-admin-repositories.png"]
0261cbde
FE
383
384Since {pmg} 7.0 you can check the repository state in the web interface. The
385'Dashboard' shows a high level status overview, while the separate 'Repository'
386panel (accessible via 'Administration') shows in-depth status and list of all
387configured repositories.
388
389Basic repository management, for example, activating or deactivating a
390repository, is also supported.
391
392Sources.list
393^^^^^^^^^^^^
394
395In a `sources.list` file, each line defines a package repository. The preferred
396source must come first. Empty lines are ignored. A `#` character anywhere on a
397line marks the remainder of that line as a comment. The available packages from
398a repository are acquired by running `apt update`. Updates can be installed
399directly using `apt`, or via the GUI (Administration -> Updates).
e3eaa56a
DM
400
401.File `/etc/apt/sources.list`
402----
483f7a35 403# basic Debian repositories:
25901eb2
TL
404deb http://deb.debian.org/debian bookworm main contrib
405deb http://deb.debian.org/debian bookworm-updates main contrib
aedc8192 406
e3eaa56a 407# security updates
25901eb2 408deb http://security.debian.org/debian-security bookworm-security main contrib
483f7a35
TL
409
410# Proxmox Mail Gateway repo required too - see below!
e3eaa56a
DM
411----
412
0261cbde 413{pmg} provides three different package repositories.
e3eaa56a
DM
414
415
416{pmg} Enterprise Repository
417~~~~~~~~~~~~~~~~~~~~~~~~~~~
418
419This is the default, stable and recommended repository, available for
420all {pmg} subscription users. It contains the most stable packages,
421and is suitable for production use. The `pmg-enterprise` repository is
422enabled by default:
423
424.File `/etc/apt/sources.list.d/pmg-enterprise.list`
425----
25901eb2 426deb https://enterprise.proxmox.com/debian/pmg bookworm pmg-enterprise
e3eaa56a
DM
427----
428
429As soon as updates are available, the `root@pam` user is notified via
bf99325b 430email about the newly available packages. From the GUI, the change-log of
e3eaa56a 431each package can be viewed (if available), showing all details of the
bf99325b 432update. Thus, you will never miss important security fixes.
e3eaa56a 433
bf99325b
DW
434Please note that you need a valid subscription key to access this
435repository. We offer different support levels, which you can find further
436details about at {pricing-url}.
e3eaa56a
DM
437
438NOTE: You can disable this repository by commenting out the above line
bf99325b 439using a `#` (at the start of the line). This prevents error messages,
e3eaa56a 440if you do not have a subscription key. Please configure the
bf99325b 441`pmg-no-subscription` repository in this case.
e3eaa56a
DM
442
443
444{pmg} No-Subscription Repository
445~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
446
447As the name suggests, you do not need a subscription key to access
448this repository. It can be used for testing and non-production
bf99325b 449use. It's not recommended to use this on production servers, as these
e3eaa56a
DM
450packages are not always heavily tested and validated.
451
bf99325b 452We recommend configuring this repository in `/etc/apt/sources.list`.
e3eaa56a
DM
453
454.File `/etc/apt/sources.list`
455----
25901eb2
TL
456deb http://ftp.debian.org/debian bookworm main contrib
457deb http://ftp.debian.org/debian bookworm-updates main contrib
483f7a35
TL
458
459# security updates
25901eb2 460deb http://security.debian.org/debian-security bookworm-security main contrib
e3eaa56a
DM
461
462# PMG pmg-no-subscription repository provided by proxmox.com,
463# NOT recommended for production use
25901eb2 464deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription
e3eaa56a
DM
465----
466
467
468{pmg} Test Repository
469~~~~~~~~~~~~~~~~~~~~~
470
bf99325b
DW
471Finally, there is a repository called `pmgtest`. This contains the
472latest packages, and is heavily used by developers to test new
473features. As with before, you can configure this using
e3eaa56a
DM
474`/etc/apt/sources.list` by adding the following line:
475
476.sources.list entry for `pmgtest`
477----
25901eb2 478deb http://download.proxmox.com/debian/pmg bookworm pmgtest
e3eaa56a
DM
479----
480
582a64ad 481WARNING: the `pmgtest` repository should only be used
e3eaa56a
DM
482for testing new features or bug fixes.
483
484
485SecureApt
486~~~~~~~~~
487
bf99325b
DW
488We use GnuPG to sign the `Release` files inside these repositories,
489and APT uses these signatures to verify that all packages are from a
e3eaa56a
DM
490trusted source.
491
bf99325b
DW
492The key used for verification is already installed, if you install from
493our installation CD. If you install via another means, you can manually
25901eb2 494download the key by executing the following command as root user:
e3eaa56a 495
483f7a35 496----
25901eb2 497 # wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
483f7a35 498----
e3eaa56a 499
483f7a35 500Verify the checksum afterwards with the `sha512sum` CLI tool:
e3eaa56a
DM
501
502----
25901eb2
TL
503# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
5047da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
505----
506
483f7a35 507or the `md5sum` CLI tool:
e3eaa56a
DM
508
509----
25901eb2
TL
510# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
51141558dc019ef90bd0f6067644a51cf5b /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
512----
513
514
45613eb1
AZ
515Debian Non-Free Repository
516~~~~~~~~~~~~~~~~~~~~~~~~~~
96806766
SI
517
518Certain software cannot be made available in the `main` and `contrib`
519areas of the {debian} archives, since it does not adhere to the Debian
520Free Software Guidelines (DFSG). These are distributed in the
521{debian_nonfree_archive_area}. For {pmg} two packages from the `non-free` area
522are needed in order to support the RAR archive format:
523
524* `p7zip-rar` for matching xref:pmg_mailfilter_what[Archive Objects] in the
525 xref:chapter_mailfilter[Rule system]
526
527* `libclamunrar` for detecting viruses in RAR archives.
528
45613eb1
AZ
529To enable the `non-free` component, run `editor /etc/apt/sources.list` and
530append `non-free` to the end of each `.debian.org` repository line.
5479707c 531
bf99325b 532Following this, you can install the required packages with:
5479707c
TL
533
534----
535apt update
536apt install libclamunrar p7zip-rar
537----
9163e56a
AZ
538
539
540[[pmg_debian_firmware_repo]]
541Debian Firmware Repository
542~~~~~~~~~~~~~~~~~~~~~~~~~
543Starting with Debian Bookworm ({pmg} 8) non-free firmware (as defined by
544https://www.debian.org/social_contract#guidelines[DFSG]) has been moved to the
545newly created Debian repository component `non-free-firmware`.
546
547Enable this repository if you want to set up
548xref:pmg_firmware_cpu[Early OS Microcode Updates] or need additional
549xref:pmg_firmware_runtime_files[Runtime Firmware Files] not already included in
550the pre-installed package `pve-firmware`.
551
552To be able to install packages from this component, run
553`editor /etc/apt/sources.list`, append `non-free-firmware` to the end of each
554`.debian.org` repository line and run `apt update`.