III. Using the text mode installation program


1. Introduction

2. Starting the installation program

3. Keyboard map

4. Time zone

5. Disk partitioning

6. Type of installation (SAS)

7. Target drive

8. Documentation

9. Hostname configuration

10. Network configuration

11. Internet connection details

12. Boot loader configuration

13. Root password

14. E-mail address configuration

15. Samba configuration

1. Introduction

This chapter documents the text-based installation program. It starts with instructions on how to boot the computer from the OpenNA/ServerAtSchool Linux 1.0 CD. Next, the installation process is explained up to the point where the optional ServerAtSchool components are to be installed. See the next chapter for more information. Note that the description of the installation process focuses on the ServerAtSchool server installation. Please refer to the original OpenNA Installation Guide ([Mourani 2003]) for more information about installing other types of servers, e.g. a web server, a database server, etc.


2. Starting the installation program

In order to start the installation of the server software, you must first boot the computer from the OpenNA/ServerAtSchool CD. See the previous chapter II. Preparing the hardware for installation for information about preparing your hardware and in particular about configuring the BIOS of your computer to boot from CD.

After inserting the CD and switching on the computer, the computer will boot from the CD. The following welcome text will be displayed:

[ installation boot message ]

Follow the instruction on the screen by pressing the [Enter]-key to begin the installation process. After pressing the [Enter]-key you will see a message about the installation kernel (vmlinuz) and a ramdisk image (initrd.img) being loaded. After that you will see all sorts of messages flash by. This means that the installation kernel is probing the hardware of the computer and loading the necessary drivers. Eventually you will see the following text on the screen:

[ text shown after proper boot ]

Follow the instructions on the screen and press the [Enter]-key to log on (no password is required). After logging on you will see the message of the day which shows the current date and time and the version of the installation kernel:

[ message displayed after logging on ]

At this point you can invoke the actual text-based installation program by typing 'setup' (without the quotes) at the command prompt and pressing the [Enter]-key.

You will see the following displayed:

[ first message displayed by installation program ]

Note that the installation program removes all existing information from the disk. The dialogue PROCEED WITH SETUP? gives you an opportunity to stop the installation without changing anything on the disk(s). If you want to proceed with the installation you should move the focus in the dialogue from [ no button ] to [ yes button ] using [Cursor Left] and then press [Enter] to confirm.

NOTICE: In the remainder of this text we will refer to the process of moving the focus in a dialogue to [ yes button ], [ no button ] or [ OK button ] and pressing [Enter] as "pressing the [Yes], [No], or [OK] button", as appropriate.

When you press the [Yes] button, the following dialogue will appear:

[ just before scanning for the installation CD in a drive ]

Press the [OK] button to confirm. The program will now look for the CD-ROM-device containing the OpenNA/ServerAtSchool CD. This may take a moment or two.

NOTICE: It may sound strange that the installation program that was loaded from the (bootable) CD is now trying to locate this same CD. The explanation for this is as follows. The computer's bootstrap loader (in the system BIOS) is capable of loading a secondary bootstrap routine from the CD into memory. As soon as this secondary bootstrap loader (H. Peter Anvin's isolinux) has been loaded, a Linux kernel and a compressed ramdisk image are loaded from the CD. Since this secondary bootstrap loader operates very close to the bare metal of the computer, at this point there is no device file available to identify the CD-ROM drive (or any other device, for that matter). Only when the kernel has been loaded and the ramdisk image initialised do the layers of drivers become available that eventually lead to the existence of /dev/hdc. However, it is not immediately clear to the installation program that this particular device corresponds with the CD-ROM drive; it could just as well be a hard disk drive. So, a search for the CD is necessary.

When the CD-ROM is found, the following dialogue will be displayed:

[ the installation CD was found in /dev/hdc ]

Confirm by pressing the [OK] button. The installation program is now ready to start the installation process proper.

NOTICE: The exact CD-ROM device (here /dev/hdc) depends on the way the disks and CD-ROM drives are configured. See section 2.3 Disks in chapter II. Preparing the hardware for installation. During installation it is important that the installer knows about the exact device. Later on, after installation, this is no longer an issue because by that time a symbolic link will have been created, linking /dev/cdrom to the actual device. This allows you to refer to the CD-ROM drive under that name rather than /dev/hdb or /dev/hdc.


