Skip to content

Configuring Linux Web Servers

Free Course

Your First Ubuntu Server

Related Nanodegree Program

Introduction to Programming

About this course

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.

What you will learn

  1. Intro to Linux
    • Introduction to the Linux operating system and its many distributions.
    • Setup your very own Linux virtual machine on your own computer and explore it.
    • Learn how the filesystem is organized and identify key files.
  2. Linux Security
    • Execute administrative tasks, update the software on your system, install new software, and manage users.
    • Learn how to implement even stronger authentication mechanisms, and how to interpret Linux file permissions.
    • Configure a firewall to keep your system secure.
  3. Web Application Servers
    • Transform your secure and safe barebones server into a fully functional web application server.
    • Install and configure an Apache HTTP Server and PostgreSQL database server.
    • Write a basic Python WSGI application that can query a database and present that data upon a web request.

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.

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.

Learn with the best.

  • Michael Wales
    Michael Wales

    Instructor