Debian 12 Server Installation Guide (Step-by-Step)

Debian 12 (“Bookworm”) is a stable and reliable Linux distribution that is widely used for production servers,
virtualization platforms and hosting environments. This
Debian 12 installation guide walks you through the entire server installation process step by step:
ISO mount, graphical installer, static IPv4 network configuration, user and root password management,
manual storage layout, package selection and the final reboot.

The instructions and screenshots are based on a typical dedicated server or KVM VPS setup, where you mount an
installation ISO through a remote console (IPMI, KVM or similar) and install Debian 12 server onto a new disk.
By carefully following each step in this Debian 12 Bookworm guide, you will end up with a clean, production-ready
Debian 12 system that you can immediately access over SSH and use as a base for web hosting, containers or
virtualization workloads.

Info: This Debian 12 installation guide assumes a fresh server (bare metal or KVM VPS)
with full access to a remote console and ISO mounting capability. If an operating system or data already exists
on the disk, make sure you have valid backups before proceeding.

Step 1 – Debian 12 Graphical Installer

In this first step, you start the Debian 12 graphical installer from the ISO mounted on your dedicated server
or virtual machine console. These screens define the language, location and basic installer environment.

1. Start the installation by selecting the “Graphical install” option.

Debian 12 graphical install menu

This launches the Debian 12 graphical installer, which is easier to follow for step-by-step configuration on servers
and virtual machines. After initiating the installation, wait a few moments for the installer to load the required
components and move to the next screen. During this phase, the installer detects hardware, storage controllers and
network interfaces.

2. Wait while the installer prepares the environment.

Debian 12 installer loading components

At this step, no action is required. The installer is loading core components and preparing the environment for
the next questions.

3. Select your preferred language.

Debian 12 language selection screen

This setting controls the installer language and default locale for your Debian 12 system.

4. Choose your location.

Debian 12 location selection screen

Your location is used for time zone settings and to select nearby Debian mirrors for faster package downloads.

Step 2 – Network Configuration (Static IPv4)

Correct network configuration in Debian 12 is essential, especially on remote dedicated servers and VPS instances.
In this step, you configure a static IPv4 address, netmask, gateway and DNS servers so that your server is reachable
immediately after installation.

Warning: Incorrect IPv4 configuration may prevent you from reaching your Debian 12 server over SSH
after installation. Double-check the main IP, netmask, gateway and DNS values before continuing, especially on
remote dedicated servers and VPS instances.

5. Select the network interface to use.

Debian 12 network interface selection

On many dedicated servers the default interface is something like enp1s0f0. Select the correct interface that is
connected to your provider network.

6. Proceed to IPv4 configuration.

Debian 12 automatic network configuration

If the IPv4 configuration page does not appear as expected, you can go back and re-select manual network configuration.

7. Use “Go Back” to choose manual configuration if needed.

Debian 12 go back to network configuration menu

8. Select “Configure network manually”.

Debian 12 manual network configuration selection

This allows you to define a static IPv4 address for your Debian 12 server instead of using DHCP.

9. Perform the IPv4 configuration.

Debian 12 IPv4 configuration form

At this step, the IPv4 configuration is applied. You must specify:
  • Address: Your server’s main IPv4 address.
  • Netmask: The subnet mask that matches your IP block.
  • Gateway: The default route provided by your hosting provider.
These values should match the information in your provider’s IP management or control panel. This is a critical step
in the Debian 12 installation guide, because it defines how the server will be reachable on the network after the
first boot.

10. Enter the gateway address.

Debian 12 gateway configuration screen

11. Configure your DNS servers.

Debian 12 DNS configuration

You can use our DNS Cache IP addresses 85.208.196.51 and 85.208.196.52, or your preferred resolvers.

12. Set your server hostname.

Debian 12 hostname configuration

This is the primary name that identifies your Debian 12 host on the network (for example, debian12.example.com).

13. Optionally specify a domain name.

Debian 12 domain name configuration

You can leave this field blank if you do not use a specific domain or local DNS search domain.

Step 3 – User & Root Password Management

In this step, you configure the root password and create a non-root user account. This user is typically used
for daily administration with sudo.

14. Set a strong root password.

Debian 12 root password screen

The root account has full administrative privileges, so choose a unique and complex password and store it securely.

15. Create a non-root user account.

Debian 12 full name for new user

Enter the full name or identifier for the user who will manage the system.

16. Confirm the username.

Debian 12 username selection

17. Set a secure password for this user.

Debian 12 user password screen

This account is usually used with sudo instead of logging in directly as root.
Warning: Use strong passwords for both root and the regular user, especially if SSH access
will be exposed to the internet. After installation, consider hardening SSH by using key-based authentication
and disabling direct root logins.

Step 4 – Storage Configuration (Manual Partitioning)

Storage layout is a key part of a professional Debian 12 server setup. Using manual partitioning allows you to
control separate partitions for /boot, swap and the root filesystem.

Warning: When you follow this Debian 12 storage configuration, all existing data on the selected
disk may be deleted. Make sure you are working on the correct device and that important data is backed up
before writing changes to disk.

18. Choose the “Manual” option for disk configuration.

Debian 12 manual partitioning selection

This allows you to define partitions for /boot, swap and / according to your needs.

19. Delete old partitions if an OS was previously installed.

Debian 12 delete existing partitions

20. Confirm the removal by selecting “Yes”.

Debian 12 confirm partition removal

21–22. Follow the on-screen prompts to create new partitions on the target disk.

Debian 12 create new partition
Debian 12 partition options

23. Specify the size for the /boot partition.

Debian 12 boot partition size

The values shown in the screenshot are common defaults suitable for most Debian 12 servers.

24–29. Confirm the boot partition settings and return to the partition list.

Debian 12 boot partition options
Debian 12 partition flags
Debian 12 partition summary
Debian 12 write boot partition
Debian 12 partition overview
Debian 12 confirm boot partition

30. Specify the size for the swap partition.

Debian 12 swap partition size

You can adjust swap size according to your RAM and workload. A few gigabytes are usually sufficient for many servers.

31–36. Confirm the swap configuration and prepare the remaining free space for the root filesystem.

Debian 12 swap type selection
Debian 12 swap partition options
Debian 12 confirm swap partition
Debian 12 free space for root
Debian 12 create root partition
Debian 12 root partition options

37. Allocate all remaining space to the root directory (/).

Debian 12 root partition size

This is a common layout for single-disk Debian 12 servers and keeps management simple.

38. Review the final partition layout.

Debian 12 final partition layout

39. Select “Finish partitioning and write changes to disk”.

Debian 12 finish partitioning

40. Confirm by choosing “Yes”.

Debian 12 confirm write changes

The installer will now write the new partition table and format the filesystems.
Info: For many use cases, a simple scheme with one /boot, one swap partition
and one root (/) partition is enough for Debian 12 servers. More advanced setups can use
LVM or ZFS, but this guide focuses on a standard Debian 12 installation with classic partitions.

Step 5 – Package and Software Settings

In this step, you configure the Debian package manager, mirrors and select which software components will be installed
initially.

Info: For a hardened Debian 12 server, start with a minimal package set: SSH server and standard
system utilities. You can install web stacks, databases or control panels later using apt or automation
tools like Ansible.

41. When asked about scanning additional installation media, choose “No”.

Debian 12 scan additional media

42. Choose a country for the package manager mirror.

Debian 12 mirror country selection

Selecting a nearby country improves download performance when installing or updating packages.

43. Select the suggested mirror or a preferred mirror from the list.

Debian 12 mirror selection

44. If you do not use a proxy, leave the proxy field blank and continue.

Debian 12 HTTP proxy configuration

45. Allow the installer to configure the package manager by selecting “Yes”.

Debian 12 configure package manager

46. Choose the software components that best match your use case.

Debian 12 software selection tasksel

For a minimal Debian 12 server installation, keep only essential options selected (for example,
SSH server and standard system utilities). Additional services can be installed later.

Step 6 – Completing the Debian 12 Installation

Once all parameters are defined, the installer writes the Debian 12 system to disk, installs GRUB and finalizes
the base system.

47. Wait for the installation to complete, then restart your server.

Debian 12 installation complete screen

When everything is finished, you can restart your server by pressing the Continue button.

Step 7 – Extracting the Mounted ISO

After Debian 12 has been installed, the server must boot from the local disk instead of the virtual ISO.
Many remote management consoles require you to manually unplug the ISO image, similar to the Ubuntu 24.04 process.

48. After the reboot, an ISO ejection warning may appear.

ISO ejection warning screen

Pressing Enter does not always disconnect the ISO, so follow the remote console steps below.

49. From the remote management menu, go to “Virtual Storage”.

Virtual storage menu

50. Click “Plug Out” to disconnect the ISO.

Virtual storage plug out ISO

This ensures the server boots directly from the local disk instead of the installer ISO.

51. Wait for your server to boot into the freshly installed Debian 12 system.

Server reboot after ISO removal

If the server does not boot correctly, you can safely reboot it again from your provider control panel.
Warning: If the ISO remains attached, the server may boot back into the installer instead of
the freshly installed Debian 12 system. Always verify that the virtual CD/DVD device is unplugged after
installation.

Conclusion – Preparing Your Debian 12 Server for Production

By following this Debian 12 installation guide step by step, you have prepared your server, configured
a static IPv4 address, created secure user accounts, deployed a clean storage layout and installed the base
Debian 12 (“Bookworm”) operating system with the packages that fit your use case. The result is a predictable,
production-ready Debian 12 server that you can manage remotely over SSH.

As a next step, log in via SSH or console and perform essential post-installation tasks:

  • Update the package index and apply security patches using apt update && apt upgrade.
  • Configure a firewall (for example using ufw, nftables or iptables) to limit open ports.
  • Harden SSH by disabling root password login and enabling key-based authentication.
  • Set up monitoring, backups and logging according to your infrastructure standards.

Whether you run Debian 12 on a bare-metal dedicated server or a virtualized environment, this structured
installation process provides a repeatable baseline you can reuse across new deployments in your infrastructure.


You May Also Like