Practical Linux DevOps: Building a Linux Lab for Modern Software Development
John S. Tonello
Résumé
Having a home or work-based Linux lab is indispensable to anyone looking to experiment with the ever-evolving landscape of new software and DevOps. With open-source tools and readily available hardware, you will end up with a lab you can use to try virtually any modern software, including Chef, Docker, Kubernetes and stalwarts like DNS, Dovecot, and Postfix for email. You'll set up pipelines for software deployment and focus on discrete projects that help you learn through doing. In the end, you'll acquire the skills needed to become better informed, more marketable engineers and developers, and better able to take on a wide array of software projects with confidence.
Practical Linux DevOps is the perfect companion for those who want to learn how to build systems with utility and learn about modern hardware and software practices.
What You'll Learn
- Set up a Linux-based virtualization environment and workstation
- Create a lab network with a fully qualified domain
- Build web-based applications with NGINX and LAMP
- Use version-control tools like Git
- Automate deployments and configurations
- Think like a modern DevOps engineer
New and modestly experienced users with basic understanding of a basic understanding of Windows or Linux command line, as well as would-be and current DevOps engineers, and full-stack and other software developers
1) Introduction
2) Gather your hardware
2.1 The basics: What you'll need to build your lab
2.2 Using new equipment for your lab
2.3 Using old PCs and laptops
2.4 Raspberry Pis and IoT devices
2.5 Building your network
2.6 A few words on networking
2.7 Optionally install Webmin
3) Setting up a virtual environment
3.1 Why it matters
3.2 About ProxMox VE
3.3 About plain KVM
3.4 Graphical deployments vs. the command line
3.5 Set up ProxMox VE
3.6 Set up Plain KVM
3.7 Command line deployments
3.8 Conclusion
4) Set up a DNS server
4.1 Why it matters
4.2 Sketching out your network
4.3 Configure your routers and switches
4.4 Deploy a VM to host the DNS server
4.5 Install bind
4.6 Set up your domain master
4.7 Set up an optional slave
4.8 Enable and start the named service
4.9 Graphical deployments and management
4.10 Containerize it
5) Set up an email server
5.1 Why it matters
5.2 Deploy a VM to host your mail server
5.3 Install Postfix and Dovecot
5.4 Configure Postfix
5.5 Configure SMTP with Dovecot
5.6 Mail server security considerations
5.7 Initial email service tests
5.8 Set up Thunderbird, Evolution or other graphical email client
5.9 Optional SquirrelMail deployment
5.10 Containerize it
6) Set up a LAMP web server
6.1 Why it matters
6.2 Deploy an LXC or VM host
6.3 Configure the host network and name
6.4 Install the web server
6.5 Create your first virtual host
6.6 Install PHP
6.7 Install MariaDB
6.8 Install Adminer or PHPMyAdmin to graphically manager MariaDB
6.9 Create a single-file PHP app and connect it to a MariaDB database
6.10 Containerize it
7) Website alternatives
7.1 Why it matters
7.2 Deploy a different kind of web server
7.3 Try python3 http.server
7.4 Deploy Wordpress
7.5 Configure Wordpress and login
7.6 Containerize it
8) Server management and maintenance
8.1 Why it matters
8.2 Install Webmin on a new or existing host
8.3 Configure Webmin to manage multiple hosts
8.4 Backup your servers
9) Automation with Chef and Ansible
9.1 Why it matters
9.2 Install Ansible
9.3 Install Chef
10) Think DevOps
10.1 Why it matters
10.2 Why containers and microservices are taking over the world
10.3 How automation tools like Ansible and Chef make server configuration easier
10.4 Why deploying applications in containers is so popular
10.5 Taking advantage of these services in your lab
11) Extend your lab
11.1 Why it matters
11.2 Create a Docker host
11.3 Create a GitLab host
11.4 Deploy Kubernetes with Git-based scripts
11.5 Experiment with OpenStack
12) Resources
12.1 Github repo
12.2 Software links
12.3 Helpful sites
12.4 References to software used
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Apress |
Auteur(s) | John S. Tonello |
Parution | 11/08/2022 |
Nb. de pages | 337 |
EAN13 | 9781484283172 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse