CentOS 6 Linux Server Cookbook

4 (2 reviews total)
By Jonathan Hobson
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Installing CentOS

About this book

CentOS is a community-based enterprise class operating system and this book will provide a series of practical solutions that will not only show you how to install and maintain CentOS as a server, but to explore this well-known Linux distribution with the intention of tackling many common issues by providing some tricks of the trade in order to simplify the task of building a server.

"CentOS 6 Linux Server Cookbook" is a practical guide to installation, configuration, administration, and maintenance. This is a one-stop-shop to all things CentOS, so regardless as to whether you need a mail server, web server, database server, domain server or a file sharing platform, this book provides a comprehensive series of starting points that will give you direct access to the inner workings of this open source, community-based enterprise server.

"CentOS 6 Linux Server Cookbook" is a practical guide to the complete installation, configuration, administration, and maintenance of one of the world’s most popular community-based enterprise servers.

From installation to configuration, this book of recipes will take you on a journey to explore inner workings of CentOS server. Within this book you will learn how to install CentOS in variety of settings, enhance your installation with the correct tools of the trade and prepare your server to fulfil almost any role you could ever need.

By discovering more about time, networking, package management, system management and security, this book will serve to show you how to get the very best from this freely available, open source server by presenting a series of solutions that will enable you to master the art of building your very own web, database, mail, domain name, file sharing services.

CentOS 6 Linux Server Cookbook is a hands-on approach to installing, configuring and managing this ever popular community based enterprise server. By taking you from installation to customization this book will serve all Linux professionals and enthusiasts alike by providing you with a practical guide to using CentOS as a world-class server solution that is capable of delivering your mail, web, ftp, domain and file sharing services.

Publication date:
April 2013
Publisher
Packt
Pages
374
ISBN
9781849519021

 

Chapter 1. Installing CentOS

In this chapter, we will cover:

  • Downloading CentOS and confirming the checksum on a Windows desktop

  • Performing an installation of CentOS using the graphical installer

  • Running a netinstall over HTTP

  • Installing CentOS in Text Mode and building a minimal installation

  • Re-installing the boot loader

  • Updating the installation and enhancing the minimal install with additional administration and development tools

  • Finishing the installation process with Firstboot

  • Adding the GNOME desktop environment, changing the runlevel, and installing additional software

 

Introduction


This chapter is a collection of recipes that will guide you through the process of un-wrapping the box and exploring a wide range of installation techniques by downloading CentOS and confirming the checksum on a Windows desktop; performing an installation of CentOS using the graphical installer; running a netinstall over HTTP; installing CentOS in Text Mode and building a minimal installation; re-installing the boot loader; updating the installation and enhancing the minimal install with additional administration and development tools; finishing the installation process with Firstboot; adding the GNOME desktop environment, changing the runlevel and installing additional software.

 

Downloading CentOS and confirming the checksum on a Windows desktop


In this recipe we will learn how to download and confirm the checksum of one or more CentOS 6 disk image(s) using a typical Windows desktop computer.

CentOS is made available in various formats by HTTP, FTP, or via a Torrent-based client from a series of mirror sites located across the world. It supports both the 32-bit and 64-bit architectures, and having downloaded one or more image files, it is often a good idea to validate those files' checksum in order to ensure that any resulting media should function and perform as expected.

Getting ready

To complete this recipe it is assumed that you are using a typical Windows-based computer (Windows 7, Windows Vista, or similar) with full administration rights. You will need an Internet connection to download the required installation files and access to a standard DVD/CD disk burner with the appropriate software in order to create the relevant installation disks.

How to do it...

Regardless as to what type of installation files you download, the following techniques can be applied to all image files supplied by the CentOS project:

  1. So let's begin by visiting http://www.centos.org/mirrors-list in your browser.

    Note

    This URL was correct at the time of writing this book, but if it's no longer functional or is not available, then simply visit http://www.centos.org and navigate to Downloads | Mirrors | CentOS Public Mirror List or review the links associated with the latest release announcements made on the home page.

  2. The mirror sites are categorized, so from the resulting list of links, choose a mirror that best suits your current location. For example, if you are in London (UK), you can choose European Mirrors (Countries N-Z).

  3. From the resulting list and depending on your preferred method of downloading the CentOS images, scroll down and choose a mirror site by selecting either, the HTTP or the FTP link.

  4. Having made your selection, you will now see a list of directories or folders that will allow you to choose the version of CentOS you want to install. To proceed, simply select the appropriate folder that reads 6.X, where X is the required minor release of CentOS 6.

  5. Having chosen the preferred minor release of CentOS you want to install, you will now see an additional list of directories that includes centosplus, contrib, cr, extras, fasttrack, isos, os, and updates. To proceed, choose the isos directory.

  6. At this point you are now given the opportunity to choose the preferred architecture. The directory labeled i386 is a container for the 32-bit version while the directory labeled x86_64 is a container for the 64-bit version. Make the appropriate selection to proceed.

  7. You will now be presented with a series of files available for download. Begin by downloading a copy of the valid checksum result labeled or identified as md5sum.txt.

    Note

    As this is a standard text file, place your mouse on the link, right-click and choose Save As to download a copy of md5sum.txt. When finished, store this file in a safe place for future reference. For the purpose of this recipe, it is assumed that all downloads will be stored in your C:\Users\<username>\Downloads folder.

  8. Now, depending on which installation image best suits your needs, start downloading the relevant file(s) in the usual way.

    Note

    If you are new to CentOS or are intending to follow the recipes found throughout this book, then the minimal installation is ideal. However, you should be aware that there are other options available to you.

    For a full 64-bit DVD-based installation, you will need both:

    CentOS-6.X-x86_64-bin-DVD1.iso

    CentOS-6.X-x86_64-bin-DVD2.iso

    For a full 32-bit DVD-based installation, you will need both:

    CentOS-6.X-i386-bin-DVD1.iso

    CentOS-6.X-i386-bin-DVD2.iso

    For a minimal installation, you should choose either:

    CentOS-6.X-i386-minimal.iso (32-bit version)

    CentOS-6.X-x86_64-minimal.iso (64-bit version)

    For a network installation, you should choose either:

    CentOS-6.X-i386-netinstall.iso (32-bit version)

    CentOS-6.X-x86_64-netinstall.iso (64-bit version)

    If you choose to download a torrent file, then you will need to extract these files in the usual way in order to build the appropriate ISO image file(s).

  9. When you have finished downloading the required files, visit http://mirror.centos.org/centos/dostools/ in your browser.

  10. Now download the following DOS-based tool in order that we can use it to validate our installation files:

    md5sum.exe
  11. It is assumed that you have downloaded all the files to the typical downloads folder of the current user profile on your Windows desktop (C:\Users\<username>\Downloads), so when the download is complete, open Command Prompt (typically found at Start | All Programs | Accessories | Command Prompt) and type the following command to access this location:

    cd downloads
    
  12. To see the list of files and the relevant extensions, type the following command:

    dir
    
  13. The command prompt should now list all the files in your download folder (including all image files, md5sum.txt, and md5sum.exe). Based on the file names shown, modify the following command in order to check the checksum of your ISO image file and type:

    md5sum.exe your_image_file_name_here.iso
    

    Note

    For example, you can type md5sum.exe CentOS-6.X-x86_64-minimal.iso

  14. Press the Return key to proceed and then wait for the command prompt to respond. The response is known as the sum and the result could look like this:

    087713752fa88c03a5e8471c661ad1a2  *CentOS-6.X-x86_64-minimal.iso
    
  15. Now look at the value given, this is known as the sum, and compare against the relevant listing for your particular image file listed in md5sum.txt. If both numbers match, then you can be confident that you have indeed downloaded a valid CentOS image file.

  16. Now repeat this process for any remaining image files and when you have finished, simply burn your image file(s) to a blank CD-Rom or DVD-Rom using your preferred desktop software.