3. Keyboard map

At this point the following dialogue will be displayed:

[ select keyboard map dialogue ]

Here you can select the correct layout of the keyboard attached to the computer. If you happen to have a US keyboard you only have to press the [OK] button. If this is not the case, select the correct keyboard from the list using [Cursor Down] and [Cursor Up] and confirm by pressing the [OK] button.


4. Time zone

At this point the following dialogue will be displayed:

[ select timezone dialogue ]

You can use this dialogue to select the time zone in which your server is located. The default value is Europe/Amsterdam. You can select a different time zone with [Cursor Down] and [Cursor Up]. Confirm your choice by pressing the [OK] button.

NOTICE: The ServerAtSchool software assumes that the real time clock in the computer's BIOS is set to UTC (Universal Time Coordinated). This 'time zone' is also known as GMT (Greenwich Mean Time). The mapping between the UTC in the BIOS and the real time zone you just selected in this dialogue takes care of switching to and from DST (Daylight Savings Time) automatically.


5. Disk partitioning

At this point the following dialogue will be displayed:

[ select manual partitioning dialogue ]

In this dialogue you can choose whether you let the installation program perform the disk partitioning automatically or you do the disk partitioning manually. If you choose the latter option, see Appendix A. Manual disk partitioning for more information.

For most users there is no need to do any manual partitioning. If you allow the installation program to do the partitioning automatically, the target disk (which you select in section 7. Target drive below) will be partitioned and formatted without further user interaction. This is a fast and clean way to install OpenNA/ServerAtSchool Linux onto the server computer. It is highly recommended to let the installation program take care of partitioning automatically.

NOTICE: You can find a table with the default ServerAtSchool partitioning scheme in Appendix A. Manual disk partitioning.

Indicate your choice using the cursor keys and press the [OK] button to confirm.


6. Type of installation (SAS)

If you selected NO in the previous step, the following dialogue will now be displayed:

[ select server type dialogue (unselected) ]

You can now select the specific server you wish to install. Standard OpenNA Linux 1.0 allows you to choose 1 out of these 10 different options: web server (HTTP), file server (FTP), name server (DNS), mail server (SMTP), database server (SQL), gateway server, virtual server, workstation, desktop, and minimal server.

ServerAtSchool adds an 11th option to the 10 existing ones: Server At School (SAS). This server type combines features from the web server, name server, mail server, database server and the gateway server and adds even more features especially for schools.

NOTICE: We have now reached the point where we divert from the standard OpenNA installation program. If you select any other server than SAS ServerAtSchool at this point, you will effectively be installing one of the ten standard OpenNA Linux servers. This manual was created to guide you through the installation of ServerAtSchool. Please refer to the original OpenNA Linux Installation Guide ([Mourani 2003]) if you wish to install one of the ten original OpenNA servers.

Select the ServerAtSchool server by moving the blue selection bar (with the cursor keys) to the line that reads [ sas server type ]. Then press the [Spacebar]. A letter X appears to indicate that the ServerAtSchool server is now selected, as shown in the image below:

[ select server type dialogue (SAS selected) ]

NOTICE: If you do not select the ServerAtSchool server or any other server, the 'minimal' OpenNA server will be installed by default. If you accidently press the [OK] button without selecting a server type with [Spacebar] you will end up with an OpenNA minimal server instead of a ServerAtSchool server.

Once you have selected the ServerAtSchool server, you should confirm your choice by pressing the [OK] button.

If you manually partitioned the disk (following the instructions in Appendix A. Manual disk partitioning), you do not have to select the target drive anymore. You can skip the next section and proceed with section 8. Documentation.


7. Target drive

At this point the following dialogue will be displayed.

[ target disk dialogue with 1 disk ]

This dialogue contains a list of available disks as detected by the installation program. In the example above the computer has only one disk with a capacity of about 10 GB (9538 MB). Below is an example of the same dialogue in another computer. The computer in this example has 3 disks of 120 GB (114470 MB) each.

[ target disk dialogue with 3 disks ]

