]> git.proxmox.com Git - pmg-docs.git/blame_incremental - pmg-installation.adoc
buildsys: improve build dir generation and cleanup
[pmg-docs.git] / pmg-installation.adoc
... / ...
CommitLineData
1Installation
2============
3
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.
7
8TIP: See the xref:faq-support-table[support table in the FAQ] for the
9relationship between {pmg} releases and Debian releases.
10
11The installer will guide you through the setup, allowing you to partition the local
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.
20
21include::pmg-installation-media.adoc[]
22
23[[pmg_install_iso]]
24Using the {pmg} Installation CD-ROM
25-----------------------------------
26
27The installer ISO image includes the following:
28
29* Complete operating system (Debian Linux, 64-bit)
30
31* The {pmg} installer, which partitions the hard drive(s) with ext4,
32 XFS or ZFS and installs the operating system
33
34* Linux kernel
35
36* Postfix MTA, ClamAV, Spamassassin and the {pmg} toolset
37
38* Web-based management interface for using the toolset
39
40
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
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:
49
50image::images/installer/pmg-grub-menu.png[]
51
52Install {pmg}::
53
54Start normal installation.
55
56Install {pmg} (Debug mode)::
57
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.
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
77You normally select *Install {pmg}* to start the installation.
78
79image::images/installer/pmg-select-target-disk.png[]
80
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.
83
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.
87
88The `Options` button lets you select the target file system, which
89defaults to `ext4`. The installer uses LVM if you select
90`ext4` or `xfs` as a file system, and offers additional options to
91restrict LVM space (see <<advanced_lvm_options,below>>)
92
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
95if you do not have a hardware RAID controller. The `Options` button
96lets you choose the ZFS RAID level and select which disks will be used.
97
98image::images/installer/pmg-select-location.png[]
99
100The next page asks for basic configuration options like your
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
105use a keyboard layout not commonly used in your country.
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
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).
121
122It is sometimes necessary to send notification to the system administrator, for
123example:
124
125- Information about available package updates.
126
127- Error messages from periodic cron jobs.
128
129All those notification mails will be sent to the specified email address.
130
131image::images/installer/pmg-setup-network.png[]
132
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,
135you can easily do that after the installation.
136
137image::images/installer/pmg-summary.png[]
138
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.
142
143After clicking `Install`, the installer will begin to format and copy packages
144to the target disk(s).
145
146image::images/installer/pmg-installation.png[]
147
148Copying the packages usually takes several minutes. When this is
149finished, you can reboot the server.
150
151Further configuration is done via the {pmg} web interface:
152
153[thumbnail="pmg-gui-login-window.png"]
154
155. Point your browser to the IP address given during the installation
156(https://youripaddress:8006).
157
158. Log in and upload your subscription key.
159+
160NOTE: The default login is "root", and the password is the one chosen during the
161installation.
162
163. Check the IP configuration and hostname.
164
165. Check the timezone.
166
167. Check your xref:firewall_settings[Firewall settings].
168
169. Configure {pmg} to forward the incoming SMTP traffic to your mail
170server ('Configuration/Mail Proxy/Default Relay') - 'Default
171Relay' is your email server.
172
173. Configure your email server to send all outgoing messages through
174your {pmg} ('Smart Host', port 26 by default).
175
176For detailed deployment scenarios see chapter
177xref:chapter_deployment[Planning for Deployment].
178
179After the installation, you have to route all your incoming and
180outgoing email traffic to {pmg}. For incoming traffic, you
181have to configure your firewall and/or DNS settings. For outgoing
182traffic you need to change the existing email server configuration.
183
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
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).
198
199`swapsize`::
200
201Defines the size of the `swap` volume. The default is the size of the
202installed memory. The minimum is 4 GB and the maximum is 8 GB. The resulting
203value cannot be greater than `hdsize/8`.
204
205`minfree`::
206
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.
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
222ZFS also provides the ability to use a fast SSD drive as write cache. The
223write cache is called the ZFS Intent Log (ZIL). You can add that after
224the installation using the following command:
225
226 zpool add <pool-name> log </dev/path_to_fast_ssd>
227
228
229[[pmg_install_on_debian]]
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
235xref:pmg_package_repositories[package repositories], you need to run:
236
237[source,bash]
238----
239apt update
240apt install proxmox-mailgateway
241----
242
243Installing on top of an existing Debian installation seems easy, but
244it assumes that you have correctly installed the base system, and you
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.
250
251
252[[pmg_install_on_debian_container]]
253Install {pmg} as a Linux Container Appliance
254--------------------------------------------
255
256{pmg} can also run inside a Debian-based LXC
257instance. In order to keep the set of installed software, and thus the
258necessary updates minimal, you can use the `proxmox-mailgateway-container`
259meta-package. This does not depend on any Linux kernel, firmware, or components
260used for booting from bare-metal, like grub2.
261
262A ready-to-use appliance template is available through the `mail` section of the
263https://www.proxmox.com/proxmox-ve[Proxmox VE] appliance manager, so if you
264already use Proxmox VE, you can set up a {pmg} instance in minutes.
265
266NOTE: It's recommended to use a static network configuration. If DHCP must be
267used, ensure that the container always leases the same IP, for example, by
268reserving one with the container's network MAC address.
269
270Additionally, you can install this on top of a container-based Debian
271installation. After configuring the
272xref:pmg_package_repositories[package repositories], you need to run:
273
274[source,bash]
275----
276apt update
277apt install proxmox-mailgateway-container
278----
279
280[[pmg_package_repositories]]
281Package Repositories
282--------------------
283
284{pmg} uses http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as its
285package management tool like any other Debian-based system.
286
287Repositories in {pmg}
288~~~~~~~~~~~~~~~~~~~~~
289
290Repositories are a collection of software packages. They can be used to install
291new software, but are also important to get new updates.
292
293NOTE: You need valid Debian and Proxmox repositories to get the latest
294security updates, bug fixes and new features.
295
296APT Repositories are defined in the file `/etc/apt/sources.list` and in `.list`
297files placed in `/etc/apt/sources.list.d/`.
298
299Repository Management
300^^^^^^^^^^^^^^^^^^^^^
301
302[thumbnail="pmg-gui-admin-repositories.png"]
303
304Since {pmg} 7.0 you can check the repository state in the web interface. The
305'Dashboard' shows a high level status overview, while the separate 'Repository'
306panel (accessible via 'Administration') shows in-depth status and list of all
307configured repositories.
308
309Basic repository management, for example, activating or deactivating a
310repository, is also supported.
311
312Sources.list
313^^^^^^^^^^^^
314
315In a `sources.list` file, each line defines a package repository. The preferred
316source must come first. Empty lines are ignored. A `#` character anywhere on a
317line marks the remainder of that line as a comment. The available packages from
318a repository are acquired by running `apt update`. Updates can be installed
319directly using `apt`, or via the GUI (Administration -> Updates).
320
321.File `/etc/apt/sources.list`
322----
323# basic Debian repositories:
324deb http://ftp.debian.org/debian bullseye main contrib
325deb http://ftp.debian.org/debian bullseye-updates main contrib
326
327# security updates
328deb http://security.debian.org/debian-security bullseye-security main contrib
329
330# Proxmox Mail Gateway repo required too - see below!
331----
332
333{pmg} provides three different package repositories.
334
335
336{pmg} Enterprise Repository
337~~~~~~~~~~~~~~~~~~~~~~~~~~~
338
339This is the default, stable and recommended repository, available for
340all {pmg} subscription users. It contains the most stable packages,
341and is suitable for production use. The `pmg-enterprise` repository is
342enabled by default:
343
344.File `/etc/apt/sources.list.d/pmg-enterprise.list`
345----
346deb https://enterprise.proxmox.com/debian/pmg bullseye pmg-enterprise
347----
348
349As soon as updates are available, the `root@pam` user is notified via
350email about the newly available packages. From the GUI, the change-log of
351each package can be viewed (if available), showing all details of the
352update. Thus, you will never miss important security fixes.
353
354Please note that you need a valid subscription key to access this
355repository. We offer different support levels, which you can find further
356details about at {pricing-url}.
357
358NOTE: You can disable this repository by commenting out the above line
359using a `#` (at the start of the line). This prevents error messages,
360if you do not have a subscription key. Please configure the
361`pmg-no-subscription` repository in this case.
362
363
364{pmg} No-Subscription Repository
365~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
366
367As the name suggests, you do not need a subscription key to access
368this repository. It can be used for testing and non-production
369use. It's not recommended to use this on production servers, as these
370packages are not always heavily tested and validated.
371
372We recommend configuring this repository in `/etc/apt/sources.list`.
373
374.File `/etc/apt/sources.list`
375----
376deb http://ftp.debian.org/debian bullseye main contrib
377deb http://ftp.debian.org/debian bullseye-updates main contrib
378
379# security updates
380deb http://security.debian.org/debian-security bullseye-security main contrib
381
382# PMG pmg-no-subscription repository provided by proxmox.com,
383# NOT recommended for production use
384deb http://download.proxmox.com/debian/pmg bullseye pmg-no-subscription
385----
386
387
388{pmg} Test Repository
389~~~~~~~~~~~~~~~~~~~~~
390
391Finally, there is a repository called `pmgtest`. This contains the
392latest packages, and is heavily used by developers to test new
393features. As with before, you can configure this using
394`/etc/apt/sources.list` by adding the following line:
395
396.sources.list entry for `pmgtest`
397----
398deb http://download.proxmox.com/debian/pmg bullseye pmgtest
399----
400
401WARNING: the `pmgtest` repository should only be used
402for testing new features or bug fixes.
403
404
405SecureApt
406~~~~~~~~~
407
408We use GnuPG to sign the `Release` files inside these repositories,
409and APT uses these signatures to verify that all packages are from a
410trusted source.
411
412The key used for verification is already installed, if you install from
413our installation CD. If you install via another means, you can manually
414download the key with:
415
416----
417 # wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
418----
419
420Verify the checksum afterwards with the `sha512sum` CLI tool:
421
422----
423# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
4247fb03ec8a1675723d2853b84aa4fdb49a46a3bb72b9951361488bfd19b29aab0a789a4f8c7406e71a69aabbc727c936d3549731c4659ffa1a08f44db8fdcebfa /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
425----
426
427or the `md5sum` CLI tool:
428
429----
430# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
431bcc35c7173e0845c0d6ad6470b70f50e /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
432----
433
434
435Other Repository Sources
436~~~~~~~~~~~~~~~~~~~~~~~~
437
438Certain software cannot be made available in the `main` and `contrib`
439areas of the {debian} archives, since it does not adhere to the Debian
440Free Software Guidelines (DFSG). These are distributed in the
441{debian_nonfree_archive_area}. For {pmg} two packages from the `non-free` area
442are needed in order to support the RAR archive format:
443
444* `p7zip-rar` for matching xref:pmg_mailfilter_what[Archive Objects] in the
445 xref:chapter_mailfilter[Rule system]
446
447* `libclamunrar` for detecting viruses in RAR archives.
448
449.Additional sources.list entry for `non-free`
450----
451deb http://deb.debian.org/debian/ bullseye non-free
452deb http://security.debian.org/debian-security bullseye-security non-free
453deb http://deb.debian.org/debian/ bullseye-updates non-free
454----
455
456Following this, you can install the required packages with:
457
458----
459apt update
460apt install libclamunrar p7zip-rar
461----