How it works…

The act of downloading an installation image and validating the file's integrity is just the first step towards building the perfect server, and although the process of downloading CentOS is very simple, many do forget the need to confirm the checksum.

So what have we learned from this experience?

We began this recipe by showing you how to download CentOS by outlining the various options available to you. It is not expected that you will need to do this often, but during the course of this recipe you also learned how to navigate the CentOS Project website and select the best download location based on your current location.

Having done this, our next step was to obtain a copy of md5sum.txt before downloading the preferred image files.

Note

The choice as to whether you selected a 32-bit or 64-bit version is largely dependent on the specification of your intended server. However, given the abilities of most modern computers, for most people the obvious choice will be the 64-bit version in order that you can take advantage of the improved code base and support more than 4 GB of RAM.

The time required to complete the task of downloading the relevant files will depend largely on the speed of your Internet connection, but it was important that we obtained a copy of md5sum.exe in order to confirm file integrity and compare the value given against those listed in md5sum.txt.

The DOS-based tool was obtained from http://mirror.centos.org/centos/dostools/md5sum.exe.

Having completed these steps, we then proceed to open a command prompt session and navigate to the expected destination of all the files by typing:

cd downloads

We then proceeded to view the contents of C:\Users\<username>\Downloads by typing the following command:

dir

This action lists the filenames concerned, thereby enabling us to modify the following command in order to validate the appropriate ISO files:

md5sum.exe your_image_file_name_here.iso

The resulting response provides us with the checksum value of the file in question in order that we can compare it with the corresponding value found in md5sum.txt.

For example, the content of md5sum.txt may look like this:

087713752fa88c03a5e8471c661ad1a2  CentOS-6.X-x86_64-minimal.iso

Whereas the display in command prompt may show:

087713752fa88c03a5e8471c661ad1a2  *CentOS-6.X-x86_64-minimal.iso

You should repeat this process for all image files, and if these values match, then you can be confident that your download is verified. A fact that not only reduces the chance of wasting optical disks, but with security in mind, it also implies that what you downloaded is what you were expecting to download (and not something else).

So remember, with every new release the CentOS team will update the main website and enable you to download the required image files. Unless the CentOS project states otherwise, you will only need to do this once, as all minor updates can be managed like any other operating system (discussed later in this book). However, if you do intend to download them again, then it is always a good idea to check the integrity of your image files with the md5sum checksum tool.

See also

 

Performing an installation of CentOS using the graphical installer


In this recipe we will learn how to perform a typical installation of CentOS using the graphical tools provided by the system installer.

In many respects this is considered to be the recommended approach to installing your system as it not only provides you with the chance to create the desired hard disk partitions, but also provides the ability to customize package selection. Your installation will then form the basis of a server on which you can build, develop, and run any type of service you may want to provide in the future.

Getting ready

Before we begin, it is assumed that you have followed a previous recipe in which you were shown how to download CentOS, confirm the checksum of the relevant image files, and create the relevant installation disks.

Depending on which installation image(s) were downloaded, in order to complete this recipe you will be expected to have completed the initial stages of a network install or that you are using one of the following DVD suites:

  • To complete a full 64-bit installation you will need:

    CentOS-6.X-x86_64-bin-DVD1.iso
    CentOS-6.X-x86_64-bin-DVD2.iso
  • To complete a full 32-bit installation you will need:

    CentOS-6.X-i386-bin-DVD1.iso
    CentOS-6.X-i386-bin-DVD2.iso

In addition to this, you should be confident that your server can meet the following minimum specifications:

  • An Intel or AMD-based CPU (Pentium, AMD, Via, AMD64/EM64T)

  • At least 768 MB RAM (1 GB or more recommended)

  • At least 10 GB hard disk space

Of course, it should be said that the preceding specification acts as guidance only and further details concerning the minimum system requirements can be found at the end of this recipe.

Note

For a typical server you should always consider the need to maximize your resources in terms of RAM and available hard disk space. You should also plan for the long term. Remember, the use of a 64-bit capable CPU will not only tend to run faster with a 64-bit operating system but the system as a whole will be able to take advantage of more than 4 GB of RAM and therefore provide a long-term, scalable solution that can grow with the needs of your network.

How to do it...

