
Configuring Linux Web Servers
Summary
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.
Expected Learning
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.
Syllabus
OverviewThis 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 LinuxIn 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 SecurityAs 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 ServersIn 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.
Required Knowledge
You should be comfortable with your terminal and working within a shell, if you need a refresher take a look at our Intro to the Shell.
To actually get a web application up and running you should be familiar with the Python programming language and PostgreSQL. Programming Foundations with Python and Intro to Relational Databases can help you get up to speed if you feel you need some additional practice.