Deploying a Secure Virtual Private Server with Ubuntu 14.04

Setting up a secure instance of Ubuntu 14.04 with NGINX, Apache, PHP 5.6, MariaDB, PostgreSQL, Redis and Git.
4.8 (27 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
270 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 30
  • Length 2 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2015 English

Course Description

Many developers have been turning to Virtual Private Servers to host their projects, and with good reason: unlike in a shared hosting environment, you are not running the risk of someone else's badly written code resulting in poor performance or (worse yet) your site being compromised because of someone else's insecure programming. But setting up a secure VPS takes a bit of work. This course will take you through the basics of setting up a fast, secure VPS on either DigitalOcean or Vultr. We'll set up an Ubuntu 14.04 server with the most commonly needed software.

What are the requirements?

  • The only thing you will need is a Mac, PC, or Linux machine, and a $5.00/month account on Digital Ocean or Vultr.com

What am I going to get from this course?

  • Purchase and install a VPS on Digital Ocean or Vultr.com
  • Lock down and configure SSH with public/private keys
  • Configure a robust, secure firewall
  • Install and configure NGINX
  • Set up virtual hosts on NGINX
  • Set up SSL enabled virtual hosts on NGINX with a free, valid SSL certificate
  • Install and configure MariaDB, a drop-in replacement for MySQL
  • Install and configure PostgreSQL
  • Install and configure Redis, a name/value pair server
  • Install Git
  • Learn about regular server maintenance

What is the target audience?

  • This course is intended for developers who are not familiar with setting up a Linux based server

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
Introduction
Preview
04:49
Choosing (and purchasing) our VPS instance
03:37
Section 2: Getting started with our VPS
Vi & Pico
03:34
Add a non-root user account
04:24
Key Generation
Article
Setting up public/private keys for our non-root user
03:34
Setting up public/private keys for Windows Users
05:02
Section 3: Configuring SSH
Locking down SSH
05:07
Verify SSH changes
01:11
What about FTP?
01:08
Section 4: Firewall
Installing ConfigServer Firewall
Preview
07:02
Configuring ConfigServer Firewall
01:55
Section 5: Setting up the Operating System
Setting the hostname
02:08
apt-get update & apt-get upgrade
01:12
Installing some helpful tools
03:50
Setting up swap space
Preview
04:55
Section 6: NGINX & PHP
Installing NGINX
07:21
Setting up PHP for NGINX
05:02
Virtual hosts in NGINX
05:55
SSL certificates from LetsEncrypt.org
15:55
Renewing SSL certs from LetsEncrypt.org
03:09
SSL hosts in NGINX
06:45
Installing our StartSSL SSL certificate
06:41
Testing our SSL enabled site
05:33
Section 7: Setting up Our Databases
Installing MariaDB
03:04
Connecting to MariaDB remotely through ssh
01:50
Installing PostgreSQL
01:57
Installing Redis
02:02
Installing Git
01:20
Section 8: Regular Maintenance
Regular maintenance of our server
03:17

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

I have twenty years of experience in professional software development, and twenty years of experience as a University level educator and researcher.

As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.

As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technologies.

I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research efforts as a University professor.

Ready to start learning?
Take This Course