In this course you'll learn the basic Linux fundamentals every web developer needs to know to share their web applications with the world! You'll get a basic Python WSGI application up and running within a Vagrant virtual machine that queries data from a PostgreSQL database.
You'll start by exploring various Linux distributions and learning the differences between a number of them. You'll then explore how the Linux operating system differs from other operating systems you may be more familiar with. With this base knowledge, you'll then move into Linux security - covering topics such as file permissions, user management, package management and configuring firewalls. Finally, you'll transform a safe and secure baseline server into a web application server by installing and configuring the Apache HTTP Server and PostgreSQL database server.
Why Take This Course? A basic understanding of linux systems administration is required to not only get your web application up and running for the world to see, but also to ensure it continues operating efficiently. In this course, you’ll explore a bare-bones linux system and how it differs from desktop environments you are currently familiar with. You’ll then address a number of security concerns full stack developers must contend with and, finally, serve one of your applications from your very own piece of the Internet.
This course consists of 3 lessons which will take you from absolutely zero knowledge about the Linux operating system all the way to hosting your very own data-driven application that is publically accessible to everyone in the world!
## Lesson 1 - Intro to Linux
In this lesson you will be introduced to the Linux operating system and the various available distributions. You will then setup your very own Linux virtual machine on your own computer and explore that system, learning how the filesystem is organized and identifying key files.
## Lesson 2- Linux Security
As you unleash your new server onto the Internet you'll need to be a good citizen - and this means, **security**! In this lesson, you'll learn how to execute administrative tasks, update the software on your system, install new software, and manage users. You'll then learn how to implement even stronger authentication mechanisms, how to interpret Linux file permission and, finally, how to configure a firewall to keep your system secure.
## Lesson 3 - Web Application Servers
In this lesson you'll transform your secure and safe barebones server into a fully functional web application server by installing and configuring the Apache HTTP Server and PostgreSQL database server. You'll then write a very basic Python WSGI application that can query a database and present that data upon a web request.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.