Zenler Player
Your course is loading. Hang tight.
Deploying a Secure Virtual Private Server with Ubuntu
Back to curriculum
0% Complete
0% Complete
Introduction
Choosing a VPS provider
Choosing the right type of server and deploying our VPS
A note about the Linux commands I'll be using
Connecting to our server for the first time
Setting up a non-root user account
Updating the system
Using the command line to get around our VPS
Adding and deleting users and file ownership
File permissions
Editors: vi and pico
Copying files
Introduction
Generating public & private keys for Mac & Linux
A note for Windows Users
Generating public/private keys for Windows
Copying our public key to the server
Spinning up new servers with your ssh public key
Modifying the sshd_config to require keys, and prevent root login
Additional SSH changes
Installing fail2ban
What about FTP?
More about ufw, the Uncomplicated Firewall
Setting up basic ufw rules
More complicated rules
Deleting rules
Enabling/disabling the firewall
What about cloud firewalls?
Cheat Sheet
Server name - hostname
Pointing DNS to our VP
Setting the timezone
Installing some helpful tools
How and when should you resize your VPS?
NGINX, Apache, and Caddy -- which one?
Setting up Apache
Adding a virtual host in Apache
Enable LetsEncrypt on Apache
Apache logs & starting and stopping the server
Setting up NGINX
Adding a virtual host in NGINX
Enable LetsEncrypt on NGINX
NGINX logs & starting and stopping the server
Setting up Caddy
A note about Caddy 2.5
Adding a virtual host in Caddy
Caddy logs & starting and stopping Caddy
Installing PHP
Installing PHP for Apache
Installing PHP for NGINX
Installing PHP for Caddy
Installing composer
Installing MariaDB, a drop in replacement for MySQL
Configuring and connecting to MariaDB
Connecting to MariaDB remotely using a GUI client
Installing Postgres
Connecting to postgres
Connecting to Postgres remotely using a GUI client
Installing Redis
What do I mean by a web app?
Copying our application to the server
Managing the application status with supervisor
Proxying to the web application
Optional: enable automatic updates
Backups
Final thoughts and suggestions
Introduction
Introduction
Preview
Choosing a VPS provider
Preview
Choosing the right type of server and deploying our VPS
A note about the Linux commands I'll be using
Connecting to our server for the first time
Setting up a non-root user account
Preview
Updating the system
Getting started with our VPS
Using the command line to get around our VPS
Adding and deleting users and file ownership
File permissions
Editors: vi and pico
Copying files
Locking Down SSH
Introduction
Generating public & private keys for Mac & Linux
A note for Windows Users
Generating public/private keys for Windows
Copying our public key to the server
Spinning up new servers with your ssh public key
Modifying the sshd_config to require keys, and prevent root login
Additional SSH changes
Installing fail2ban
What about FTP?
Firewall
More about ufw, the Uncomplicated Firewall
Setting up basic ufw rules
More complicated rules
Deleting rules
Enabling/disabling the firewall
What about cloud firewalls?
Cheat Sheet
Setting up the operating system
Server name - hostname
Pointing DNS to our VP
Setting the timezone
Installing some helpful tools
How and when should you resize your VPS?
Choosing and installing a web server
NGINX, Apache, and Caddy -- which one?
Setting up Apache
Adding a virtual host in Apache
Enable LetsEncrypt on Apache
Preview
Apache logs & starting and stopping the server
Setting up NGINX
Adding a virtual host in NGINX
Enable LetsEncrypt on NGINX
NGINX logs & starting and stopping the server
Setting up Caddy
A note about Caddy 2.5
Adding a virtual host in Caddy
Caddy logs & starting and stopping Caddy
Installing PHP
Installing PHP
Installing PHP for Apache
Installing PHP for NGINX
Installing PHP for Caddy
Installing composer
Databases
Installing MariaDB, a drop in replacement for MySQL
Configuring and connecting to MariaDB
Connecting to MariaDB remotely using a GUI client
Installing Postgres
Connecting to postgres
Preview
Connecting to Postgres remotely using a GUI client
Installing Redis
Installing web applications
What do I mean by a web app?
Copying our application to the server
Managing the application status with supervisor
Proxying to the web application
Preview
Regular Maintenance
Optional: enable automatic updates
Backups
Final thoughts and suggestions
×
This is an unpublished lesson. This lesson will not be shown for students unless you set it as Public.
Back to Dashboard
No contents are available in this lesson!
No lessons available !
Back to Dashboard
Lesson contents locked
Enroll to unlock this lesson.
Enroll to unlock
Next Lesson