● Chapter 17, “Configuring a Web Server,” describes how to configure an Apache Web server.
● Chapter 18, “Configuring an FTP Server,” covers procedures for setting up a vsftpd FTP server that can be used to enable others to download files from your Linux system over the network.
● Chapter 19, “Configuring a Windows File Sharing (Samba) Server,” covers Windows file server configuration with Samba.
● Chapter 20, “Configuring an NFS File Server,” describes how to use Network File System features to share folders of files among systems over a network.
● Chapter 21, “Troubleshooting Linux,” covers popular tools for troubleshooting your Linux system.
In Part V, “Learning Linux Security Techniques,” you learn how to secure your Linux systems and services:
● Chapter 22, “Understanding Basic Linux Security,” covers basic security concepts and techniques.
● Chapter 23, “Understanding Advanced Linux Security,” provides information on using Pluggable Authentication Modules (PAM) and cryptology tools to tighten system security and authentication.
● Chapter 24, “Enhancing Linux Security with SELinux,” shows you how to enable Security Enhanced Linux (SELinux) to secure system services.
● Chapter 25, “Securing Linux on the Network,” covers network security features, such as firewalld
and iptables
firewalls, to secure system services.
Part VI, “Extending Linux into the Cloud,” takes you into cutting-edge cloud technologies:
● Chapter 26, “Using Linux for Cloud Computing,” introduces concepts of cloud computing in Linux by describing how to set up hypervisors, build virtual machines, and share resources across networks.
● Chapter 27, “Deploying Linux to the Cloud,” describes how to deploy Linux images to different cloud environments, including OpenStack, Amazon EC2, or a local Linux system configured for virtualization.
Part VII contains two appendixes to help you get the most from your exploration of Linux. Appendix A, “Media,” provides guidance on downloading Linux distributions. Appendix B, “Exercise Answers,” provides sample solutions to the exercises included in chapters 2 through 26.
Conventions Used in This Book
Throughout the book, special typography indicates code and commands. Commands and code are shown in a monospaced font:
In the event that an example includes both input and output, the monospaced font is still used, but input is presented in bold type to distinguish the two. Here's an example:
As for styles in the text:
● New terms and important words appear in italics when introduced.
● Keyboard strokes appear like this: Ctrl+A. This means to hold the Ctrl key as you also press the letter “a” key.
● Filenames, URLs, and code within the text appear like so: persistence.properties
.
The following items call your attention to points that are particularly important.
NOTE
A Note box provides extra information to which you need to pay special attention.
TIP
A Tip box shows a special way of performing a particular task.
CAUTION
A Caution box alerts you to take special care when executing a procedure, or damage to your computer hardware or software could result.
Jumping into Linux
If you are new to Linux, you might have vague ideas about what it is and where it came from. You may have heard something about it being free (as in cost) or free (as in freedom to use it as you please). Before you start putting your hands on Linux (which we will do soon enough), Chapter 1 seeks to answer some of your questions about the origins and features of Linux.
Take your time and work through this book to get up to speed on Linux and how you can make it work to meet your needs. This is your invitation to jump in and take the first step to becoming a Linux expert!
Visit the Linux Bible website
To find links to various Linux distributions, tips on gaining Linux certification, and corrections to the book as they become available, go to http://www.wiley.com/go/linuxbible9.
Part I
Getting Started
Chapter 1
Starting with Linux
Linux is one of the most important technology advancements of the twenty-first century. Besides its impact on the growth of the Internet and its place as an enabling technology for a range of computer-driven devices, Linux development has been a model for how collaborative projects can surpass what single individuals and companies can do alone.
Google runs thousands upon thousands of Linux servers to power its search technology. Its Android phones are based on Linux. Likewise, when you download and run Google's Chrome OS, you get a browser that is backed by a Linux operating system.
Facebook builds and deploys its site using what is referred to as a LAMP stack (Linux, Apache web server, MySQL database, and PHP web scripting language) – all open source projects. In fact, Facebook itself uses an open source development model, making source code for the applications and tools that drive Facebook available to the public. This model has helped Facebook shake out bugs quickly, get contributions from around the world, and fuel Facebook's exponential growth.
Financial organizations that have trillions of dollars riding on the speed and security of their operating systems also rely heavily on Linux. These include the New York Stock Exchange, the Chicago Mercantile Exchange, and the Tokyo Stock Exchange.
As “cloud” continues to be one of the hottest buzzwords today, a part of the cloud that isn't hype is that Linux and other open source technologies are the foundation on which today's greatest cloud innovations are being built. Every software component you need to build a private or public cloud (such as hypervisors, cloud controllers, network storage, virtual networking, and authentication) is freely available for you to start using from the open source world.
The widespread adoption of Linux around the world has created huge demand for Linux expertise. This chapter starts you on a path to becoming a Linux expert by helping you understand what Linux is, where it came from, and what your opportunities are for becoming proficient in it. The rest of this book provides you with hands-on activities to help you gain that expertise. Finally, I show you how you can apply that expertise to cloud technologies.
Understanding What Linux Is
Linux