To begin this recipe, start by booting your computer from the first CentOS installation DVD and wait for the welcome screen:

  1. On the welcome splash screen, use the Up and Down arrow keys to select and highlight install or upgrade an existing system. When you are ready, press the Return key to proceed.

  2. Having loaded the necessary files, you will be presented with the disc found screen and asked if you would like to test the integrity of your DVD. Remember, file integrity in this context refers to the quality of the data on your DVD media only, so if you are confident that your installation media is error free and wish to continue with the installation, simply use the Left and Right arrow keys to choose Skip and press the Return key to proceed.

  3. Alternatively, if you would prefer to test the integrity of your optical media, choose OK and follow the onscreen instructions. A single test should take between three to five minutes and you will have the opportunity to test one or more discs. When this process is complete, choose Continue to exit this phase and return to the main installation menu.

    Note

    You should be aware that the verification process performed during this phase will not always guarantee a trouble-free installation as it will not monitor hardware or measure environmental conditions. This feature is not always used, but it can serve to increase the frequency of success by checking the file integrity of your installation media.

  4. The CentOS installer will now prepare the onscreen environment and present the installation welcome screen. From this point onwards you can now use your keyboard and mouse, there is no time limit for completing any section, but remember to enable the number lock on your keyboard if you intend to use the keypad. When you are ready, choose the Next button to proceed.

  5. On the language selection screen, select the preferred system language. All changes to your language settings will take immediate effect, so when you are ready, choose the Next button to proceed.

  6. On the keyboard selection screen, select the appropriate keyboard for the system. When you are ready, choose the Next button to proceed.

  7. On the next screen you are required to choose the type of devices your installation intends to support. You have two primary choices, and if you intend to install CentOS on a SAN device, then choose specialized storage devices. However, in most cases (and for a typical computer) that will be using a local hard disk; so simply choose the default option of basic storage devices. When you are ready, choose the Next button to proceed.

    Note

    If you are using a new hard disk or a virtual disk, you may see what could be described as a warning/error message. The message may read:

    The storage device below may contain data

    Don't worry, this is to be expected and the message is simply asking you to initialize your hard disk because it is considered to be blank, unpartitioned, or a virtual drive. In most cases, especially if you have more than one hard drive, simply enabling the checkbox and choosing yes, discarding any data will complete the task of disk initialization and enable you to proceed to the next step.

  8. On the network settings screen you will be required to complete the following two steps:

    1. In the first step you will need to determine the hostname of your server. As you can see in the text field located at the top-left hand portion of the screen, this value will automatically default to localhost.localdomain. Setting the hostname is an important part of installing a server, so change this value to something more suitable, but don't worry, as this book will show you, this value can be changed after the installation process.

    2. The second step is to choose the button labeled Configure Network (located in the lower-left portion of the screen) and use the resulting Network Connections dialog box to record any changes to your Ethernet settings. To do this, simply highlight the relevant Ethernet device listed under the Wired tab and choose Edit. Check the box labeled connect automatically and then make the necessary changes to the IPv4/IPv6 values including the address, netmask, gateway, and DNS servers. You may even elect a DHCP connection at this stage if your network supports this feature. When finished, choose Apply and then close the Network Connections dialog box. Your computer will now try to initialize and activate the relevant Ethernet connection(s).

    3. When you have finished both these steps, choose Next to proceed.

  9. On the next screen, you are required to confirm a time zone for your server. You can do by using the interactive map or by simply scrolling through the list of locations to select your nearest city. When finished, ensure the checkbox labeled System Clock Uses UTC is checked before choosing Next to proceed.

  10. On the next screen you will be required to create and confirm a root password for the root user. Typically, it is advised that you should avoid using simple phrases, dictionary-based words, or include any whitespaces. Passwords should consist of no less than six characters, so when you are ready, input your choice and choose Next to proceed.

  11. On the next screen, you will be asked to determine a hard disk layout for the server as a whole. This will determine the installation type and you can choose from Use All Space (use the entire hard drive and utilize the default partition scheme), Replace Existing Linux system (s) (remove all current Linux partitions and replace with the default partition scheme), Shrink Current System (shrink the current file system to make room for the default partition scheme), Use Free Space (use the remaining free space to create the default partition scheme), or Create Custom Layout. You are given the option to review the partition scheme and the ability to customize your partitions is a useful option. However, if you are new to Linux or are not yet comfortable with the concept of building a custom layout, then for the purpose of this recipe you should select Use All Space and click Next to proceed.

  12. You will now be asked to confirm your hard disk partitioning instruction. If you feel that you have made a mistake, now is the time to correct it by choosing Go Back. However, if you are confident that the correct choice has been made, then simply click the button labeled Write changes to disk in order to complete this phase of the installation process.

  13. CentOS will now format your hard disk(s) before proceeding to the next screen where you will be invited to make any relevant changes to the boot loader. Otherwise known as the GRand Unified Bootloader (GRUB) unless you feel confident enough to change the location of boot loader, it is always best to accept the defaults. However, should you wish to set a boot loader password to improve security, then this can be achieved by selecting the checkbox labeled Use a boot loader password followed by the Change password button in order to make the relevant changes.

  14. When you are ready, click Next to proceed.

  15. On the package group selection screen, you will notice that CentOS provides for a number of Package Selection Groups that simplifies the process of selecting individual packages. Use the descriptions provided to make your primary choice, but for a typical server (and for someone who wishes to take full advantage of the recipes contained within this book) it is often better to begin with a minimal install and add packages as and when you need them.

    On the other hand, and should you feel inclined to do so, you can take this opportunity to explore the individual packages found on your installation media by choosing to customize the software selection. To do this, simply check the box labeled Customize Now before leaving this screen.

    When you are ready, click Next to proceed.

  16. CentOS will now resolve any dependencies and the installer will begin writing to the hard disk. This may take some time, but a progress bar will indicate the status of your installation. When finished, the congratulations screen will inform you that the entire process is complete and that the installation was successful. So when you are ready, click Reboot to finalize this recipe and to recover the installation media.

  17. Congratulations, you have now installed CentOS 6.

How it works…

In this recipe you have discovered how to install the CentOS 6 operating system, and having covered the typical approach to the graphical installation process you are now in a position to develop the server with additional configuration changes and packages that will suit the role you intend the server to fulfill.

