
Linux: Powerful Server Administration
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Persons
Oliver Pelz has more than 10 years of experience as a software developer and system administrator. He graduated with a diploma degree in Bioinformatics and is currently working at the German Cancer Research center in Heidelberg where he authored and co-authored several scientific publications in the field of Bioinformatics. Next to developing web applications and biological databases for his department and scientists all over the world he is administrating a division-wide Linux-based data center and has setup two high-performance CentOS clusters for the analysis of high-troughput microscope and genome sequencing data. He loves writing code, riding his mountainbike in the Black Forest of Germany and is an absolute Linux and open-source enthusiast for many years. He has contributed to several open-source projects in the past and also worked as a reviewer on the book Centos 7 High Performance. He maintains an IT tech blog at www.oliverpelz.de **********************************Acknowledgement************************************** I would like to thank my family and especially my wonderful wife Beatrice and little son Jonah for their patience and understanding for all these long working hours while writing this book. Also I would like to thank the folks at Packt Publishing for all their support and the opportunity to to write this book, it was a great pleasure for me. Last but not least I would like to thank Jonathan Hobson for writing the first edition of this book, without him no second edition of this book would have been possible. I would also like to thank all of the mentors that I've had over the years, especially Tobias Dykerhoff who introduced me to the whole world of Linux a long time ago and infected me with his enthusiasm about open-source and the free software movement. **********************************Dedication*********************************** This work is dedicated to my son Marlin Pelz who was stillborn on 2.10.15 just a few days before his expected date of delivery while writing the last few chapters of this book. Marlin, words can not express how much I miss you!Leemans William :
William Leemans has over 20 years of experience in the IT industry in various positions and supporting several environments. In 2005, he started his own consulting company, Critter BVBA, in the hope of offering open source solutions to his customers, who are mainly enterprises. In 2010, William started supporting Red Hat products full time with the Federal Police, Belgium. Since then, he has moved on to support Red Hat products at Proximus and now Euroclear. William is a strong open source supporter and contributes where he can. He has a couple of projects running at GitHub (https://github.com/bushvin). During the course of writing this book, William recertified himself as a Red Hat Certified Engineer, hoping to one day become a Red Hat Certified Architect. When he's not tapping away at the keyboard of his laptop, William likes to play around with his two young children, listen to rock music (Foo Fighters, AC/DC, and Queens of the Stone Age are some of his favorites), and devising complicated and intricate plots for the stories that he runs at his biweekly roleplaying sessions with his friends.Hobson Jonathan :
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.Sawant Uday :
Uday Sawant has completed Master's in Computer Applications from Mumbai University. He is skilled with more than four years of experience in software development and operations field. Before working as a software developer, he worked extensively with server hardware as a system administrator. He is an expert with the LAMP stack, JavaScript, and cloud infrastructure. Before starting as a software developer, he worked extensively with server hardware and has 2+ years' experience as system administrator. Currently, he is working as Software Scientist in a Mumbai based start-up called Sweetcouch. His responsibilities include developing back-end services, setting up a real-time communication server, and automating various daily tasks. With an immense interest in Machine Learning, he likes to spend his spare time exploring this subject. His first book was Instant Building Multipage Forms with Yii published by Packt publishing
Content
- Cover
- Copyright
- Credits
- Preface
- Table of Contents
- Module 1: Ubuntu Server Cookbook
- Chapter 1: Managing Users and Groups
- Introduction
- Creating a user account
- Creating user accounts in batch mode
- Creating a group
- Adding group members
- Deleting a user account
- Managing file permissions
- Getting root privileges with sudo
- Setting resource limits with limits.conf
- Setting up public key authentication
- Securing user accounts
- Chapter 2: Networking
- Introduction
- Connecting to a network with a static IP
- Installing the DHCP server
- Installing the DNS server
- Hiding behind the proxy with squid
- Being on time with NTP
- Discussing load balancing with HAProxy
- Tuning the TCP stack
- Troubleshooting network connectivity
- Securing remote access with OpenVPN
- Securing a network with uncomplicated firewall
- Securing against brute force attacks
- Discussing Ubuntu security best practices
- Chapter 3: Working with Web Servers
- Introduction
- Installing and configuring the Apache web server
- Serving dynamic contents with PHP
- Hosting multiple websites with a virtual domain
- Securing web traffic with HTTPS
- Installing Nginx with PHP_FPM
- Setting Nginx as a reverse proxy
- Load balancing with Nginx
- Setting HTTPs on Nginx
- Benchmarking and performance tuning of Apache
- Securing the web server
- Troubleshooting the web server
- Chapter 4: Working with Mail Servers
- Introduction
- Sending e-mails with Postfix
- Enabling IMAP and POP3 with Dovecot
- Adding e-mail accounts
- Mail filtering with spam-assassin
- Troubleshooting the mail server
- Installing the Zimbra mail server
- Chapter 5: Handling Databases
- Introduction
- Installing relational databases with MySQL
- Storing and retrieving data with MySQL
- Importing and exporting bulk data
- Adding users and assigning access rights
- Installing web access for MySQL
- Setting backups
- Optimizing MySQL performance - queries
- Optimizing MySQL performance - configuration
- Creating MySQL replicas for scaling and high availability
- Troubleshooting MySQL
- Installing MongoDB
- Storing and retrieving data with MongoDB
- Chapter 6: Network Storage
- Introduction
- Installing the Samba server
- Adding users to the Samba server
- Installing the secure FTP server
- Synchronizing files with Rsync
- Performance tuning the Samba server
- Troubleshooting the Samba server
- Installing the Network File System
- Chapter 7: Cloud Computing
- Introduction
- Creating virtual machine with KVM
- Managing virtual machines with virsh
- Setting up your own cloud with OpenStack
- Adding a cloud image to OpenStack
- Launching a virtual instance with OpenStack
- Installing Juju a service orchestration framework
- Managing services with Juju
- Chapter 8: Working with Containers
- Introduction
- Installing LXD, the Linux container daemon
- Deploying your first container with LXD
- Managing LXD containers
- Managing LXD containers - advanced options
- Setting resource limits on LXD containers
- Networking with LXD
- Installing Docker
- Starting and managing Docker containers
- Creating images with a Dockerfile
- Understanding Docker volumes
- Deploying WordPress using a Docker network
- Monitoring Docker containers
- Securing Docker containers
- Chapter 9: Streaming with Ampache
- Introduction
- Installing the Ampache server
- Uploading contents and creating catalogs
- Setting on-the-fly transcoding
- Enabling API access for remote streaming
- Streaming music with Ampache
- Chapter 10: Communication Server with XMPP
- Introduction
- Installing Ejabberd
- Creating users and connecting with the XMPP client
- Configuring the Ejabberd installation
- Creating web client with Strophe.js
- Enabling group chat
- Chat server with Node.js
- Chapter 11: Git Hosting
- Introduction
- Installing Git
- Creating a local repository with Git CLI
- Storing file revisions with Git commit
- Synchronizing the repository with a remote server
- Receiving updates with Git pull
- Creating repository clones
- Installing GitLab, your own Git hosting
- Adding users to the GitLab server
- Creating a repository with GitLab
- Automating common tasks with Git hooks
- Chapter 12: Collaboration Tools
- Introduction
- Installing the VNC server
- Installing Hackpad, a collaborative document editor
- Installing Mattermost - a self-hosted slack alternative
- Installing OwnCloud, self-hosted cloud storage
- Chapter 13: Performance Monitoring
- Introduction
- Monitoring the CPU
- Monitoring memory and swap
- Monitoring the network
- Monitoring storage
- Setting performance benchmarks
- Chapter 14: Centralized Authentication Service
- Introduction
- Installing OpenLDAP
- Installing phpLDAPadmin
- Ubuntu server logins with LDAP
- Authenticating Ejabberd users with LDAP
- Module 2: CentOS 7 Linux Server Cookbook, Second Edition
- Chapter 1: Installing CentOS
- Introduction
- Downloading CentOS and confirming the checksum on Windows or OS X
- Creating USB installation media on Windows or OS X
- Performing an installation of CentOS using the graphical installer
- Running a netinstall over HTTP
- Installing CentOS 7 using a kickstart file
- Getting started and customising the boot loader
- Troubleshooting the system in rescue mode
- Updating the installation and enhancing
- the minimal install with additional administration and development tools
- Chapter 2: Configuring the System
- Introduction
- Navigating text files with less
- Introduction to Vim
- Speaking the right language
- Synchronizing the system clock with NTP and the chrony suite
- Setting your hostname and resolving the network
- Building a static network connection
- Becoming a superuser
- Customizing your system banners and messages
- Priming the kernel
- Chapter 3: Managing the System
- Introduction
- Knowing and managing your background services
- Troubleshooting background services
- Tracking system resources with journald
- Configuring journald to make it persistent
- Managing users and their groups
- Scheduling tasks with cron
- Synchronizing files and doing more with rsync
- Maintaining backups and taking snapshots
- Monitoring important server infrastructure
- Taking control with GIT and Subversion
- Chapter 4: Managing Packages with YUM
- Introduction
- Using YUM to update the system
- Using YUM to search for packages
- Using YUM to install packages
- Using YUM to remove packages
- Keeping YUM clean and tidy
- Knowing your priorities
- Using a third-party repository
- Creating a YUM repository
- Working with the RPM package manager
- Chapter 5: Administering the Filesystem
- Introduction
- Creating a virtual block device
- Formatting and mounting a filesystem
- Using disk quotas
- Maintaining a filesystem
- Extending the capacity of the filesystem
- Chapter 6: Providing Security
- Introduction
- Locking down remote access and hardening SSH
- Installing and configuring fail2ban
- Working with a firewall
- Forging the firewall rules by example
- Generating self-signed certificates
- Using secure alternatives to FTP
- Chapter 7: Building a Network
- Introduction
- Printing with CUPS
- Running a DHCP server
- Using WebDAV for file sharing
- Installing and configuring NFS
- Working with NFS
- Securely sharing resources with Samba
- Chapter 8: Working with FTP
- Introduction
- Installing and configuring the FTP service
- Working with virtual FTP users
- Customizing the FTP service
- Troubleshooting users and file transfers
- Chapter 9: Working with Domains
- Introduction
- Installing and configuring a caching-only nameserver
- Setting up an authoritative-only DNS server
- Creating an integrated nameserver solution
- Populating the domain
- Building a secondary (slave) DNS server
- Chapter 10: Working with Databases
- Introduction
- Installing a MariaDB database server
- Managing a MariaDB database
- Allowing remote access to a MariaDB server
- Installing a PostgreSQL server and managing a database
- Configuring remote access to PostgreSQL
- Installing phpMyAdmin and phpPgAdmin
- Chapter 11: Providing Mail Services
- Introduction
- Configuring a domain-wide mail service with Postfix
- Working with Postfix
- Delivering the mail with Dovecot
- Using Fetchmail
- Chapter 12: Providing Web Services
- Introduction
- Installing Apache and serving web pages
- Enabling system users and building publishing directories
- Implementing name-based hosting
- Implementing CGI with Perl and Ruby
- Installing, configuring, and testing PHP
- Securing Apache
- Setting up HTTPS with Secure Sockets Layer (SSL)
- Chapter 13: Operating System-Level Virtualization
- Introduction
- Installing and configuring Docker
- Downloading an image and running a container
- Creating your own images from Dockerfiles and uploading to Docker Hub
- Setting up and working with a private Docker registry
- Chapter 14: Working with SELinux
- Introduction
- Installing and configuring important SELinux tools
- Working with SELinux security contexts
- Working with policies
- Troubleshooting SELinux
- Chapter 15: Monitoring IT Infrastructure
- Introduction
- Installing and configuring Nagios Core
- Setting up NRPE on remote client hosts
- Monitoring important remote system metrics
- Module 3: Red Hat Enterprise Linux Server Cookbook
- Chapter 1: Working with KVM Guests
- Introduction
- Installing and configuring a KVM
- Configuring resources
- Building guests
- Adding CPUs on the fly
- Adding RAM on the fly
- Adding disks on the fly
- Moving disks to another storage
- Moving VMs
- Backing up your VM metadata
- Chapter 2: Deploying RHEL "En Masse
- Introduction
- Creating a kickstart file
- Publishing your kickstart file using httpd
- Deploying a system using PXE
- Deploying a system using a custom boot ISO file
- Chapter 3: Configuring Your Network
- Introduction
- Creating a VLAN interface
- Creating a teamed interface
- Creating a bridge
- Configuring IPv4 settings
- Configuring your DNS resolvers
- Configuring static network routes
- Chapter 4: Configuring Your New System
- Introduction
- The systemd service and setting runlevels
- Starting and stopping systemd services
- Configuring the systemd journal for persistence
- Monitoring services using journalctl
- Configuring logrotate
- Managing time
- Configuring your boot environment
- Configuring smtp
- Chapter 5: Using SELinux
- Introduction
- Changing file contexts
- Configuring SELinux booleans
- Configuring SELinux port definitions
- Troubleshooting SELinux
- Creating SELinux policies
- Applying SELinux policies
- Chapter 6: Orchestrating with Ansible
- Introduction
- Install Ansible
- Configuring the Ansible inventory
- Creating a template for a kickstart file
- Creating a playbook to deploy a new VM with kickstart
- Creating a playbook to perform system configuration tasks
- Troubleshooting Ansible
- Chapter 7: Puppet Configuration Management
- Introduction
- Installing and configuring Puppet Master
- Installing and configuring the Puppet agent
- Defining a simple module to configure time
- Defining nodes and node grouping
- Deploying modules to single nodes and node groups
- Chapter 8: Yum and Repositories
- Introduction
- Managing yum history
- Creating a copy of an RHN repository
- Configuring additional repositories
- Setting up yum to automatically update
- Configuring logrotate for yum
- Recovering from a corrupted RPM database
- Chapter 9: Securing RHEL 7
- Introduction
- Installing and configuring IPA
- Securing the system login
- Configuring privilege escalation with sudo
- Secure the network with firewalld
- Using kdump and SysRq
- Using ABRT
- Auditing the system
- Chapter 10: Monitoring and Performance Tuning
- Introduction
- Tuning your system's performance
- Setting up PCP - Performance Co-Pilot
- Monitoring basic system performance
- Monitoring CPU performance
- Monitoring RAM performance
- Monitoring storage performance
- Monitoring network performance
- Bibliography
- Index
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.