You can select one of the disks from the list. This disk will be used to store all of the standard ServerAtSchool partitions if you opted for automatic partitioning in section 5. Disk partitioning above.

NOTICE: In chapter II. Preparing the hardware for installation the details of a 'standard' ServerAtSchool server are discussed. It is recommended to install the server software on /dev/hda. Devices /dev/hdb, /dev/hdc and /dev/hdd can then be used for the CD-ROM drive, the /backup partition, and the /home/buddies/home partition.

Select the target disk from the list and press the [OK] button to confirm your choice. The following dialogue appears:

[ progressbar at 37% ]

NOTICE: This is the last opportunity to bail out of the installation program. Nothing irreversible has happened yet. If you are absolutely certain that you want to destroy all the existing data on the disk you selected, you can proceed.

Press the [Yes] button to start the automatic partitioning and formatting of the selected disk. After pressing the [Yes] button the selected disk will be partitioned. The screen shows messages like this:

[ automatic partitioning is taking place ]

After partitioning all partitions are formatted with the Reiser Journalling File System. The screen shows messages like this:

[ automatic formatting is taking place ]

NOTICE: In Appendix A. Manual disk partitioning) you can find a table that shows the default partitioning scheme used in ServerAtSchool.


8. Documentation

At this point the following dialogue will be displayed:

[ install documentation dialogue ]

In this dialogue you can specify whether you want to install the system documentation (i.e. man pages and other documentation). Having the documentation available at all times can be very convenient. Installing the documentation is highly recommended for a ServerAtSchool server. If, however, you already have the documentation installed on another server you have easy access to, you might want to save some disk space by not installing the documentation. If you select [No], the documentation and the tools to display the manual pages (such as groff(1) and man(1)) will not be installed on your system.

Press the [Yes] (or [No]) button to continue.

The installation program now has enough information to start installing software packages on the computer's hard disk. This may take a while because some 150 software packages need to be installed. During the installation a progress bar will be displayed on the screen, as shown in the image below:

[ progressbar at 37% ]

Please wait until the progress bar has reached 100%.


9. Hostname configuration

At this point the following dialogue will be displayed:

[ hostname dialogue (empty) ]

This dialogue asks you to enter the fully qualified domain name (FQDN) of the server.

NOTICE: The FQDN of the server is the name of the server including any subdomains and the top level domain. You should not enter an IP address (with digits) here.

If your school is called the Elisa Dolittle School, you might have been able to register the domain name elisadolittle.org via your ISP (Internet Service Provider). A good name for the server would then be higgins. In this case the FQDN of the server would be higgins.elisadolittle.org.

On the other hand, if you work for a single school with two different locations and hence with two different local area networks, say the Robert L. Stevenson Primary School with its domain name stevensonschool.net, things get a little complicated. You could construct two different subdomains for the two locations, say uptown.stevensonschool.net and downtown.stevensonschool.net. Good FQDN's for the servers in both locations would be jekyll.uptown.stevensonschool.net and hide.downtown.stevensonschool.net.

Another possibility is that you do not have your own domain name, but instead you have to use a subdomain of your ISP. In that case the ISP, which (say) operates the domain serveratschool.net, may have provided the school, say the Exemplum Primary School, with the subdomain name exemplum.serveratschool.net. In this case a good idea would be to name the server after the first headmaster of the school, Mr. Ludovicus Praeceptor. The FQDN of the server would then become praeceptor.exemplum.serveratschool.net. This is what we have used as example here. Of course you should use your own domain name and think of a good hostname.

Enter the full name of the server, including the full domain as shown in the image below:

[ fully qualified domain name entered ]

Note that in this case the (bare) hostname is praeceptor whereas the domain name is exemplum.serveratschool.net. Therefore the FQDN of the server is praeceptor.exemplum.serveratschool.net.

NOTICE: It is customary to enter the FQDN in all lower-case letters.

NOTICE: You may need to check with your ISP or the administrator of your domain name to see which name you can use for this server. See also section 3. Bind in chapter V. Configuring all ServerAtSchool components.