So what have we learned from this experience?

We started by initializing the main installer and determining whether we would like to check the installation media for possible corruption and defects. Of course, validating the data on your disk is always a useful process and it can save time in the long run, but you should be aware that it will not necessarily guarantee a trouble-free installation. For this reason, most users who have already validated the checksum tend to skip this process.

The next steps then welcomed us to CentOS and invited us to confirm the appropriate language, keyboard, location, hostname, root password, network, and storage settings.

For example, any changes to the language setting were immediate, whereas the configuration of your network settings was simply a matter of ensuring the Ethernet device would connect automatically and modifying the appropriate IPv4/IPv6 settings. You were able to create a static or dynamic IP address, while the setting of a root password was simply a matter of choosing an appropriate series of alpha-numeric values that did not consist of known words, typical phrases, or contain any whitespace. Whatever password you decide on, it should consist of no less than six characters to avoid any warnings issued by the installer.

During the next stage, we then considered the need to partition the hard disks by selecting the default option known as Use All Space. By choosing this option, you were allowing the installer to determine the relative sizes of each partition and to build a logical volume that would assign GRUB to a default location. Of course, diving in to the depths of partition management was beyond the purpose of this recipe, but you did see that the various options that enable you to build your own custom layout should this be the preferred option.

You were then given the option to change the location of GRUB. This is not always deemed to be necessary, as moving GRUB can be an awkward process for even the most experienced users but ignoring this, you did discover an option that would enable you to password-protect the boot loader and provide additional system-wide protection.

Finally we came upon the package group selection screen where we discovered that CentOS not only enables us to choose a minimal install, but it also provides for a significant number of package selection groups that are designed for convenience.

The sole purpose of these groups is to simplify the process of selecting the correct packages for your installation. I think you would agree that most of the group titles are self-explanatory, but it is generally accepted that a minimal install is by far the most efficient method of installing any server because it is far easier to add and configure packages when we need them rather than simply installing everything at once. This rule of thumb not only reduces your initial workload, but it also ensures that your server remains safe and secure which is of a particular concern if it is located in the public domain.

So in conclusion, I think it would be appropriate to say that there is always more to discover about the installation process and that there are many different ways to install your server, but at this early stage you should now take the time to sit back and relax. Well done, you have now completed the recommend installation process and yes, you can now install CentOS.

See also

 

Running a netinstall over HTTP


In this recipe we will learn how to initiate the process of running a netinstall over HTTP (using the URL method) in order to install CentOS 6.

The CentOS network installation is a process by which a small image file is used to boot the computer and enable the download of all the necessary files that will be required to complete the installation of the full operating system.

Using this approach implies the advantage of not being required to download the DVD-based image files and for computers that do not have access to DVD drive; this can be of enormous benefit. Moreover, where you will only download the packages you need, unless you are intending to install more than one server then the entire netinstall-based approach (starting from downloading the initial installation image to finalizing the installation of your computer) not only provides greater flexibility, but it will also save time and offers the benefit of the full installer.

Getting ready

Before we begin, it is assumed that you have followed a previous recipe in which you downloaded the netinstall image of Centos 6, confirmed the checksum values of the image file, and that you have already created the relevant installation disk.

To complete this recipe you will need an active Internet connection, and because this recipe will serve as a starting point to the graphical installation process, you should be confident that your server can meet the following minimum requirements:

  • An Intel-based or AMD-based CPU (Pentium, AMD, Via, AMD64/EM64T)

  • At least 768 MB RAM (1GB or more recommended)

  • At least 10 GB hard disk space

Note

You should be aware that these specifications act as guidance only and further details concerning the minimum system requirements can be found at http://wiki.centos.org/About/Product.

How to do it...

To begin this recipe, insert the netinstall disc, boot your computer from the optical drive, and wait for the welcome screen to appear:

  1. On the welcome splash screen, use the Up and Down arrow keys to select and highlight install or upgrade and existing system. When you are ready, press the Return key to proceed.

  2. Having unpacked the necessary files, you will be presented with the disc found screen and asked if you would like to test the integrity of your installation disc. Remember, file integrity in this context refers to the quality of the data on the disc only, so if you are confident that your installation media is error-free and wish to continue with the installation, simply use the Left and Right arrow keys to choose Skip and press the Return key to proceed.

  3. Alternatively, if you would prefer to test the integrity of your optical media, choose OK and follow the onscreen instructions. A single test should take a few minutes depending on your hardware. When this process is complete, choose Continue to exit this phase and return to the main installation menu.

    Note

    You should be aware that the verification process performed during this phase will not always guarantee a trouble-free installation as it cannot monitor hardware or measure environmental conditions. This feature is not always used but it can serve to increase the frequency of success by checking the file integrity of your installation media.

  4. On the Language Selection screen, use the Up and Down arrow keys to select the preferred language. When ready, press the Return key to proceed.

  5. On the Keyboard Selection screen, use the Up and Down arrow keys to select the preferred keyboard settings and press the Return key to proceed.

  6. At this point you will now be asked to confirm the installation method. As we will be installing over HTTP (also referred to as the URL method), you should choose URL and press the Return key to proceed.

  7. On the Configure TCP/IP screen, you will be asked to configure your network settings. By using the Up and Down arrow keys in conjunction with the Space bar, place a * in the preferred values. If your local area network supports dynamic IP assignment, then choose DHCP and when you are ready, highlight OK and press the Return key to proceed.

    Note

    If you have elected to use a static IP address you will be presented with the Manual TCP/IP Configuration screen. This implies that you will be expected to confirm your IP address, Netmask, Gateway, and Nameserver (or DNS) settings by typing in the respective values as required. When you are finished, highlight OK and press the Return key to proceed.

  8. At this stage, your server will now attempt to configure the Ethernet devices before inviting you to complete the URL Setup screen. So depending on whether you have chosen a 32-bit or 64-bit installation, in the first dialog box use one of the following values:

    Alternatively, you can also use a personal repository on your local network should you have access to such a facility.

    When you are ready, by using the Tab key, highlight OK and press the Return key to proceed.

  9. On success, the installer will begin to retrieve the appropriate install.img file. This may take several minutes to complete, but once resolved a progress bar will then indicate all the download activity. When this process has finished, the installer will prepare the onscreen environment and present you with the installation welcome screen.

    Note

    From this point onwards you will be able to install CentOS using the graphical installer in the usual way but with one difference. Having resolved the necessary package dependencies all required packages will be downloaded from the Internet.

