Configuring Linux Web Servers



Important information

  • Course
  • Online
  • When:

Serve a data-driven web application as you become acquainted with, configure and finally secure a Ubuntu Linux web application server.

Important information

Where and when

Starts Location

What you'll learn on the course

Application Server
Web servers
Basic IT training
Database training
Basic IT
IT Security
Operating System

Course programme

Approx. 1 weeks

Assumes 6hrs/wk (work at your own pace)

Join thousands of students Course 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.

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.

Prerequisites and Requirements

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.

See the Technology Requirements for using Udacity.

What Will I Learn? Projects Project: Linux Server Configuration You will take a baseline installation of a Linux distribution on a virtual machine and prepare it to host your web applications, to include installing updates, securing it from a number of attack vectors and installing/configuring web and database servers. *Note:* If you have no experience working in the shell we recommend starting withLinux Command Line Basics. Otherwise, you can jump straight intoConfiguring Linux Web Servers. Syllabus Overview

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.