NOTICE: If your Internet connection is based on DHCP (i.e. the server gets all relevant information about IP address, network mask, name servers, etc. dynamically) you should enter localhost.localdomain here. However, using DHCP on your Internet connection will give you a lot of headaches later on. You will be much better off using a static, i.e. fixed, IP address. The semi-static IP addresses that some ISPs offer also cause many problems that you will have to deal with. Handling these problems is beyond the scope of this guide. You really want a static IP address.

Press the [OK] button to confirm the fully qualified domain name you just entered.


10. Network configuration

At this point a dialogue similar to the one below will be displayed:

[ network card found for eth0. use dhcp? ]

The installation program has detected a network card in the computer. In this case it is a 3Com card which uses the 3c59x driver. This network interface will be called eth0. This is the interface that connects the computer to the Internet. You have the option to choose DHCP for this interface. However, this may present you with all sorts of problems lateron, e.g. the firewall configuration and the nameserver configuration. Handling these problems is beyond the scope of this guide. If at all possible you should opt for a fixed (static) IP address from your ISP.

Press the [No] button in to use a fixed (static) IP address. Press the [Yes] button to use a dynamic address via DHCP.

NOTICE: At this point in the installation process, the second network interface eth1, which is used to connect to the Local Area Network, has already been configured automatically. By default this interface has been assigned the IP address in the subnet with netmask and broadcast address

NOTICE: There is a chance that the installation program assigned the name eth0 to the interface you want to use for the internal interface (the LAN) and the name eth1 for the interface you had in mind for the external interface. If this is the case, you can correct this later on. Refer to section 2.1 /etc/modules.conf in chapter V. Configuring all ServerAtSchool components for more information.


11. Internet connection details

If you have just selected [No] for DHCP, you now have to enter information about the static external IP address of your server. By default the installation program presents you with a semistandard set of addresses. The defaults are shown in the table below.

Internet connection details: ServerAtSchool defaults and example
item default value example value comments
IP address  
Default gateway  
Primary nameserver Please do not use these addresses but the ones provided by your own ISP
Secondary nameserver Please do not use these addresses but the ones provided by your own ISP
Search option (derived from the fully qualified domain name) exemplum.serveratschool.net  

The first dialogue of this series of eight looks like this:

[ please enter your IP address ]

Here you can specify the details of your Internet connection. In this first dialogue you should enter the static external IP address at which your server will be connected to the Internet.

NOTICE: Some providers offer an Internet connection via a 'private network' and NAT (Network Address Translation) or NAPT (Network Address and Port Translation). In these cases you need to enter the relevant address from this private network, e.g. Refer to the instructions provided by your ISP. A large ISP in the Netherlands which is popular with schools uses this setup, hence the default values.

Confirm the IP address value by pressing the [OK] button. The following dialogue will appear:

[ please enter the netmask address ]
In this dialogue you need to enter the network mask for your Internet connection. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter the broadcast address ]

In this dialogue you need to enter the broadcast address for your Internet connection. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter the network address ]

In this dialogue you need to enter the network address for your Internet connection. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter the default gateway ]

In this dialogue you need to enter the address of the default gateway for your Internet connection. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter primary dns server address ]

In this dialogue you need to enter the address of the primary nameserver. As a rule this is the nameserver of your ISP. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter secondary dns server address ]

In this dialogue you need to enter the address of the secondary nameserver. Confirm the value by pressing the [OK] button. The following dialogue will appear:

[ please enter the search option ]
This dialogue allows you to specify a list of domain names for the search option. Usually this list is limited to just the full domain of the server. Since the server is called praeceptor.exemplum.serveratschool.net (see section 9. Hostname configuration), the full domain name in this case is exemplum.serveratschool.net.

NOTCE: If you have a more complex setup than the standard ServerAtSchool setup, you may want to specify more than one domain in this search list, e.g. downtown.stevensonschool.net stevensonschool.net. Note that the domains should be separated by spaces (not commas). If you do enter more than one domain, you should make certain that the full domain name of the server is specified first.


12. Boot loader configuration

The next phase in the installation of the ServerAtSchool server could have been to specify the password for GRUB (GRand Unified Bootloader). This is the way it is done in a standard OpenNA server.