How it works...

The purpose of this recipe was to introduce you to the concept of the CentOS network installation process in order to show you just how simple this approach can be. By completing this recipe you have not only saved time by limiting your initial download to those files required by the installation process, but you have been able to take advantage of the full graphical installation method without the need for a complete DVD suite.

So what have we learned from this experience?

We have learned how to boot from the netinstall image, initialize the main installer, test the optical media for errors, provide the relevant network settings for the host computer, and provide a URL in order to download the relevant files.

The URL in this case was web-based and dependent on the preferred architecture, but as an alternative you could have modified this instruction to use a local mirror site or even implement an installation from a local repository from your local network.

So in conclusion, it must be said that if you are intending to install more than one server at a time (with a full array of packages), then this may not be the best approach, but for a single server or multiple servers using a minimal install, then the netinstall image represents a far more flexible approach. Rather than waiting to download a complete set of installation files you may never need, the installer will download the required files directly from the chosen location thereby ensuring that you will not only reduce the overall time it takes to get your server up and running, but you will be able to take advantage of the full installation without the need for a DVD drive.

See also

 

Installing CentOS in Text Mode and building a minimal installation


In this recipe we will learn how to install CentOS in Text Mode.

For new users, Text Mode may not be the first choice when deciding how to install your server but it does remain a popular and useful option for a variety of reasons.

Installing a system in Text Mode offers reduced functionality when compared to its graphical counterpart, but this approach excels in an environment where your computer may not meet the general minimum requirements or your graphical display options are limited. Text Mode is a streamlined method, and this approach not only makes it a very simple method to use, but it also ensures that it remains a fast and efficient way to install a CentOS server by reducing the risk of variation and guaranteeing that every installation will be the same.

Getting ready

Before we begin, it is assumed that you have followed a previous recipe in which you were shown how to download CentOS, confirm the checksum values of the image files, and that you have created and labeled the relevant installation disk(s).

For the purpose of this recipe, it will be assumed that you are using the twin DVD-based installation disks. In many respects, installing your system by Text Mode is similar to using the minimal installation image file and for this reason some configuration screens may not be available unless used in the graphical mode.

Text Mode is automatically activated if the system is running less than 652 MB of RAM and for this reason, you should be confident that your system meets the following minimum requirements:

  • An Intel-based or AMD-based CPU (Pentium, AMD, Via, AMD64/EM64T)

  • At least 392 MB RAM

  • At least 8-10 GB hard disk space

Note

You should be aware that these requirements act as guidance only and further details concerning the minimum system requirements can be found at http://wiki.centos.org/About/Product.

How to do it...

To begin this recipe you should boot your computer from the CentOS installation media of your choice and wait for the welcome screen to appear:

  1. When presented with the welcome splash screen, press the Tab key to reveal the boot instruction, add a single space using the Space bar, and then enter the following:

    text
  2. Now press the Return key to access the Text Mode installer.

  3. When the installer is ready, you will be presented with the disc found screen and asked if you would like to test the integrity of your DVD. Remember, file integrity in this context refers to the quality of the data on your DVD media only, so if you are confident that your installation media is error-free and wish to continue with the installation, simply use the Left and Right arrow keys to choose Skip and press the Return key to proceed.

  4. Alternatively, if you prefer to test the integrity of your optical media, choose OK and follow the onscreen instructions. A single test will take between 3-5 minutes depending on your hardware and you will have the opportunity to test one or more discs. When this process is complete, choose Continue to exit this phase and return to the main installation menu.

    Note

    You should be aware that the verification process performed during this phase will not always guarantee a trouble-free installation as it cannot monitor hardware or measure environmental conditions. This feature is not always used but it can serve to increase the frequency of success by checking the file integrity of your installation media.

  5. If your computer meets the minimum specification, the CentOS installer will now prepare the onscreen environment and present the installation welcome screen. You will now see the OK button, so when you are ready, press the Return key to proceed.

  6. On the Language Selection screen, use the Up and Down arrow keys to highlight the preferred language. When you are ready, press the Return key to proceed.

  7. On the Keyboard Selection screen, use the Up and Down arrow keys to select the preferred keyboard settings and when you are ready, press the Return key to proceed.

    Note

    If you are using a new hard disk or a virtual disk, you may see what could be described as an error/warning message. The message may read as follows:

    Error processing drive

    If you see this message, simply use the Tab key to highlight the relevant option in order to re-initialize your disk. In most cases, especially if you have more than one hard drive, choosing re-initialize all will complete the task and enable you to proceed to the next step.

  8. On the Time Zone Selection screen, you will be asked to choose your current location. Make sure a star symbol remains in the system clock uses UTC option and use the Up and Down arrow keys to make your selection. When finished, press the Tab key to highlight the OK button and then press the Return key to proceed.

  9. On the Root Password screen, enter a preferred password. This password will be used to invoke system-based administrative tasks, so it is always a good idea to refrain from using dictionary words, simple phrases, or words that contain white spaces. When ready, press the Tab key to highlight the OK button and press the Return key to proceed.

    Note

    If you have used what is considered to be a weak password, the installer will notify you of this fact and ask you to re-confirm your decision to continue.

  10. The ability to partition your hard disk in Text Mode is limited, so on the Partitioning Type screen, use the arrow keys to choose use entire drive. When you are ready, press the Tab key to highlight the OK button and press the Return key to proceed.

  11. On the write storage configuration to disk screen, you will be asked to confirm the disk partitioning instruction. Use the Left and Right arrow keys to highlight write changes to disk and press the Return key to proceed.

  12. The CentOS installer will now build the partitions and begin the installation process. This may take a while to complete, but when finished, you will be presented with the complete screen stating: Congratulations, your CentOS installation is complete. When you are ready, press the Return key to proceed and reboot your computer.

