Based on Debian 10 "Buster" environment.

Debian 10 "Buster" installation

In this case, I installed the Debian 10 ‘Buster’ into a VPS. This kind of VPS services provides the very standard virtual hardware, so we shouldn’t have any difficulties to start installation.
If you were in front of the latest hardware, in my case a machine with RYZEN5 2400G, you may need some boot parameters to see the installation screen. e.g. boot: install vga=normal fb=false

Installation

There is a detailed installation guide on the Debian official site. If you need more information, please refer to the link above.

Installer menu

“Graphical install” is the default but I normally choose the simple “install” since I don’t need the mouse during installation.

Select a language

Choose “English – English”. As described on the screen, this choice is also the default language of your system after installation. Choosing English is just a safer way in case you have to access the server from a very limited environment, for example without your language keyboard, without font files other than the basic ASCII characters.
If you’re sure you’ll never access the server other than your language choice, you can choose anything you like.

Select your location

Choose where you are located. This will determine the timezone that will appear on the logs or mail headers.
If your location is not on the list, just choose “other” to find out more.

Configure locales

You may not see this screen. In my case, I chose English as the language but Japan as the location. There is no standard combination of English – Japanese so the system confirms which it should be. I recommend to choose en_??.UTF-8 as a safe choice.

Configure the keyboard

Choose the keyboard layout you normally use. If you use multiple keyboards with multiple layouts, choose the one you are using during the installation. (I don’t think such kind of people need these basic explanation though…)


Configure the network

The installer tries to find out network configuration automatically. It will ask you to configure manually in case of auto-configuration failure.
Please follow the instructions from your service provider. Here I explain the case with “Configure network manually”.

IP address / Netmask / Gateway / Name servers

These informations should be provided from your (network) service provider.

Input IPv4 or IPv6. If you are setting up the server, you should have a simple IPv4 address, “xxx.xxx.xxx.xxx”.
You can set up an IPv6 address after you finish the installation.

Netmask seems like IP address, such as 255.255.255.0 or 255.255.254.0.

There can be more than 1 name servers provided. In that case, input all of them separated by a space.

Hostname / Domain

Hostname is the name displayed when you log in to the server via ssh. (And in the same domain network, the hostname will be the unique name to reach each machine.)

user@hostname:~$

For example, if this server “tech.ginnojo.jp”, hostname will be “tech”. Domain will be “ginnojo.jp”.
If you don’t have any original domain name, the service provider should provide the information about it. Roughly saying, this information is not so important especially running the server within the local network.


Set up users and passwords

‘root’ password

‘root’ is the administrator with all privileges. This password must be kept top secret and should not be used often.
Never forget this password or you will have a hard time to recover it.

New user Full name / Username / Password

This will create a normal account for everyday operations. Full name doesn’t have to be really full name. Username doesn’t have to be your first name. You can choose whatever you like.
If the system is under control of an organization, then there should be some naming conventions for usernames.

If you plan to set up a mail server, then the username will be the account name for the mail address. (You can hide this mailing account name using some aliases externally, or using virtual mailbox.)

The password should be different from the root one. This password will often be required with the command “sudo” to maintain the system.


Partition disks

Partitioning method

Unless you are trying to set up a dual-boot system, “Guided – use entire disk” is the simplest choice. Just erasing anything on the disk and set up a new system.

Select disk to partition

Unless you have multiple disks (drives), there will be only one choice. If you prepared the system drive and another data drive, please choose the system drive.

Partitioning scheme

“All files in one partition (recommended for new users)” is the easiest choice unless you have some specific plan for the partitioning (like 2 drives case described above).

Check overview

This is the confirmation screen just before deleting the data on the disk. Review what you have chosen and choose “Finish partitioning and write changes to disk”.

After this screen, there will be one more confirmation screen. Check again and hit <Yes> to proceed. Once you finish this process, you can never recover the deleted data.


Scan another CD or DVD?

Simply choose <No>.
Unless you are trying to install Debian without the internet connection, there should be only one CD or DVD. In other words, only one is enough since the latest data will be retrieved via the internet.

Debian archive mirror country:

Debian archive mirror

Choose the country nearest to the server location. After choosing the country, there may be detailed choices for the mirror server. This will be the mirror to access everyday maintenance, so the nearest and fastest server is recommended.
In Japan case, ftp.jp.debian.org is the CDN mirror that is recommended for all users.

HTTP proxy information (blank for none):

If you are setting up a public server, this should be left blank. In case you are in some closed network, you need information about the proxy server to go out to the internet.


Configuring popularity-contest

As described on the screen, choose “Yes” to provide the package usage anonymous data to help Debian developers if you are OK.


Software selection

In this case, I choose nothing (unselecting all) to start from the minimal.
You may be anxious about unselecting the “standard system utilities”, but it doesn’t mean you are unselecting the very basic commands such as “cp” or “ls”. If you want to check what will be installed by selecting this option, you can check and install them later.

To check the packages installed, try the following command.

$ tasksel --task-packages standard | sort

Install the GRUB boot loader on a hard disk

Install the GRUB boot loader to the master boot record?

Unless you set up a dual-boot system, just choose <Yes> as recommended.

Device for boot loader installation:

In a simple case, you will have only one suggestion of the (virtual) physical drive. If you have multiple drives or have some special settings, choose “Enter device manually”.


Finish the installation

Now installation is completed. Remove the CD/DVD and reboot to start the system. Since the system is minimal now, you still need physical access to the server until you set up the ssh server.