During development of the ServerAtSchool server it was decided to leave out this password alltogether. The reason is that access to the server hardware in the average (Dutch) primary school is not so easy. It would be very inefficient to insist on a password for a system boot and then have the headmaster type a difficult password, hanging upside down in a broom closet, every time the server needs to be rebooted.

Furthermore, if someone has physical access to the server, it might even be easier to force access to the system by booting off a CD-ROM or floppy disk. If you really think this is a problem, you should prevent physical access to the server and perhaps install a BIOS boot password (which would prevent any boot method, be it GRUB from the hard disk or a CD or a floppy).

A third reason to have no GRUB password (and also no BIOS boot password) is that it would make it impossible for a remote system administrator to reboot the server for maintenance or any other reason, e.g. in case of a reboot due to a power outage or a kernel upgrade.


13. Root password

At this point the following dialogue will be displayed:

[ enter root password ]

The root account gives you unrestricted access to the computer; it is the account with every privilege you can imagine. If you are root, you can see and do everyting. A good password is essential.

Enter a good password here. In short, a 'good' password has at least one digit (0,...,9), at least one lowercase letter (a,...,z), at least one uppercase letter (A,...,Z) and preferably at least one special character. Suitable special characters are: at-sign '@', hash '#', dollar '$', percentage sign '%', caret '^', ampersand '&', asterisk '*', left parenthesis '(', right parenthesis ')', dash '-', underscore '_', plus '+', equals '=', left curly brace '{', right curly brace '}', opening bracket '[', closing bracket ']', semicolon ';', slash '/', dot '.' and question mark '?'. It is also a good idea to choose a password of at least 8 characters long. It is imperative that the root password be hard to guess. After all, root is the single most powerful account on any server and once the root account is compromised you can never be sure about the system's integrity again except after a complete reinstallation.

NOTICE: This dialogue (and the next one) does not show the characters you type, not even asterisks: you must enter the password without any visual feedback. This is a security feature; no one should be able to look over your shoulder and see your password. Furthermore, if you actually use the password to login you do not get visual feedback either. This is standard Linux behaviour.

Enter the password and press the [OK] button to confirm. A second password dialogue will be displayed:

[ confirm root password ]

In this dialogue you need to re-enter the password you entered in the previous dialogue. This is to make sure that you did not make any typing errors. Both entries for the root password must match exactly. If they do not match, you will have to repeat the sequence.

If the second entry matches the first, the following appears on the screen:

[ root password changed ]

Press the [OK] button to continue.


14. E-mail address configuration

Various system services communicate with the system administrator via automatically generated electronic mail. It is important that this mail is read by a person. You simply cannot run a secure server and at the same time ignore the e-mail messages that are generated.

At this point a dialogue box like the following will appear:

[ enter email address of administrator ]

Enter a valid e-mail address in the dialogue box. Press the [OK] button to confirm.


15. Samba configuration

The following dialogue will now appear:

[ please enter the samba workgroup name ]

By default, the installation program extracts a Samba workgroup name EXEMPLUM from the hostname praeceptor.exemplum.serveratschool.net (see the discussion of the hostname in section 9. Hostname configuration). Other examples of an automatically extracted Samba workgroup name would be ELISADOLITTLE from higgins.elisadolittle.org, UPTOWN from jekyll.uptown.stevensonschool.net and DOWNTOWN from hide.downtown.stevensonschool.net.

By convention the workgroup name is in upper-case letters. The workgroup name must be no longer than 15 characters and may not contain spaces.

NOTICE: It is very bad practice to enter the word 'WORKGROUP' as the name of the workgroup. Even though your LAN is behind a firewall, there might be situations where such an obvious name makes it far too easy for an outsider to try and log on to your Samba server.

NOTICE: You are completely free to choose any workgroup name; the generated default value is only a suggestion.

Enter a valid workgroup name and press the [OK] button to confirm your choice.

At this point all the standard components have been dealt with. In the next chapter we will discuss the installation of the optional components that can be installed on the ServerAtSchool server.


Author: Peter Fokker <peter (at) berestijn.nl>
$Id: installing.html,v 1.18 2006/03/31 15:35:47 peter Exp $