How it works...

In this recipe, you have discovered how to install the CentOS 6 operating system using Text Mode. In many respects it is very similar to using the minimal installation file and if you have read the official documentation supplied by the CentOS project, they advise that it may not be the recommended approach. However, depending on the type of hardware you have at your disposal you may not have an alternative.

So what have we learned from this experience?

We started by initializing Text Mode at the welcome screen by pressing the Tab key to reveal the boot instruction, adding a single white space, and entering the following:

text

So in practice, your screen instruction will look like this:

>vmlinuz initrd=initrd.img text

When finished, pressing the Return key enables us to continue the installation process and check the installation media for possible corruption and defects.

Validating the data on your disk is a quick and painless process but remember, at this stage the installer will only validate the data contained on your installation disk(s). It will not reliably detect any hardware issues, so in effect merely completing this process does not necessarily guarantee a trouble-free installation. For this reason, most confident users who have already confirmed the checksum will generally skip this step.

The following stages then welcome us to CentOS and invite us to review and confirm the appropriate language settings, keyboard settings, and time zone location. Completing these configuration screens is again very simple and this is one of the benefits of streamlining. However, for veterans of other installation methods, you will quickly notice that the number of options have been limited.

If you were using a new hard disk, then it is quite possible that you were asked to initialize the disk by choosing re-initialize all. Initializing the hard disk is a process that is generally confined to new hard disks only; it is common to all operating systems and may have taken just a few seconds to complete. Once complete, you were then invited to create a root password before choosing the preferred partition scheme: use entire drive.

Note

Passwords should not contain whitespaces, or consist of simple phrases, or dictionary-based words. They should be longer than six characters in length and they should not be easily identifiable, so avoid using dictionary-based words, simple phrases, or actual names. The use of whitespaces should be avoided at all cost.

Again, veterans of the graphical installation method would have noticed that there were no options regarding the configuration of advanced storage methods such as LVM, RAID and iSCSI, customizing the partition layout, customizing the boot loader layout, and the selection of packages during the final phase of the installation. In fact, streamlining the CentOS 6 text installer has removed all of this and instead simply provided you a fast-track route to installing the necessary files that would make a complete minimal install.

You could argue that this approach has made it simpler, whereas you could also argue that the lack of such options can be a hindrance. It is not what the official documentation would call the recommended approach by any means, but this method does have its advantages. Text Mode is used for convenience, and it represents just another tool in your kit-bag, so regardless of whether you benefit from this streamlined approach or not, you now know that CentOS is accessible to even more computers than you originally thought.

See also

 

Re-installing the boot loader


In this recipe we will learn how to re-install the CentOS boot loader.

During the installation process it is possible that you may accidentally damage or even remove the GRUB boot loader and thereby render your server inaccessible. Accidents can happen and it is the purpose of this recipe to show you how to get your server back up and running.

Getting ready

To complete this recipe, you will require a standard installation disk of the CentOS 6 operating system. You will also require the use of a computer display, a standard keyboard, and an optical disk drive.

How to do it...

To begin this recipe you should boot your computer from the CentOS installation DVD and wait for the welcome screen to appear.

  1. From the main menu, choose Rescue installed system.

  2. On the Language Selection screen, use the Up and Down arrow keys to highlight the preferred language. When you are ready, press the Return key to proceed.

  3. On the Keyboard Selection screen, use the Up and Down arrow keys to select the preferred keyboard setting and press the Return key to proceed.

  4. On the Rescue Method screen, use the Up and Down arrow keys to select Local/DVD as the source and press the Return key to proceed.

  5. On the Setup Networking screen, use the Left and Right arrow keys to choose NO and press the Return key to proceed.

  6. We have now entered the Rescue screens which includes various confirmation sub-screens. To begin this section, use the Left and Right arrow keys to choose Continue and press the Return key to proceed.

  7. On the first sub-screen, choose OK and press the Return key to proceed.

  8. Again, in the following sub-screen choose OK and press the Return key to proceed.

  9. On the next screen, choose Start shell and by using the Tab key, highlight OK and press the Return key to proceed.

  10. By completing the preceding steps, you will launch a Shell session. You will notice this at the bottom of your display. The current status of the Shell session will read as follows:

    Starting Shell
    bash-4.1#_
  11. At the prompt, type the following instruction before pressing the Return key to complete your request:

    chroot /mnt/sysimage
    
  12. Now type the following instruction before pressing the Return key to complete your request:

    cd /boot/grub
    
  13. We will now use the fdisk command to find the name of all the current partitions. To do this, type the following instruction and then press the Return key to complete your request:

    fdisk –l
    
  14. Look for the * symbol in the fdisk listing under boot, and assuming that your boot disk is on /dev/sda1 (change this as required) type:

    grub-install /dev/sda1
    
  15. If no error is reported the console should respond as follows:

    # this device map was generated by anaconda (hd0) /dev/sda
    
  16. This message has confirmed that GRUB has now been successfully restored. To proceed we must now leave the session by typing:

    exit
    
  17. To complete this recipe, type:

    reboot
    

How it works...

GRUB, otherwise known as the GRand Unified Bootloader, is a boot loader package that provides access to the CentOS system. It is a very important file, but accidents can happen and on occasion it has been known to suffer damage or even be removed.

If this happens it is very possible that your server will not boot and for this reason this recipe serves to invoke a process that is known as Rescue Mode in order to re-install this file.

So what have we learned from this experience?

We started by learning how to access Rescue Mode and configuring the necessary language and keyboard preferences in order that we can interact with the session.

In the following stages, Rescue Mode then enabled us to mount the relevant disk partition with full read/write capability in order that we could target the correct location and re-install GRUB.

Note

Depending on the original configuration and purpose of your server, you may need to review the contents of /boot/grub/grub.conf and make additional entries. This is particularly needed for any multi-boot environment in order that GRUB can be configured to manage additional operating systems.

So in conclusion, we could say that this was a very simple recipe, but it is also a very important recipe; and as damage to GRUB is typically associated with an installation procedure it was felt that such a recipe should remain close at hand. In many respects, it is always a good idea to keep a backup of your current device.map, grub.conf, and menu.lst files but without the benefit of hindsight, and with the assistance of this recipe, a typical disaster may have been averted as the result of following a very straightforward process.

Of course, it may not save you on every occasion and experience may prove that deciding to back up the contents of all the major files in /boot/grub will provide additional insurance, but at this moment, just rest easy, the boot loader has been restored and both you and your server are ready to get back to work.

 

Updating the installation and enhancing the minimal install with additional administration and development tools


In this recipe we will learn how to enhance the minimal install with additional tools that will give you a variety of administrative and development options that will prove vital during the lifetime of your server.

The minimal install is probably the most efficient way you can install a server, but having said that, a minimal install does require some additional features in order to make it a more compelling model. We are all aware that a server will require a variety of administration and development tools and with this in mind, this recipe will show you how to install the extra packages that will not only prove useful throughout the reading of this book, but they will endeavor to improve your workflow and your overall enjoyment of CentOS.

Getting ready

To complete this recipe, you will require a minimal installation of the CentOS 6 operating system with root privileges with a connection to the Internet in order to facilitate the download of additional packages.

How to do it...

We will begin this recipe by updating the system.

  1. To do this, log in as root and type:

    yum –y update
    
  2. CentOS will now search for the relevant updates and, if available, they will be installed. On completion and depending on what was updated (that is, kernel and new security features to name but a few), you can decide to reboot your computer. To do this type:

    reboot
    
  3. Your server will now reboot and having returned to the login screen, we will now complete the main recipe and enhance our current installation with a series of package groups that will prove to be very useful in the future. To do this, log in as root and type:

    yum –y groupinstall "Base" "Development Libraries" "Development Tools"
    
  4. When the installation process is complete, simply reboot your server by typing the following command:

    reboot
    

How it works...

The purpose of this recipe is to enhance a minimal installation of the CentOS 6 operating system and by doing this you have not only introduced yourself to the Yum Package Manager (something to which we will return to later on in this book), but you now have a system that is capable of running a vast amount of applications right out of the box.

So what have we learned from this experience?

We started the recipe by updating the system in order to ensure that our system was up to date:

yum –y update

At this stage it is often a good idea to reboot the system. The reason behind this is typically based on the desire to take advantage of a new kernel or revised security updates (that is, SELinux or IPTables). It is not expected that we will do this very often, but rebooting the server was simply a matter of using the following command:

reboot

In the next phase the recipe showed you how to add a series of package groups that may prove to be more than useful in the future. To save time we wrapped the instruction to install three main package groups in a single command like so:

yum –y groupinstall "Base" "Development Libraries" "Development Tools"

The preceding action alone installs over 200 individual packages thereby giving your server the ability to compile code and run a vast array of applications out of the box. This list includes Perl, Python, GCC, Make, nslookup, ping, and a vast array of other necessary and important packages you may need over the life time of your server.

For example, you can run nslookup as follows:

nslookup www.packtpub.com

Moreover, instead of using the Vi text editor, you now have the opportunity to use the Nano text editor and many more. Which, given its lack of complexity, usually makes the process of managing your server that much simpler.

For example, if you are ever asked to edit or create a new a file. Instead of typing the following:

vi /path/to/some_file_name

You could type:

nano /path/to/some_file_name

You will be happy to know that this form of text editor replacement will work for all the examples shown throughout this book.

On top of this, you will also have the chance to use vim-enhanced , another fantastic text editor that supports scripts and color coding, but as a tutorial on this subject is beyond the purpose of this recipe I have included some links at the end of this section that will get you started.

The final part of this recipe was to action another reboot by typing:

reboot

Again this is not always required, but given the number of new packages you have just installed, it is often advisable in order for you to enjoy the benefits of your new server.

See also

 

Finishing the installation process with Firstboot


In this recipe we will learn how to finalize the installation process by enabling Firstboot, a simple application that enables you to manage the first-time installation of your server in a slightly less complicated way.

Firstboot can function in both the console and desktop environments and its intention is to activate the Setup agent. It has a single purpose that is often considered to be an optional extra, it isn't always going to be necessary, but for beginners and experienced users alike, it does provide instant access to a tried and tested process that will enable you to finalize the installation of any CentOS server in a fast and efficient manner.

Getting ready

To complete this recipe, you will require a minimal installation of the CentOS 6 operating system with root privileges and a connection to the Internet in order to facilitate the download of additional packages.

How to do it...

On a minimal installation Firstboot is not installed by default and for this reason we will begin this recipe by installing the necessary package and its related dependencies.

  1. To do this, log in as root and type the following command:

    yum –y install firstboot
    
  2. When the installation is finished, simply enable the package to run at boot by typing the following command:

    chkconfig firstboot on
    
  3. At a convenient time, simply reboot the system to access Firstboot by typing:

    reboot
    
  4. On a successful reboot, you will be presented with the Firstboot application. To begin, simply use the Up and Down arrow keys in conjunction with the Tab key to jump between the elements on the screen. Make the appropriate changes to your system and use the Return key to confirm your choices. On certain screens you are given the opportunity to use the Space bar in order to nominate or activate a particular setting. Choose Quit to exit Firstboot at any time.

  5. Having quit Firstboot, you will be invited to access your server in the usual way but remember, any permanent changes to your security settings may not take effect until you reboot your server. So if this is the case, return to your console and type:

    reboot
    

How it works...

Firstboot is a simple package with the sole purpose of activating the Setup agent. It is not intended to be complicated and for this reason you probably found that it was both easy to install and even easier to activate.

So what did we learn from this experience?

We start the recipe by installing the necessary packages. In this case, the target package was called Firstboot and so we issued the following command to the server:

yum –y install firstboot

The system then proceeded to install a number of different dependencies that includes many setup utilities, but as Firstboot runs as a service, to access these utilities you should ensure that the service is running. So our next step was to return to the console and type:

chkconfig firstboot on

Note

If you prefer to ensure that Firstboot will only launch with the desktop environment, simply modify the preceding command to read as follows:

chkconfig --level 5 firstboot on

Having done this, we then proceeded to reboot the system like so:

reboot

