]> git.proxmox.com Git - pmg-docs.git/blame - pmg-installation.adoc
certs: pmg uses fingerprint pinning
[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
582a64ad 8The installer asks you a few questions, then partitions the local
03c03402
DM
9disk(s), installs all required packages, and configures the system
10including a basic network setup. You can get a fully functional system
11within a few minutes. This is the preferred and recommended
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,
12908dd2 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
45After choosing the correct entry (e.g. Boot from USB) the {pmg} menu will be
46displayed 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
56Start installation in debug mode. It opens a shell console at several
57installation steps, so that you can debug things if something goes
582a64ad 58wrong. You can press `CTRL-D` to exit those debug consoles and continue
03c03402
DM
59installation. This option is mostly for developers and not meant for
60general use.
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
dc69da07
DM
79First step ist to read our EULA (End User License Agreement). After
80that you get prompted to select the target hard disk(s).
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
03c03402
DM
88`ext4` or `xfs` as file system, and offers additional option to
89restrict LVM space (see <<advanced_lvm_options,below>>)
90
91If you have more than one disk, you can also use ZFS as file system.
92ZFS supports several software RAID levels, so this is specially useful
93if you do not have a hardware RAID controller. The `Options` button
94lets you select the ZFS RAID level, and you can choose disks there.
95
dc69da07
DM
96image::images/installer/pmg-select-location.png[]
97
582a64ad
OB
98The next page asks for basic configuration options like your
99location, the timezone and keyboard layout. The location is used to
100select a download server near you to speed up updates. The installer is
101usually able to auto-detect those settings, so you only need to change
102them in rare situations when auto-detection fails, or when you want to
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
125- Error messages from periodic CRON jobs.
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,
133you can easily do that after 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
aecce55c
TL
141After pressing `Install`, the installer starts to format disks, and copies
142packages to the target disk(s).
dc69da07
DM
143
144image::images/installer/pmg-installation.png[]
145
582a64ad
OB
146Copying the packages usually takes a few minutes. Please wait until that is
147finished, and reboot the server.
03c03402 148
f03ead41
SI
149Further configuration is done via the Proxmox web interface.
150
151[thumbnail="pmg-gui-login-window.png"]
03c03402 152
f03ead41
SI
153Just point your browser to the IP address given during installation
154(https://youripaddress:8006).
b5b01ac3 155
b2d388d4
DM
156. Login and upload subscription key.
157+
aecce55c
TL
158NOTE: Default login is "root" and the password is chosen during the
159installation.
03c03402 160
b2d388d4
DM
161. Check the IP configuration and hostname.
162
582a64ad 163. Check and save the timezone.
b2d388d4
DM
164
165. Check your xref:firewall_settings[Firewall settings].
166
167. Configure {pmg} to forward the incoming SMTP traffic to your Mail
168server ('Configuration/Mail Proxy/Default Relay') - 'Default
169Relay' is your e-mail server.
170
171. Configure your e-mail 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
582a64ad
OB
177After the installation you have to route all your incoming and
178outgoing e-mail traffic to the {pmg}. For incoming traffic you
b2d388d4
DM
179have to configure your firewall and/or DNS settings. For outgoing
180traffic you need to change the existing e-mail server configuration.
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
200installed memory, minimum 4 GB and maximum 8 GB. The resulting value cannot
201be greater than `hdsize/8`.
202
03c03402
DM
203`minfree`::
204
2729e8b8 205Defines the amount of free space left in LVM volume group `pmg`.
03c03402
DM
206With more than 128GB storage available the default is 16GB, else `hdsize/8`
207will be used.
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
220ZFS also provides the feature to use a fast SSD drive as write cache. The
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
582a64ad 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
241Installing on top of an existing Debian installation looks 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]]
c13d3d4f
TL
251Install {pmg} as Linux Container Appliance
252------------------------------------------
253
254The full functionality of {pmg} can also run on top of a Debian-based LXC
255instance. In order to keep the set of installed software, and thus the
582a64ad 256necessary updates minimal, you can use the `proxmox-mailgateway-container`
c13d3d4f
TL
257meta-package. It does not depend on any Linux Kernel, firmware, or components
258used for booting from bare-metal, like grub2.
17a13972
TL
259
260A ready-to-use appliance template is available through the
261https://www.proxmox.com/proxmox-ve[Proxmox VE] appliance manager in the `mail`
262section, so if you already use Proxmox VE you can setup a {pmg} instance in a
263minute.
264
265NOTE: It's recommended to use a static network configuration. If DHCP should be
582a64ad 266used ensure that the container always leases the same IP, for example, by
17a13972 267reserving one with the containers network MAC address.
5991f9eb 268
3e2d2270
TL
269Additionally you can also install this on top of a container based Debian
270installation. After configuring the
271xref:pmg_package_repositories[Package repositories], you need to run:
272
273[source,bash]
274----
275apt update
276apt install proxmox-mailgateway-container
277----
5991f9eb 278
e3eaa56a
DM
279[[pmg_package_repositories]]
280Package Repositories
281--------------------
282
283All {debian} based systems use
e9fb7667 284https://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as package
e3eaa56a
DM
285management tool. The list of repositories is defined in
286`/etc/apt/sources.list` and `.list` files found inside
287`/etc/apt/sources.d/`. Updates can be installed directly using
3e2d2270 288`apt`, or via the GUI.
e3eaa56a
DM
289
290Apt `sources.list` files list one package repository per line, with
291the most preferred source listed first. Empty lines are ignored, and a
292`#` character anywhere on a line marks the remainder of that line as a
293comment. The information available from the configured sources is
3e2d2270 294acquired by `apt update`.
e3eaa56a
DM
295
296.File `/etc/apt/sources.list`
297----
7cf7c2d3 298deb http://ftp.debian.org/debian buster main contrib
e3eaa56a 299
7cf7c2d3 300deb http://ftp.debian.org/debian buster-updates main contrib
aedc8192 301
e3eaa56a 302# security updates
79569792 303deb http://security.debian.org/debian-security buster/updates main contrib
e3eaa56a 304----
79569792 305// FIXME for 7.0: change security update suite to bullseye-security
e3eaa56a
DM
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----
7cf7c2d3 320deb https://enterprise.proxmox.com/debian/pmg buster pmg-enterprise
e3eaa56a
DM
321----
322
323As soon as updates are available, the `root@pam` user is notified via
324email about the available new packages. On the GUI, the change-log of
325each package can be viewed (if available), showing all details of the
326update. So you will never miss important security fixes.
327
328Please note that and you need a valid subscription key to access this
329repository. We offer different support levels, and you can find further
d2ae160b 330details at {pricing-url}.
e3eaa56a
DM
331
332NOTE: You can disable this repository by commenting out the above line
333using a `#` (at the start of the line). This prevents error messages
334if you do not have a subscription key. Please configure the
335`pmg-no-subscription` repository in that case.
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
343use. Its not recommended to run on production servers, as these
344packages are not always heavily tested and validated.
345
346We recommend to configure this repository in `/etc/apt/sources.list`.
347
348.File `/etc/apt/sources.list`
349----
7cf7c2d3 350deb http://ftp.debian.org/debian buster main contrib
e3eaa56a
DM
351
352# PMG pmg-no-subscription repository provided by proxmox.com,
353# NOT recommended for production use
7cf7c2d3 354deb http://download.proxmox.com/debian/pmg buster pmg-no-subscription
e3eaa56a
DM
355
356# security updates
79569792 357deb http://security.debian.org/debian-security buster/updates main contrib
e3eaa56a
DM
358----
359
360
361{pmg} Test Repository
362~~~~~~~~~~~~~~~~~~~~~
363
364Finally, there is a repository called `pmgtest`. This one contains the
365latest packages and is heavily used by developers to test new
366features. As usual, you can configure this using
367`/etc/apt/sources.list` by adding the following line:
368
369.sources.list entry for `pmgtest`
370----
7cf7c2d3 371deb http://download.proxmox.com/debian/pmg buster pmgtest
e3eaa56a
DM
372----
373
582a64ad 374WARNING: the `pmgtest` repository should only be used
e3eaa56a
DM
375for testing new features or bug fixes.
376
377
378SecureApt
379~~~~~~~~~
380
381We use GnuPG to sign the `Release` files inside those repositories,
382and APT uses that signatures to verify that all packages are from a
383trusted source.
384
385The key used for verification is already installed if you install from
386our installation CD. If you install by other means, you can manually
387download the key with:
388
7cf7c2d3 389 # wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
e3eaa56a
DM
390
391Please verify the checksum afterwards:
392
393----
7cf7c2d3
SI
394# sha512sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
395acca6f416917e8e11490a08a1e2842d500b3a5d9f322c6319db0927b2901c3eae23cfb5cd5df6facf2b57399d3cfa52ad7769ebdd75d9b204549ca147da52626 /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
e3eaa56a
DM
396----
397
398or
399
400----
7cf7c2d3
SI
401# md5sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
402f3f6c5a3a67baf38ad178e5ff1ee270c /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
e3eaa56a
DM
403----
404
405
96806766
SI
406Other Repository Sources
407~~~~~~~~~~~~~~~~~~~~~~~~
408
409Certain software cannot be made available in the `main` and `contrib`
410areas of the {debian} archives, since it does not adhere to the Debian
411Free Software Guidelines (DFSG). These are distributed in the
412{debian_nonfree_archive_area}. For {pmg} two packages from the `non-free` area
413are needed in order to support the RAR archive format:
414
415* `p7zip-rar` for matching xref:pmg_mailfilter_what[Archive Objects] in the
416 xref:chapter_mailfilter[Rule system]
417
418* `libclamunrar` for detecting viruses in RAR archives.
419
5479707c 420.Additional sources.list entry for `non-free`
96806766
SI
421----
422deb http://deb.debian.org/debian/ buster non-free
423deb http://security.debian.org/debian-security buster/updates non-free
424deb http://deb.debian.org/debian/ buster-updates non-free
425----
5479707c
TL
426
427Then you can install the required packages with:
428
429----
430apt update
431apt install libclamunrar p7zip-rar
432----