# KodeKloud: Beta Courses DevOps Pre-Requisite Course

## DevOps Pre-Requisite Course

### Introduction

- [Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Introduction/Introduction/page.md): This course provides foundational knowledge in DevOps and cloud computing, covering essential topics and practical labs for beginners.
- [Curriculum](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Introduction/Curriculum/page.md): This course provides essential objectives for DevOps and cloud prerequisites, covering Linux basics, networking, source code management, applications, web servers, databases, and multi-tier application deployment.
- [Devops Tools](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Introduction/Devops-Tools/page.md): This guide explores essential DevOps tools and practices for developing, deploying, and monitoring applications from initial idea to production.

### Linux Basics

- [Working your way through the CLI](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/Working-your-way-through-the-CLI/page.md): This lesson covers fundamental Linux CLI concepts essential for efficient command-line operations and system management in the Linux environment.
- [Labs Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/Labs-Introduction/page.md): This article introduces hands-on labs that provide interactive experiences with a live Linux terminal and quiz portal to reinforce learning.
- [VI Editor](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/VI-Editor/page.md): This article explores the vi editor, a powerful text editor in Linux, essential for editing files in DevOps and cloud environments.
- [More Linux Commands](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/More-Linux-Commands/page.md): This article explores essential Linux commands for user management, sudo privileges, file downloading, and operating system identification to enhance system navigation and administration.
- [Package Management](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/Package-Management/page.md): This article explains Linux package management using RPM and Yum for software installation and dependency resolution.
- [Services](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Linux-Basics/Services/page.md): This article explains how to manage Linux services, including creating and configuring custom applications as services using systemd.

### Networking Basics

- [A Quick Reminder](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Networking-Basics/A-Quick-Reminder/page.md): This article emphasizes the importance of completing course materials before setting up a local environment, focusing on Docker image management and running containers.
- [Networking Basics](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Networking-Basics/Networking-Basics/page.md): This lesson explores fundamental networking concepts including switching, routing, gateways, and DNS configurations on Linux for device communication.
- [DNS](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Networking-Basics/DNS/page.md): This lesson introduces DNS on Linux, covering basic concepts, essential commands, and hands-on lab challenges for beginners.

### Applications Basics

- [Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Introduction/page.md): This lesson explores application fundamentals from operations and software development perspectives, emphasizing development, deployment, and troubleshooting with hands-on labs.
- [Java Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Java-Introduction/page.md): This article explores the fundamentals of Java, its installation, tools, and the Java Development Kit for developing applications.
- [Java Build Packaging](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Java-Build-Packaging/page.md): This guide explores building, packaging, and documenting Java applications, highlighting automation with tools like Ant, Maven, and Gradle.
- [NodeJS Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/NodeJS-Introduction/page.md): This article provides an introduction to Node.js and its role in full-stack development, highlighting its server-side capabilities and installation instructions.
- [Node JS NPM](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Node-JS-NPM/page.md): This article explores Node.js package management, focusing on libraries, dependencies, and the npm tool for a smooth development experience.
- [Python Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Python-Introduction/page.md): This lesson offers an in-depth introduction to Python, a widely used programming language for modern applications.
- [Python PIP](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Applications-Basics/Python-PIP/page.md): This article covers the fundamentals of Python package management using PIP, including installation, upgrading, and managing dependencies.

### Source Control Management (SCM)

- [GIT](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Source-Control-Management-SCM/GIT/page.md): This guide explores Git fundamentals, including installation, repository management, and tracking changes in a Python web application.
- [GIT Remote Repositories](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Source-Control-Management-SCM/GIT-Remote-Repositories/page.md): This article explores remote Git repositories, their setup, and how they facilitate collaboration among developers.

### Web Server

- [Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/Introduction/page.md): This article explores server fundamentals, their types, and their importance in cloud computing and application development.
- [Web Servers Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/Web-Servers-Introduction/page.md): This lesson explores web frameworks and servers, their roles, and how they work together to deliver dynamic content over the internet.
- [Apache Web Server](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/Apache-Web-Server/page.md): This guide explores the Apache web server, covering installation, configuration, log management, and virtual hosting on CentOS.
- [Apache Tomcat](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/Apache-Tomcat/page.md): This article explores Apache Tomcat, detailing its installation, directory structure, and web application deployment on a CentOS machine.
- [Python Deploy Flask App](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/Python-Deploy-Flask-App/page.md): This article provides a step-by-step guide on deploying a Python web application using the Flask framework.
- [NodeJS Deploy Express App](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/NodeJS-Deploy-Express-App/page.md): This lesson covers deploying an Express.js application, including project structure, configuration, dependency management, and best practices for production environments.
- [IPs and Ports](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Web-Server/IPs-and-Ports/page.md): This lesson explores IP addresses and ports, helping beginners troubleshoot connectivity issues in web applications.