On a successful reboot, you are then invited to run the various tools associated with this service. Of course, a discussion regarding the actual settings you should employ is a subject we will return to later on in this book, but having successfully completed this recipe you now understand that this small addition does have specific uses that serve to simplify the process of finalizing the installation of any CentOS server.

On a console-based server, the act of running Firstboot will enable you to run a screen by screen setup process that covers the main aspects of a first-time installation. For experienced users, this can prove to be a welcome reminder, but for new users Firstboot can prove to be a useful introduction to CentOS by offering a one-stop, tried and tested starting point. It may not be a necessary feature, but this small tool does go some way to make CentOS a very easy experience.

There's more...

As the name implies, Firstboot will only run once. However, should you ever wish to return to this screen in the future, simply log in to your server as the root user and ensure the service is set to run at boot by typing:

chkconfig firstboot on

Now remove the following file by typing:

rm /etc/sysconfig/firstboot

You will be asked if removing this file is intended, so type y (yes) and press the Return key to confirm your decision like so:

rm: remove regular file 'etc/sysconfig/firstboot' ? y

Having done this Firstboot is now active and will be ready to run on your next reboot.

 

Adding the GNOME desktop environment, changing the runlevel, and installing additional software


In this recipe we will learn how to simplify access to your server by providing you with the option to add the GNOME desktop, change the runlevel in order that the desktop can be seen on boot, and enhance your system with an array of additional software packages typically associated with such an environment.

Adding a desktop environment is not a requirement of running a server and in many respects you can consider this action to be entirely optional. Members of the server community at large may frown with regard to the relevance of this feature, and if you are intending to run a standalone web server or mail server, then there is no reason for needing one, but the reality is, many people do find the practice of running a graphical user interface a welcome addition and in certain circumstances it really can save a huge amount of time depending on the nature and purpose of your server.

Getting ready

To complete this recipe, you will require a minimal installation of the CentOS 6 operating system with root privileges, a console-based text editor of your choice, and a connection to the Internet in order to facilitate the download of additional packages. The system should also have a computer display, a keyboard, and a mouse.

How to do it...

Before we begin, 64-bit users should be aware that the desktop environment will result in your system using a mixture of 32-bit and 64-bit software. This may change over time, but at the time of writing this book, most desktop applications are still 32-bit.

  1. To install the GNOME desktop environment, log in as root and type the following command to install the necessary packages and dependencies:

    yum groupinstall "Desktop" "X Window System" "Fonts" "Desktop Platform"
    
  2. The preceding action will install around 530 MB of packages, but for you to begin using the desktop environment at boot, you will need to change the runlevel. A runlevel is a preset operating state that determines which programs are executed at system startup. In this case, we are intending to execute the desktop environment and to do this, simply open the following configuration file by typing:

    vi /etc/inittab
    
  3. Now scroll down towards the bottom of this file and locate the following line:

    id:3:initdefault:
  4. Change this line to read:

    id:5:initdefault:
  5. Now save your work. But before we finish, it is important to consider the need to add some software in order to enhance your enjoyment of the desktop environment. To do this, return to your console and type:

    yum groupinstall "General Purpose Desktop" "Graphical Administration Tools"
    
  6. Finally, you will need to reboot your computer in order to allow the changes to take immediate effect. To do this, type:

    reboot
    

How it works...

During the course of this recipe, you have not only learned how to install the GNOME desktop environment, but have also successfully reconfigured the runlevel of your server and installed some additional software packages that will enhance your overall enjoyment of CentOS.

So what have we learned from this experience?

We began by installing the GNOME desktop environment by introducing ourselves to the Yum Package Manager's ability to install package groups. Yum is something we will return to later in this book, but in this instance we were required to install all the necessary components needed by a typical desktop, and we achieved this by typing:

yum groupinstall "Desktop" "X Window System" "Fonts" "Desktop Platform"

Having completed this initial step, we were then asked to reconfigure the runlevel of the server in order that the desktop environment would be initiated during the boot process. Without completing this step, the server will continue to boot in console mode.

Note

If you would prefer not to see the desktop at startup, simply leave the current runlevel as is (at level 3), and having accessed your system, you can always type the StartX command to initiate the desktop environment.

As described in this recipe, a runlevel is a preset operating state that determines which programs are executed at system startup. In this case, we are only considering the needs of X Window System and where a console-based server will typically start at runlevel 3, we need to modify this in order to activate the desktop environment that functions at runlevel 5.

To do this, we opened the main configuration file by typing:

vi /etc/inittab

You were then asked to scroll down towards the bottom of this file and find the following line:

id:3:initdefault:

Having found it, you were then asked to replace it with the following:

id:5:initdefault:

Finally, and last but not least, with a desktop environment everyone wants software, and by typing the following command, you were given the opportunity to enhance your system with a variety of tools that would make you feel at home:

yum groupinstall "General Purpose Desktop" "Graphical Administration Tools"

Note

Remember, if you have not created an administrative user (see the appropriate recipe in this book) at this stage, then you should consider running Firstboot (see the appropriate recipe in this chapter) in order to run the desktop setup agent. Without completing either of these steps, you will be required to log in as the root user, which is not advisable for a desktop environment.

To complete this recipe, you were then required to reboot the server and having accessed your desktop environment, you can now navigate to System | Administration | Add/Remove Software to manage new and existing packages.

About the Author

  • Jonathan Hobson

    Jonathan is a web developer, systems engineer and applications programmer, who, for more than 20 years has been working behind the scenes to support companies, organizations and individuals around the world to realize their digital ambitions. With an honors degree in both English and History and as a respected practitioner of many computer languages Jonathan enjoys writing code, publishing articles, building computers, playing the video games and getting 'out and about' in the big outdoors. He has been using CentOS since its inception and over the years, it has not only earned his trust, but it has become his first choice server solution. CentOS is a first class community based enterprise class operating system, it is a pleasure to work with, and because of this Jonathan has written this book in order that his knowledge and experience can be passed on to others.

    Browse publications by this author

Latest Reviews

(2 reviews total)
Good
Wanted something to help me set up Cent OS servr
Book Title
Access this book, plus 7,500 other titles for FREE
Access now