Overview
Linux is an open source operating system that is popular among developers because of its stability, flexibility, and customizability.
In this instructor-led, live training, participants will learn how to transition from developing web applications on Windows to developing on Linux.
By the end of this training, participants will be able to:
- Understand the fundamentals of the Linux OS and its differences with the Windows OS
- Install Linux and get familiarized with the Linux environment
- Execute Linux commands
- Secure Linux by learning the basics of Linux system administration and user management
- Start developing web applications on Linux
Audience
- Web application developers
- People interested in developing on Linux
- Windows users who wish to switch to Linux
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Requirements
- Basic programming experience
Course Outline
Introduction
Pros and Cons of Web App Development on Linux
Choosing a Linux Distribution for Web App Development
Installing Linux on Windows
- Using VirtualBox
- Using Dual Boot
Understanding the Architectural Differences Between Linux and Windows
Understanding the Linux Directory Structure
Working within the Linux Environment
- The Linux Shell and Terminal
- System Components and Administration
- Using Essential Linux Commands
- Working with the Linux File System
- Using Wildcards
- Using Pipes and Redirection
- Working with Inputs and Outputs
- Using Graphical Environments and User Interfaces
Setting Up SSH (Secure Shell) on Linux
Connecting to a Remote Desktop with VNC
Configuring the Shell
- Customizing the Shell Prompt
- Using Shell Aliases
Advanced Shell Techniques: Shell History and Tab Completion
Managing Environment Variables on Linux
Displaying and Controlling Processes on Linux
Scheduling and Automating Jobs Using Cron
Managing Users, Groups, and Permissions on Linux
Managing Packages on Linux
Configuring the Network on Linux
- The Network Manager Command Line
- Network Clients
Securing the Linux Workstation
Setting up a Development Stack
- Apache, MySQL, PHP/Python/Javascript/Ruby/Java)
Installing and Using Git on Linux
Working with Open Source Editors and Development Tools on Linux
Running a Web Application Framework on Linux
- Django (Python)
- Zend (PHP)
- RoR (Ruby on Rails)
- Node.js (Javascript)
- Spring Framework (Java)
Setting up an Application Server on Linux
- JBoss
- Zope
- Servlet Engines
Testing a Web Application in Linux
- Test Automation Frameworks: from Unit Testing to Web Drivers
Debugging a Web Application in Linux
- Chrome, Firefox, Fiddler, etc.
Tools and Techniques for Agile Development on Linux
- Setting up a Simple Continuous Build Environment with Jenkins
- Building, Testing, and Deploying with Containers (LXC and Docker)
Troubleshooting
Closing Remarks