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