### Database Basics

- [Introduction](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Database-Basics/Introduction/page.md): This lesson explores database fundamentals essential for Cloud and DevOps engineering, focusing on SQL and NoSQL databases and their differences.
- [MySQL](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Database-Basics/MySQL/page.md): Learn the fundamentals of MySQL, including installation, configuration, basic commands, and user management for effective database management.
- [MongoDB](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Database-Basics/MongoDB/page.md): This guide introduces MongoDB, covering installation, configuration, basic operations, and troubleshooting of a scalable NoSQL document database.

### Security

- [SSL TLS Basics](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Security/SSL-TLS-Basics/page.md): This article covers the fundamentals of SSL/TLS certificates, their importance for secure communications, and configuration for protecting SSH and web servers.

### General Pre-Requisites

- [YAML](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/General-Pre-Requisites/YAML/page.md): This comprehensive guide covers the structure and usage of YAML files for representing configuration data with clear examples and hands-on exercises.
- [JSON JSON Path](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/General-Pre-Requisites/JSON-JSON-Path/page.md): This lesson introduces JSONPath, a query language for JSON, covering comparisons with YAML, querying techniques, and practice exercises for beginners.

### 2 Tier Applications

- [KodeKloud E Commerce Application](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/2-Tier-Applications/KodeKloud-E-Commerce-Application/page.md): This tutorial explains deploying the KodeKloud e-commerce website using a LAMP stack with detailed setup instructions and configurations.
- [Demo KodeKloud E Commerce Application](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/2-Tier-Applications/Demo-KodeKloud-E-Commerce-Application/page.md): This guide explains how to deploy the KodeKloud e-commerce application on a CentOS machine, covering prerequisites, database setup, and web application deployment.

### Lab Setup

- [Virtual Box](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Virtual-Box/page.md): This article explains setting up a personal lab environment using VirtualBox for learning DevOps and cloud technologies through customizable virtual machines.
- [Demo Install VirtualBox on MacOS](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Install-VirtualBox-on-MacOS/page.md): This guide explains how to install VirtualBox on macOS and deploy a pre-configured CentOS virtual machine.
- [Demo Install VirtualBox on Windows](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Install-VirtualBox-on-Windows/page.md): This article provides a step-by-step guide to install and set up VirtualBox on Windows for creating a virtual machine.
- [Virtual Box Connectivity](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Virtual-Box-Connectivity/page.md): This article explains how to connect to a virtual machine in Oracle VirtualBox, covering normal and headless modes, remote access, and troubleshooting tips.
- [Demo Connecting to VM on Mac](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Connecting-to-VM-on-Mac/page.md): This guide demonstrates connecting to a Linux VM on Mac using VirtualBox with different network configurations.
- [Demo Connecting to VM on Windows](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Connecting-to-VM-on-Windows/page.md): This guide explains how to connect to a CentOS virtual machine from a Windows system using SSH.
- [Virtual Box Networking](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Virtual-Box-Networking/page.md): This article explores networking options in VirtualBox, including NAT, bridged, and host-only networks, and provides guidance on configuration and troubleshooting.
- [Demo Multiple VMs Networking](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Multiple-VMs-Networking/page.md): This lesson covers deploying multiple VMs on VirtualBox and configuring networking, cloning VMs, and utilizing snapshot functionalities for backup and recovery.
- [Vagrant](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Vagrant/page.md): This article introduces Vagrant, a tool that automates the deployment and configuration of virtual machines, simplifying repetitive tasks in managing complex environments.
- [Demo Vagrant](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Lab-Setup/Demo-Vagrant/page.md): This guide teaches how to deploy a virtual machine using Vagrant, covering installation, configuration, resource management, and troubleshooting.

### Conclusion

- [Conclusion](https://notes.kodekloud.com/docs/DevOps-Pre-Requisite-Course/Conclusion/Conclusion/page.md): This article concludes a DevOps Prerequisites course and suggests further specialized courses to enhance skills in DevOps and Cloud technologies.
