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